mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-08 00:24:43 +02:00
Compare commits
8 Commits
fix/v6/fix
...
6.5.0
Author | SHA1 | Date | |
---|---|---|---|
78125ff1e2 | |||
d7c8715b25 | |||
34f005c244 | |||
6fbd1376ca | |||
951767dc64 | |||
16928b05f1 | |||
fff14b05cb | |||
e619c867e9 |
2
.github/workflows/release-drafter.yml
vendored
2
.github/workflows/release-drafter.yml
vendored
@ -14,6 +14,6 @@ jobs:
|
|||||||
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
|
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: release-drafter/release-drafter@v5.17.6
|
- uses: release-drafter/release-drafter@v5.18.1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
@ -28,6 +28,7 @@ package com.plotsquared.core.command;
|
|||||||
import com.plotsquared.core.configuration.caption.Caption;
|
import com.plotsquared.core.configuration.caption.Caption;
|
||||||
import com.plotsquared.core.configuration.caption.LocaleHolder;
|
import com.plotsquared.core.configuration.caption.LocaleHolder;
|
||||||
import com.plotsquared.core.configuration.caption.TranslatableCaption;
|
import com.plotsquared.core.configuration.caption.TranslatableCaption;
|
||||||
|
import com.plotsquared.core.player.PlotPlayer;
|
||||||
import org.checkerframework.checker.nullness.qual.NonNull;
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -95,4 +96,16 @@ public enum CommandCategory implements Caption {
|
|||||||
public String getComponent(@NonNull LocaleHolder localeHolder) {
|
public String getComponent(@NonNull LocaleHolder localeHolder) {
|
||||||
return this.caption.getComponent(localeHolder);
|
return this.caption.getComponent(localeHolder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a player has access to this command category
|
||||||
|
*
|
||||||
|
* @param player The player to check against
|
||||||
|
* @return {@code true} if at least one command of this category can be executed by the player, {@code false} otherwise
|
||||||
|
* @since 6.5.0
|
||||||
|
*/
|
||||||
|
boolean canAccess(PlotPlayer<?> player) {
|
||||||
|
return !MainCommand.getInstance().getCommands(this, player).isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -37,11 +37,11 @@ import net.kyori.adventure.text.Component;
|
|||||||
import net.kyori.adventure.text.TextComponent;
|
import net.kyori.adventure.text.TextComponent;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
@CommandDeclaration(command = "help",
|
@CommandDeclaration(command = "help",
|
||||||
aliases = "?",
|
aliases = "?",
|
||||||
@ -119,6 +119,9 @@ public class Help extends Command {
|
|||||||
TextComponent.Builder builder = Component.text();
|
TextComponent.Builder builder = Component.text();
|
||||||
builder.append(MINI_MESSAGE.parse(TranslatableCaption.of("help.help_header").getComponent(player)));
|
builder.append(MINI_MESSAGE.parse(TranslatableCaption.of("help.help_header").getComponent(player)));
|
||||||
for (CommandCategory c : CommandCategory.values()) {
|
for (CommandCategory c : CommandCategory.values()) {
|
||||||
|
if (!c.canAccess(player)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
builder.append(Component.newline()).append(MINI_MESSAGE
|
builder.append(Component.newline()).append(MINI_MESSAGE
|
||||||
.parse(
|
.parse(
|
||||||
TranslatableCaption.of("help.help_info_item").getComponent(player),
|
TranslatableCaption.of("help.help_info_item").getComponent(player),
|
||||||
@ -152,12 +155,26 @@ public class Help extends Command {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Collection<Command> tab(PlotPlayer<?> player, String[] args, boolean space) {
|
public Collection<Command> tab(PlotPlayer<?> player, String[] args, boolean space) {
|
||||||
return Stream.of("claiming", "teleport", "settings", "chat", "schematic", "appearance", "info", "debug",
|
final String argument = args[0].toLowerCase(Locale.ENGLISH);
|
||||||
"administration", "all"
|
List<Command> result = new ArrayList<>();
|
||||||
)
|
|
||||||
.filter(value -> value.startsWith(args[0].toLowerCase(Locale.ENGLISH)))
|
for (final CommandCategory category : CommandCategory.values()) {
|
||||||
.map(value -> new Command(null, false, value, "", RequiredType.NONE, null) {
|
if (!category.canAccess(player)) {
|
||||||
}).collect(Collectors.toList());
|
continue;
|
||||||
|
}
|
||||||
|
String name = category.name().toLowerCase();
|
||||||
|
if (!name.startsWith(argument)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
result.add(new Command(null, false, name, "", RequiredType.NONE, null) {
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// add the category "all"
|
||||||
|
if ("all".startsWith(argument)) {
|
||||||
|
result.add(new Command(null, false, "all", "", RequiredType.NONE, null) {
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -128,7 +128,7 @@ public class ComponentPresetManager {
|
|||||||
0,
|
0,
|
||||||
"",
|
"",
|
||||||
"<rainbow:2>Disco Floor</rainbow>",
|
"<rainbow:2>Disco Floor</rainbow>",
|
||||||
Arrays.asList("<gold>Spice up your plot floor</gold>"),
|
List.of("<gold>Spice up your plot floor</gold>"),
|
||||||
ItemTypes.YELLOW_WOOL
|
ItemTypes.YELLOW_WOOL
|
||||||
));
|
));
|
||||||
yamlConfiguration.set("presets", defaultPreset.stream().map(ComponentPreset::serialize).collect(Collectors.toList()));
|
yamlConfiguration.set("presets", defaultPreset.stream().map(ComponentPreset::serialize).collect(Collectors.toList()));
|
||||||
@ -181,6 +181,10 @@ public class ComponentPresetManager {
|
|||||||
}
|
}
|
||||||
allowedPresets.add(componentPreset);
|
allowedPresets.add(componentPreset);
|
||||||
}
|
}
|
||||||
|
if (allowedPresets.isEmpty()) {
|
||||||
|
player.sendMessage(TranslatableCaption.of("preset.empty"));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
final int size = (int) Math.ceil((double) allowedPresets.size() / 9.0D);
|
final int size = (int) Math.ceil((double) allowedPresets.size() / 9.0D);
|
||||||
final PlotInventory plotInventory = new PlotInventory(this.inventoryUtil, player, size,
|
final PlotInventory plotInventory = new PlotInventory(this.inventoryUtil, player, size,
|
||||||
TranslatableCaption.of("preset.title").getComponent(player)) {
|
TranslatableCaption.of("preset.title").getComponent(player)) {
|
||||||
@ -210,7 +214,13 @@ public class ComponentPresetManager {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (componentPreset.getCost() > 0.0D && econHandler.isEnabled(plot.getArea())) {
|
if (componentPreset.getCost() > 0.0D) {
|
||||||
|
if (!econHandler.isEnabled(plot.getArea())) {
|
||||||
|
getPlayer().sendMessage(
|
||||||
|
TranslatableCaption.of("preset.economy_disabled"),
|
||||||
|
Template.of("preset", componentPreset.getDisplayName()));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (econHandler.getMoney(getPlayer()) < componentPreset.getCost()) {
|
if (econHandler.getMoney(getPlayer()) < componentPreset.getCost()) {
|
||||||
getPlayer().sendMessage(TranslatableCaption.of("preset.preset_cannot_afford"));
|
getPlayer().sendMessage(TranslatableCaption.of("preset.preset_cannot_afford"));
|
||||||
return false;
|
return false;
|
||||||
@ -246,12 +256,17 @@ public class ComponentPresetManager {
|
|||||||
for (int i = 0; i < allowedPresets.size(); i++) {
|
for (int i = 0; i < allowedPresets.size(); i++) {
|
||||||
final ComponentPreset preset = allowedPresets.get(i);
|
final ComponentPreset preset = allowedPresets.get(i);
|
||||||
final List<String> lore = new ArrayList<>();
|
final List<String> lore = new ArrayList<>();
|
||||||
if (preset.getCost() > 0 && this.econHandler.isEnabled(plot.getArea())) {
|
if (preset.getCost() > 0) {
|
||||||
|
if (!this.econHandler.isEnabled(plot.getArea())) {
|
||||||
|
lore.add(MINI_MESSAGE.serialize(MINI_MESSAGE.parse(
|
||||||
|
TranslatableCaption.of("preset.preset_lore_economy_disabled").getComponent(player))));
|
||||||
|
} else {
|
||||||
lore.add(MINI_MESSAGE.serialize(MINI_MESSAGE.parse(
|
lore.add(MINI_MESSAGE.serialize(MINI_MESSAGE.parse(
|
||||||
TranslatableCaption.of("preset.preset_lore_cost").getComponent(player),
|
TranslatableCaption.of("preset.preset_lore_cost").getComponent(player),
|
||||||
Template.of("cost", String.format("%.2f", preset.getCost()))
|
Template.of("cost", String.format("%.2f", preset.getCost()))
|
||||||
)));
|
)));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
lore.add(MINI_MESSAGE.serialize(MINI_MESSAGE.parse(
|
lore.add(MINI_MESSAGE.serialize(MINI_MESSAGE.parse(
|
||||||
TranslatableCaption.of("preset.preset_lore_component").getComponent(player),
|
TranslatableCaption.of("preset.preset_lore_component").getComponent(player),
|
||||||
Template.of("component", preset.getComponent().name().toLowerCase()),
|
Template.of("component", preset.getComponent().name().toLowerCase()),
|
||||||
|
@ -174,21 +174,9 @@ public class PlotListener {
|
|||||||
String greeting = plot.getFlag(GreetingFlag.class);
|
String greeting = plot.getFlag(GreetingFlag.class);
|
||||||
if (!greeting.isEmpty()) {
|
if (!greeting.isEmpty()) {
|
||||||
if (!Settings.Chat.NOTIFICATION_AS_ACTIONBAR) {
|
if (!Settings.Chat.NOTIFICATION_AS_ACTIONBAR) {
|
||||||
player.sendMessage(
|
plot.format(StaticCaption.of(greeting), player, false).thenAcceptAsync(player::sendMessage);
|
||||||
TranslatableCaption.of("flags.greeting_flag_format"),
|
|
||||||
Template.of("world", plot.getWorldName()),
|
|
||||||
Template.of("plot_id", plot.getId().toString()),
|
|
||||||
Template.of("alias", plot.getAlias()),
|
|
||||||
Template.of("greeting", greeting)
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
player.sendActionBar(
|
plot.format(StaticCaption.of(greeting), player, false).thenAcceptAsync(player::sendActionBar);
|
||||||
TranslatableCaption.of("flags.greeting_flag_format"),
|
|
||||||
Template.of("world", plot.getWorldName()),
|
|
||||||
Template.of("plot_id", plot.getId().toString()),
|
|
||||||
Template.of("alias", plot.getAlias()),
|
|
||||||
Template.of("greeting", greeting)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -413,21 +401,9 @@ public class PlotListener {
|
|||||||
String farewell = plot.getFlag(FarewellFlag.class);
|
String farewell = plot.getFlag(FarewellFlag.class);
|
||||||
if (!farewell.isEmpty()) {
|
if (!farewell.isEmpty()) {
|
||||||
if (!Settings.Chat.NOTIFICATION_AS_ACTIONBAR) {
|
if (!Settings.Chat.NOTIFICATION_AS_ACTIONBAR) {
|
||||||
player.sendMessage(
|
plot.format(StaticCaption.of(farewell), player, false).thenAcceptAsync(player::sendMessage);
|
||||||
TranslatableCaption.of("flags.farewell_flag_format"),
|
|
||||||
Template.of("world", plot.getWorldName()),
|
|
||||||
Template.of("plot_id", plot.getId().toString()),
|
|
||||||
Template.of("alias", plot.getAlias()),
|
|
||||||
Template.of("farewell", farewell)
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
player.sendActionBar(
|
plot.format(StaticCaption.of(farewell), player, false).thenAcceptAsync(player::sendActionBar);
|
||||||
TranslatableCaption.of("flags.farewell_flag_format"),
|
|
||||||
Template.of("world", plot.getWorldName()),
|
|
||||||
Template.of("plot_id", plot.getId().toString()),
|
|
||||||
Template.of("alias", plot.getAlias()),
|
|
||||||
Template.of("farewell", farewell)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ public class PlotInventory {
|
|||||||
* @param item the item to place
|
* @param item the item to place
|
||||||
* @return {@code true} if the item could be placed, otherwise {@code false}
|
* @return {@code true} if the item could be placed, otherwise {@code false}
|
||||||
* @see InventoryUtil#setItemChecked(PlotInventory, int, PlotItemStack)
|
* @see InventoryUtil#setItemChecked(PlotInventory, int, PlotItemStack)
|
||||||
* @since TODO
|
* @since 6.5.0
|
||||||
*/
|
*/
|
||||||
public boolean setItemChecked(int index, PlotItemStack item) {
|
public boolean setItemChecked(int index, PlotItemStack item) {
|
||||||
if (!this.inventoryUtil.setItemChecked(this, index, item)) {
|
if (!this.inventoryUtil.setItemChecked(this, index, item)) {
|
||||||
|
@ -54,7 +54,7 @@ public class PlotItemStack {
|
|||||||
* @param amount Amount of items in the stack
|
* @param amount Amount of items in the stack
|
||||||
* @param name The display name of the item stack
|
* @param name The display name of the item stack
|
||||||
* @param lore The item stack lore
|
* @param lore The item stack lore
|
||||||
* @since TODO
|
* @since 6.5.0
|
||||||
*/
|
*/
|
||||||
public PlotItemStack(
|
public PlotItemStack(
|
||||||
final ItemType type, final int amount, final String name,
|
final ItemType type, final int amount, final String name,
|
||||||
|
@ -136,6 +136,7 @@ public class ExpireManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void confirmExpiry(final PlotPlayer<?> pp) {
|
public void confirmExpiry(final PlotPlayer<?> pp) {
|
||||||
|
TaskManager.runTask(() -> {
|
||||||
try (final MetaDataAccess<Boolean> metaDataAccess = pp.accessTemporaryMetaData(
|
try (final MetaDataAccess<Boolean> metaDataAccess = pp.accessTemporaryMetaData(
|
||||||
PlayerMetaDataKeys.TEMPORARY_IGNORE_EXPIRE_TASK)) {
|
PlayerMetaDataKeys.TEMPORARY_IGNORE_EXPIRE_TASK)) {
|
||||||
if (metaDataAccess.isPresent()) {
|
if (metaDataAccess.isPresent()) {
|
||||||
@ -147,7 +148,6 @@ public class ExpireManager {
|
|||||||
Iterator<Plot> iter = plotsToDelete.iterator();
|
Iterator<Plot> iter = plotsToDelete.iterator();
|
||||||
final Plot current = iter.next();
|
final Plot current = iter.next();
|
||||||
if (!isExpired(new ArrayDeque<>(tasks), current).isEmpty()) {
|
if (!isExpired(new ArrayDeque<>(tasks), current).isEmpty()) {
|
||||||
TaskManager.runTask(() -> {
|
|
||||||
metaDataAccess.set(true);
|
metaDataAccess.set(true);
|
||||||
current.getCenter(pp::teleport);
|
current.getCenter(pp::teleport);
|
||||||
metaDataAccess.remove();
|
metaDataAccess.remove();
|
||||||
@ -171,7 +171,6 @@ public class ExpireManager {
|
|||||||
cmd_keep,
|
cmd_keep,
|
||||||
cmd_no_show_expir
|
cmd_no_show_expir
|
||||||
);
|
);
|
||||||
});
|
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
iter.remove();
|
iter.remove();
|
||||||
@ -180,6 +179,7 @@ public class ExpireManager {
|
|||||||
plotsToDelete.clear();
|
plotsToDelete.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -307,6 +307,7 @@ public class ExpireManager {
|
|||||||
this.running = 2;
|
this.running = 2;
|
||||||
TaskManager.runTaskAsync(new Runnable() {
|
TaskManager.runTaskAsync(new Runnable() {
|
||||||
private ConcurrentLinkedDeque<Plot> plots = null;
|
private ConcurrentLinkedDeque<Plot> plots = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final Runnable task = this;
|
final Runnable task = this;
|
||||||
|
@ -45,7 +45,7 @@ public abstract class InventoryUtil {
|
|||||||
* @param index The index where to place the item
|
* @param index The index where to place the item
|
||||||
* @param item The item to place into the inventory
|
* @param item The item to place into the inventory
|
||||||
* @return {@code true} if the item could be placed, {@code false} otherwise (e.g. item not available in current version)
|
* @return {@code true} if the item could be placed, {@code false} otherwise (e.g. item not available in current version)
|
||||||
* @since TODO
|
* @since 6.5.0
|
||||||
*/
|
*/
|
||||||
public abstract boolean setItemChecked(
|
public abstract boolean setItemChecked(
|
||||||
final PlotInventory plotInventory, final int index,
|
final PlotInventory plotInventory, final int index,
|
||||||
|
@ -52,8 +52,7 @@ public class HelpMenu {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public HelpMenu getCommands() {
|
public HelpMenu getCommands() {
|
||||||
this.commands =
|
this.commands = MainCommand.getInstance().getCommands(this.commandCategory, this.commandCaller);
|
||||||
MainCommand.getInstance().getCommands(this.commandCategory, this.commandCaller);
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -460,9 +460,12 @@
|
|||||||
"backups.backup_automatic_failure": "<prefix><red>The automatic backup process failed. Your pending action has been canceled. Reason: </red><gray><reason></gray>",
|
"backups.backup_automatic_failure": "<prefix><red>The automatic backup process failed. Your pending action has been canceled. Reason: </red><gray><reason></gray>",
|
||||||
"preset.preset_cannot_afford": "<prefix><red>You cannot afford that preset.</red>",
|
"preset.preset_cannot_afford": "<prefix><red>You cannot afford that preset.</red>",
|
||||||
"preset.preset_invalid": "<prefix><red>Could not generate a pattern from that preset.</red>",
|
"preset.preset_invalid": "<prefix><red>Could not generate a pattern from that preset.</red>",
|
||||||
"preset.preset_lore_cost": "<prefix><gray>Cost: </gray><gold><cost></gold>",
|
"preset.preset_lore_cost": "<gray>Cost: </gray><gold><cost></gold>",
|
||||||
|
"preset.preset_lore_economy_disabled": "<gray>Cost: </gray><red>Economy is disabled</red>",
|
||||||
"preset.preset_lore_component": "<gray>Component: </gray><gold><component></gold>",
|
"preset.preset_lore_component": "<gray>Component: </gray><gold><component></gold>",
|
||||||
"preset.title": "Plot Components",
|
"preset.title": "Plot Components",
|
||||||
|
"preset.empty": "<prefix><red>No plot component presets available.</red>",
|
||||||
|
"preset.economy_disabled": "<prefix><red>The component preset '<preset>' has a price set but economy is disabled.</red>",
|
||||||
"generic.generic_other": "<gray>other</gray>",
|
"generic.generic_other": "<gray>other</gray>",
|
||||||
"generic.generic_merged": "<gray>merged</gray>",
|
"generic.generic_merged": "<gray>merged</gray>",
|
||||||
"generic.generic_unowned": "<gray>unowned</gray>",
|
"generic.generic_unowned": "<gray>unowned</gray>",
|
||||||
@ -620,8 +623,6 @@
|
|||||||
"flags.flag_error_title": "Flag value must be in the format </red><grey>\"A title\" \"The subtitle\"</grey><red>.",
|
"flags.flag_error_title": "Flag value must be in the format </red><grey>\"A title\" \"The subtitle\"</grey><red>.",
|
||||||
"flags.area_flags": "<prefix><gray>Area flags: </gray><dark_aqua><flags></dark_aqua>",
|
"flags.area_flags": "<prefix><gray>Area flags: </gray><dark_aqua><flags></dark_aqua>",
|
||||||
"flags.road_flags": "<prefix><gray>Road flags: </gray><dark_aqua><flags></dark_aqua>",
|
"flags.road_flags": "<prefix><gray>Road flags: </gray><dark_aqua><flags></dark_aqua>",
|
||||||
"flags.greeting_flag_format": "<prefix><gold>[<world>;<plot_id>]:</gold> <greeting>",
|
|
||||||
"flags.farewell_flag_format": "<prefix><gold>[<world>;<plot_id>]:</gold> <farewell>",
|
|
||||||
"commands.description.add": "<gray>Allow a user to build in a plot while the plot owner is online.</gray>",
|
"commands.description.add": "<gray>Allow a user to build in a plot while the plot owner is online.</gray>",
|
||||||
"commands.description.alias": "<gray>Set the plot alias.</gray>",
|
"commands.description.alias": "<gray>Set the plot alias.</gray>",
|
||||||
"commands.description.area": "<gray>Create a new plot area.</gray>",
|
"commands.description.area": "<gray>Create a new plot area.</gray>",
|
||||||
|
@ -18,7 +18,7 @@ plugins {
|
|||||||
idea
|
idea
|
||||||
}
|
}
|
||||||
|
|
||||||
version = "6.4.1-SNAPSHOT"
|
version = "6.5.0"
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
group = "com.plotsquared"
|
group = "com.plotsquared"
|
||||||
|
@ -6,7 +6,7 @@ guava = "31.0.1-jre" # Version set by Minecraft
|
|||||||
|
|
||||||
# Platform expectations
|
# Platform expectations
|
||||||
paper = "1.18.1-R0.1-SNAPSHOT"
|
paper = "1.18.1-R0.1-SNAPSHOT"
|
||||||
checker-qual = "3.21.1"
|
checker-qual = "3.21.2"
|
||||||
guice = "5.1.0"
|
guice = "5.1.0"
|
||||||
findbugs = "3.0.1"
|
findbugs = "3.0.1"
|
||||||
snakeyaml = "1.30" # Version set by Bukkit
|
snakeyaml = "1.30" # Version set by Bukkit
|
||||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,5 +1,5 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
Reference in New Issue
Block a user