mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-29 16:46:45 +01:00
Merge branch 'breaking' into DenyTeleportBugfix
This commit is contained in:
commit
e5e522bc31
7
.github/auto-comment.yml
vendored
7
.github/auto-comment.yml
vendored
@ -6,10 +6,3 @@ issueOpened: >
|
|||||||
Failure to do so will prevent us from resolving the issue in a timely manner.
|
Failure to do so will prevent us from resolving the issue in a timely manner.
|
||||||
|
|
||||||
Please note that suggestions are now to be submitted to https://git.io/fN5B4 rather than this issue tracker!
|
Please note that suggestions are now to be submitted to https://git.io/fN5B4 rather than this issue tracker!
|
||||||
|
|
||||||
pullRequestOpened: >
|
|
||||||
Thank your for raising your pull request.
|
|
||||||
|
|
||||||
Please make sure you have followed our contributing guidelines and to take an extra look at the code to make sure that it is functional!
|
|
||||||
|
|
||||||
We will review it as soon as possible!
|
|
||||||
|
24
.github/workflows/gradle.yml
vendored
Normal file
24
.github/workflows/gradle.yml
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
name: Java CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- breaking
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- breaking
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Set up JDK 1.8
|
||||||
|
uses: actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
java-version: 1.8
|
||||||
|
- name: Test with Gradle
|
||||||
|
run: ./gradlew clean build
|
@ -48,10 +48,10 @@ shadowJar {
|
|||||||
include(dependency(":Core"))
|
include(dependency(":Core"))
|
||||||
// update notification stuff
|
// update notification stuff
|
||||||
include(dependency("com.github.Sauilitired:Jenkins4J:2.0-SNAPSHOT"))
|
include(dependency("com.github.Sauilitired:Jenkins4J:2.0-SNAPSHOT"))
|
||||||
include(dependency("com.squareup.retrofit2:retrofit:2.4.0"))
|
include(dependency("com.squareup.retrofit2:retrofit:2.6.2"))
|
||||||
include(dependency("com.squareup.okhttp3:okhttp:3.14.0"))
|
include(dependency("com.squareup.okhttp3:okhttp:4.2.2"))
|
||||||
include(dependency("com.squareup.okio:okio:2.2.2"))
|
include(dependency("com.squareup.okio:okio:2.4.1"))
|
||||||
include(dependency("org.jetbrains.kotlin:kotlin-stdlib:1.3.30"))
|
include(dependency("org.jetbrains.kotlin:kotlin-stdlib:1.3.50"))
|
||||||
include(dependency("io.papermc:paperlib:1.0.2"))
|
include(dependency("io.papermc:paperlib:1.0.2"))
|
||||||
include(dependency("net.kyori:text-adapter-bukkit:3.0.3"))
|
include(dependency("net.kyori:text-adapter-bukkit:3.0.3"))
|
||||||
}
|
}
|
||||||
|
@ -702,7 +702,7 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain
|
|||||||
+ " is using Offline Mode UUIDs either because of user preference, or because you are using an old version of "
|
+ " is using Offline Mode UUIDs either because of user preference, or because you are using an old version of "
|
||||||
+ "Bukkit");
|
+ "Bukkit");
|
||||||
} else {
|
} else {
|
||||||
PlotSquared.log(Captions.PREFIX + " " + getPluginName() + " is using online UUIDs");
|
PlotSquared.log(Captions.PREFIX + "" + getPluginName() + " is using online UUIDs");
|
||||||
}
|
}
|
||||||
if (Settings.UUID.USE_SQLUUIDHANDLER) {
|
if (Settings.UUID.USE_SQLUUIDHANDLER) {
|
||||||
return new SQLUUIDHandler(wrapper);
|
return new SQLUUIDHandler(wrapper);
|
||||||
|
@ -2039,13 +2039,14 @@ import java.util.regex.Pattern;
|
|||||||
if (type == Material.AIR) {
|
if (type == Material.AIR) {
|
||||||
type = offType;
|
type = offType;
|
||||||
}
|
}
|
||||||
|
// in the following, lb needs to have the material of the item in hand i.e. type
|
||||||
|
lb = new BukkitLazyBlock(PlotBlock.get(type.toString()));
|
||||||
if (type.isBlock()) {
|
if (type.isBlock()) {
|
||||||
location = BukkitUtil
|
location = BukkitUtil
|
||||||
.getLocation(block.getRelative(event.getBlockFace()).getLocation());
|
.getLocation(block.getRelative(event.getBlockFace()).getLocation());
|
||||||
eventType = PlayerBlockEventType.PLACE_BLOCK;
|
eventType = PlayerBlockEventType.PLACE_BLOCK;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
lb = new BukkitLazyBlock(PlotBlock.get(type.toString()));
|
|
||||||
if (type.toString().toLowerCase().endsWith("egg")) {
|
if (type.toString().toLowerCase().endsWith("egg")) {
|
||||||
eventType = PlayerBlockEventType.SPAWN_MOB;
|
eventType = PlayerBlockEventType.SPAWN_MOB;
|
||||||
} else {
|
} else {
|
||||||
|
@ -6,6 +6,7 @@ load: STARTUP
|
|||||||
description: >
|
description: >
|
||||||
Easy, yet powerful Plot World generation and management.
|
Easy, yet powerful Plot World generation and management.
|
||||||
authors: [Citymonstret, Empire92, MattBDev, dordsor21]
|
authors: [Citymonstret, Empire92, MattBDev, dordsor21]
|
||||||
|
website: https://github.com/IntellectualSites/
|
||||||
softdepend: [BarAPI, CameraAPI, Vault]
|
softdepend: [BarAPI, CameraAPI, Vault]
|
||||||
loadbefore: [MultiWorld, Multiverse-Core]
|
loadbefore: [MultiWorld, Multiverse-Core]
|
||||||
depend: [WorldEdit]
|
depend: [WorldEdit]
|
||||||
|
@ -4,20 +4,20 @@ repositories {
|
|||||||
def textVersion = "3.0.2"
|
def textVersion = "3.0.2"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("org.yaml:snakeyaml:1.23")
|
implementation("org.yaml:snakeyaml:1.25")
|
||||||
implementation("com.google.code.gson:gson:2.8.0") {
|
implementation("com.google.code.gson:gson:2.8.6") {
|
||||||
because("Minecraft uses GSON 2.8.0")
|
because("Minecraft uses GSON 2.8.0")
|
||||||
force = true
|
force = true
|
||||||
}
|
}
|
||||||
implementation("org.projectlombok:lombok:1.18.8")
|
implementation("org.projectlombok:lombok:1.18.10")
|
||||||
compileOnly("org.projectlombok:lombok:1.18.8")
|
compileOnly("org.projectlombok:lombok:1.18.8")
|
||||||
testCompileOnly("org.projectlombok:lombok:1.18.8")
|
testCompileOnly("org.projectlombok:lombok:1.18.8")
|
||||||
annotationProcessor("org.projectlombok:lombok:1.18.8")
|
annotationProcessor("org.projectlombok:lombok:1.18.8")
|
||||||
testAnnotationProcessor("org.projectlombok:lombok:1.18.8")
|
testAnnotationProcessor("org.projectlombok:lombok:1.18.8")
|
||||||
implementation("com.github.Sauilitired:Jenkins4J:2.0-SNAPSHOT")
|
implementation("com.github.Sauilitired:Jenkins4J:2.0-SNAPSHOT")
|
||||||
implementation("com.squareup.okhttp3:okhttp:3.14.0")
|
implementation("com.squareup.okhttp3:okhttp:4.2.2")
|
||||||
implementation("com.squareup.okio:okio:2.2.2")
|
implementation("com.squareup.okio:okio:2.4.1")
|
||||||
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.3.30")
|
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.3.50")
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceCompatibility = 1.8
|
sourceCompatibility = 1.8
|
||||||
|
@ -24,9 +24,9 @@ import java.util.List;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@CommandDeclaration(command = "debugpaste", aliases = "dp", usage = "/plot debugpaste",
|
@CommandDeclaration(command = "debugpaste", aliases = "dp", usage = "/plot debugpaste",
|
||||||
description = "Upload settings.yml, worlds.yml, PlotSquared.use_THIS.yml and your latest.log to https://athion.net/ISPaster/paste",
|
description = "Upload settings.yml, worlds.yml, PlotSquared.use_THIS.yml your latest.log and Multiverse's worlds.yml (if being used) to https://athion.net/ISPaster/paste",
|
||||||
permission = "plots.debugpaste", category = CommandCategory.DEBUG) public class DebugPaste
|
permission = "plots.debugpaste", category = CommandCategory.DEBUG, confirmation = true, requiredType = RequiredType.NONE)
|
||||||
extends SubCommand {
|
public class DebugPaste extends SubCommand {
|
||||||
|
|
||||||
private static String readFile(@NonNull final File file) throws IOException {
|
private static String readFile(@NonNull final File file) throws IOException {
|
||||||
final List<String> lines;
|
final List<String> lines;
|
||||||
@ -115,6 +115,15 @@ import java.util.stream.Collectors;
|
|||||||
"&cSkipping PlotSquared.use_THIS.yml because it's empty");
|
"&cSkipping PlotSquared.use_THIS.yml because it's empty");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
final File MultiverseWorlds =
|
||||||
|
new File(PlotSquared.get().IMP.getDirectory(), "../Multiverse-Core/worlds.yml");
|
||||||
|
incendoPaster
|
||||||
|
.addFile(new IncendoPaster.PasteFile("MultiverseCore/worlds.yml", readFile(MultiverseWorlds)));
|
||||||
|
} catch (final IOException ignored) {
|
||||||
|
MainUtil.sendMessage(player, "&cSkipping Multiverse worlds.yml because the plugin is not in use");
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final String rawResponse = incendoPaster.upload();
|
final String rawResponse = incendoPaster.upload();
|
||||||
final JsonObject jsonObject =
|
final JsonObject jsonObject =
|
||||||
|
@ -26,7 +26,7 @@ public class Settings extends Config {
|
|||||||
@Final public static String COMMIT; // These values are set from P2 before loading
|
@Final public static String COMMIT; // These values are set from P2 before loading
|
||||||
@Final public static String PLATFORM; // These values are set from P2 before loading
|
@Final public static String PLATFORM; // These values are set from P2 before loading
|
||||||
|
|
||||||
@Comment("Show additional information in console") public static boolean DEBUG = true;
|
@Comment("Show additional information in console") public static boolean DEBUG = false;
|
||||||
@Comment({"The big annoying text that appears when you enter a plot",
|
@Comment({"The big annoying text that appears when you enter a plot",
|
||||||
"For a single plot: `/plot flag set titles false`", "For just you: `/plot toggle titles`"})
|
"For a single plot: `/plot flag set titles false`", "For just you: `/plot toggle titles`"})
|
||||||
public static boolean TITLES = true;
|
public static boolean TITLES = true;
|
||||||
@ -256,10 +256,10 @@ public class Settings extends Config {
|
|||||||
|
|
||||||
|
|
||||||
public static final class Done {
|
public static final class Done {
|
||||||
@Comment("Require a done plot to download") public static boolean REQUIRED_FOR_DOWNLOAD =
|
@Comment("Require a plot marked as done to download") public static boolean REQUIRED_FOR_DOWNLOAD =
|
||||||
false;
|
false;
|
||||||
@Comment("Only done plots can be rated") public static boolean REQUIRED_FOR_RATINGS = false;
|
@Comment("Only plots marked as done can be rated") public static boolean REQUIRED_FOR_RATINGS = false;
|
||||||
@Comment("Restrict building when a plot is done") public static boolean RESTRICT_BUILDING =
|
@Comment("Restrict building when a plot is marked as done") public static boolean RESTRICT_BUILDING =
|
||||||
false;
|
false;
|
||||||
@Comment("The limit being how many plots a player can claim") public static boolean
|
@Comment("The limit being how many plots a player can claim") public static boolean
|
||||||
COUNTS_TOWARDS_LIMIT = true;
|
COUNTS_TOWARDS_LIMIT = true;
|
||||||
@ -269,14 +269,15 @@ public class Settings extends Config {
|
|||||||
public static final class Chat {
|
public static final class Chat {
|
||||||
@Comment("Sometimes console color doesn't work, you can disable it here")
|
@Comment("Sometimes console color doesn't work, you can disable it here")
|
||||||
public static boolean CONSOLE_COLOR = true;
|
public static boolean CONSOLE_COLOR = true;
|
||||||
@Comment("Should chat be interactive") public static boolean INTERACTIVE = true;
|
@Comment("Should the chat be interactive?") public static boolean INTERACTIVE = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Comment("Relating to how many plots someone can claim ") public static final class Limit {
|
@Comment("Relating to how many plots someone can claim ") public static final class Limit {
|
||||||
@Comment("Should the limit be global (over multiple worlds)") public static boolean GLOBAL =
|
@Comment("Should the limit be global (over multiple worlds)") public static boolean GLOBAL =
|
||||||
false;
|
false;
|
||||||
@Comment("The range of permissions to check e.g. plots.plot.127") public static int
|
@Comment({"The max. range of permissions to check e.g. plots.plot.127", "The value covers the range to check only, you need to assign the permission to players/groups still",
|
||||||
|
"Modifying the value does NOT change the amount of plots players can claim"}) public static int
|
||||||
MAX_PLOTS = 127;
|
MAX_PLOTS = 127;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -291,7 +292,7 @@ public class Settings extends Config {
|
|||||||
@Comment("Teleport to your plot on death") public static boolean ON_DEATH = false;
|
@Comment("Teleport to your plot on death") public static boolean ON_DEATH = false;
|
||||||
@Comment("Teleport to your plot on login") public static boolean ON_LOGIN = false;
|
@Comment("Teleport to your plot on login") public static boolean ON_LOGIN = false;
|
||||||
@Comment("Teleport to your plot on claim") public static boolean ON_CLAIM = true;
|
@Comment("Teleport to your plot on claim") public static boolean ON_CLAIM = true;
|
||||||
@Comment("Add a teleportation delay to all commands") public static int DELAY = 0;
|
@Comment("Add a delay to all teleport commands") public static int DELAY = 0;
|
||||||
@Comment("The visit command is ordered by world instead of globally") public static boolean
|
@Comment("The visit command is ordered by world instead of globally") public static boolean
|
||||||
PER_WORLD_VISIT = false;
|
PER_WORLD_VISIT = false;
|
||||||
}
|
}
|
||||||
@ -322,7 +323,7 @@ public class Settings extends Config {
|
|||||||
|
|
||||||
|
|
||||||
@Comment(
|
@Comment(
|
||||||
{"Enable or disable part of the plugin", "Note: A cache will use some memory if enabled"})
|
{"Enable or disable parts of the plugin", "Note: A cache will use some memory if enabled"})
|
||||||
public static final class Enabled_Components { // Group the following values into a new config section
|
public static final class Enabled_Components { // Group the following values into a new config section
|
||||||
@Comment("The database stores all the plots") public static boolean DATABASE = true;
|
@Comment("The database stores all the plots") public static boolean DATABASE = true;
|
||||||
@Comment("Events are needed to track a lot of things") public static boolean EVENTS = true;
|
@Comment("Events are needed to track a lot of things") public static boolean EVENTS = true;
|
||||||
@ -339,7 +340,7 @@ public class Settings extends Config {
|
|||||||
@Comment("Allow WorldEdit to be restricted to plots") public static boolean
|
@Comment("Allow WorldEdit to be restricted to plots") public static boolean
|
||||||
WORLDEDIT_RESTRICTIONS = true;
|
WORLDEDIT_RESTRICTIONS = true;
|
||||||
@Comment("Allow economy to be used") public static boolean ECONOMY = true;
|
@Comment("Allow economy to be used") public static boolean ECONOMY = true;
|
||||||
@Comment("Send anonymous usage statistics. Bukkit only setting.") public static boolean
|
@Comment("Send anonymous usage statistics to bStats. Bukkit only setting.") public static boolean
|
||||||
METRICS = true;
|
METRICS = true;
|
||||||
@Comment("Expiry will clear old or simplistic plots") public static boolean PLOT_EXPIRY =
|
@Comment("Expiry will clear old or simplistic plots") public static boolean PLOT_EXPIRY =
|
||||||
false;
|
false;
|
||||||
@ -355,7 +356,7 @@ public class Settings extends Config {
|
|||||||
@Comment("Actively purge invalid database entries") public static boolean DATABASE_PURGER =
|
@Comment("Actively purge invalid database entries") public static boolean DATABASE_PURGER =
|
||||||
false;
|
false;
|
||||||
@Comment("Delete plots when a player is banned") public static boolean BAN_DELETER = false;
|
@Comment("Delete plots when a player is banned") public static boolean BAN_DELETER = false;
|
||||||
@Comment("Prevent possibly unsafe blocks from being used in plot components")
|
@Comment({"Prevent possibly unsafe blocks from being used in plot components", "Can be bypassed with `/plot debugallowunsafe`"})
|
||||||
public static boolean PREVENT_UNSAFE = true;
|
public static boolean PREVENT_UNSAFE = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
18
README.md
18
README.md
@ -48,7 +48,17 @@ Suggestions are welcome! We have a separate issue tracker for suggestions, that
|
|||||||
* [HoloPlots](https://www.spigotmc.org/resources/holoplots.4880/)
|
* [HoloPlots](https://www.spigotmc.org/resources/holoplots.4880/)
|
||||||
|
|
||||||
# Sponsors
|
# Sponsors
|
||||||
<p align="center"><a href="https://www.jetbrains.com/idea/" title="IntelliJ IDEA"><img height="75" src="https://i.imgur.com/xa2XsRN.png"/></a></p>
|
<p align="center"><a href="https://www.jetbrains.com/idea/" title="IntelliJ IDEA"><img height="75" src="https://i.imgur.com/xa2XsRN.png"/></a><br>
|
||||||
<p align="center"><a href="https://www.athion.net/" title="Athion"><img height="150" src="https://i.imgur.com/Z4E1Hcb.png"/></a></p>
|
IntelliJ IDEA is a Java integrated development environment (IDE) for developing computer software. It is developed by <a href="https://jetbrains.com">JetBrains</a> and our top used development tool. Every aspect of IntelliJ IDEA is specifically designed to maximize developer productivity.
|
||||||
<p align="center"><a href="https://www.buildersrefuge.com/" title="Builder's Refuge"><img height="150" src="https://i.imgur.com/mjT5Ogz.png"/></a></p>
|
Together, the powerful static code analysis and ergonomic design make development not only productive but also an enjoyable experience.</p>
|
||||||
<p align="center"><a href="https://ajgaming.net/" title="AJGaming Network"><img height="120" src="https://ajgaming.net/images/AJGaming.png"/></a></p>
|
<p align="center"><a href="https://www.yourkit.com/java/profiler/" title="YourKit Java Profiler"><img height="75" src="https://www.yourkit.com/images/yklogo.png"/></a><br>
|
||||||
|
YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications.
|
||||||
|
YourKit is the creator of <a href="https://www.yourkit.com/java/profiler/">YourKit Java Profiler</a>, <a href="https://www.yourkit.com/.net/profiler/">YourKit .NET Profiler</a>, and <a href="https://www.yourkit.com/youmonitor/">YourKit YouMonitor</a>. We are using YourKit to profile the performance of our plugins.</p>
|
||||||
|
<p align="center"><a href="https://www.athion.net/" title="Athion"><img height="150" src="https://i.imgur.com/Z4E1Hcb.png"/></a><br>
|
||||||
|
<a href="https://athion.net">Athion</a> is the result of the merging of two of the oldest creative servers around in the community – Mithrintia and Pwego-Insomnia – fusing together to perfect a creative experience like no other to develop and harness your skills.</p>
|
||||||
|
<p align="center"><a href="https://www.buildersrefuge.com/" title="Builder's Refuge"><img height="150" src="https://i.imgur.com/mjT5Ogz.png"/></a><br>
|
||||||
|
Welcome to the <a href="https://www.buildersrefuge.com/">Builders's Refuge</a>. The refuge is a passion project we started to accommodate professional Minecraft builders who are looking for a personal or commercial space to build and create art. We offer premium services at no charge along with a network of other builders and resources to help you become successful.
|
||||||
|
</p>
|
||||||
|
<p align="center"><a href="https://ajgaming.net/" title="AJGaming Network"><img height="120" src="https://ajgaming.net/images/AJGaming.png"/></a><br>
|
||||||
|
The <a href="https://ajgaming.net/">AJGaming Network</a> is a modded and vanilla network. Either delve into magic on our magic servers, fight your enemies on our hardcore PvP modpacks or have a good time on our vanilla servers. The mods for our modpacks are handpicked by suggestions from our community making sure we can crate packs you love to play.
|
||||||
|
</p>
|
||||||
|
@ -11,7 +11,7 @@ buildscript {
|
|||||||
}
|
}
|
||||||
configurations.all {
|
configurations.all {
|
||||||
resolutionStrategy {
|
resolutionStrategy {
|
||||||
force("org.ow2.asm:asm:7.1")
|
force("org.ow2.asm:asm:7.2")
|
||||||
force("org.jetbrains:annotations:17.0.0")
|
force("org.jetbrains:annotations:17.0.0")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -75,7 +75,7 @@ subprojects {
|
|||||||
because("Minecraft uses Guava 21 as of 1.13")
|
because("Minecraft uses Guava 21 as of 1.13")
|
||||||
}
|
}
|
||||||
compileOnly("org.jetbrains:annotations:17.0.0")
|
compileOnly("org.jetbrains:annotations:17.0.0")
|
||||||
compileClasspath("org.projectlombok:lombok:1.18.8")
|
compileClasspath("org.projectlombok:lombok:1.18.10")
|
||||||
testCompileOnly("org.projectlombok:lombok:1.18.8")
|
testCompileOnly("org.projectlombok:lombok:1.18.8")
|
||||||
annotationProcessor("org.projectlombok:lombok:1.18.8")
|
annotationProcessor("org.projectlombok:lombok:1.18.8")
|
||||||
testAnnotationProcessor("org.projectlombok:lombok:1.18.8")
|
testAnnotationProcessor("org.projectlombok:lombok:1.18.8")
|
||||||
|
Loading…
Reference in New Issue
Block a user