Skip to content

Commit c04d0f3

Browse files
committed
feat: Accept eula using CLI parameter
1 parent fff29a0 commit c04d0f3

File tree

4 files changed

+10
-28
lines changed

4 files changed

+10
-28
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
instead of setting JVM target and source compatibility to 1.8.
1414
The default JVM version depends on [Paper requirements](https://docs.papermc.io/paper/getting-started#requirements).
1515
- Use lazy API for `bukkit.apiVersion` and `bukkit.generateMeta` properties.
16+
- Accept EULA using CLI parameter `-Dcom.mojang.eula.agree=true` instead of changing `eula.txt`
1617

1718
### Fixed
1819

src/main/kotlin/server/extension/ServerConfigurationImpl.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,11 @@ public class ServerConfigurationImpl : ServerConfiguration {
4949
}
5050

5151
override fun buildJvmArgs(debug: Boolean): List<String> {
52-
return listOfNotNull(DEBUG_ARGS.takeIf { debug }, "-Dfile.encoding=$encoding") + javaArgs
52+
return listOfNotNull(
53+
DEBUG_ARGS.takeIf { debug },
54+
ACCEPT_EULA_ARGS.takeIf { eula },
55+
"-Dfile.encoding=$encoding"
56+
) + javaArgs
5357
}
5458

5559
override fun toString(): String {
@@ -66,5 +70,6 @@ public class ServerConfigurationImpl : ServerConfiguration {
6670

6771
private companion object {
6872
const val DEBUG_ARGS: String = "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
73+
const val ACCEPT_EULA_ARGS: String = "-Dcom.mojang.eula.agree=true"
6974
}
7075
}

src/main/kotlin/server/task/PrepareServer.kt

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@ internal abstract class PrepareServer : DefaultTask() {
2222
@get:Input
2323
var onlineMode: Boolean = true
2424

25-
@get:OutputFile
26-
val eulaFile: Provider<RegularFile> = serverDir.map { it.file("eula.txt") }
27-
2825
@get:OutputFile
2926
val propertiesFile: Provider<RegularFile> = serverDir.map { it.file("server.properties") }
3027

@@ -35,25 +32,9 @@ internal abstract class PrepareServer : DefaultTask() {
3532

3633
@TaskAction
3734
fun prepareServer() {
38-
resolveEula()
3935
resolveOnlineMode()
4036
}
4137

42-
private fun resolveEula() {
43-
val eulaFile = eulaFile.get().asFile
44-
if (!eulaFile.exists()) {
45-
eulaFile.createNewFile()
46-
}
47-
48-
val properties = Properties()
49-
properties.load(eulaFile.reader())
50-
properties.setProperty("eula", "$eula")
51-
properties.store(
52-
eulaFile.writer(),
53-
"By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula)."
54-
)
55-
}
56-
5738
private fun resolveOnlineMode() {
5839
val propsFile = propertiesFile.get().asFile
5940
if (!propsFile.exists()) {

src/test/groovy/ru/endlesscode/bukkitgradle/server/task/PrepareServerSpec.groovy

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,11 @@ class PrepareServerSpec extends PluginSpecification {
2929
taskOutcome(TASK_NAME) == TaskOutcome.UP_TO_DATE
3030
}
3131

32-
def "when run prepareServer - should set eula and online-mode"() {
33-
given: "configured eula and online-mode"
32+
def "when run prepareServer - should set online-mode"() {
33+
given: "configured online-mode"
3434
buildFile << """
3535
bukkit {
36-
version = '1.16.2'
3736
run {
38-
eula = true
3937
onlineMode = false
4038
}
4139
}
@@ -45,10 +43,7 @@ class PrepareServerSpec extends PluginSpecification {
4543
when: "run prepareServer"
4644
run(TASK_NAME)
4745

48-
then: "eula should be true"
49-
file("$serverDir/eula.txt").readLines().contains("eula=true")
50-
51-
and: "online-mode should be false"
46+
then: "online-mode should be false"
5247
file("$serverDir/server.properties").readLines().contains("online-mode=false")
5348
}
5449
}

0 commit comments

Comments
 (0)