eth-p / eth-p/gradle-bukkit

Permission default value

Open
#1 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

I created a permission with the following code:
```groovy
permission 'surredstone.village', {
description 'Executar o comando /village.'
allow ALL
}
```

And the result in the file ``plugin.yml`` was this:
```yml
surredstone.village: {default: 'true', description: Executar o comando /village.}
```
The ``default`` value was set to ``'true'`` instead of ``true``
The ``OPERATOR`` and ``NOT_OPERATOR`` values doesn't appear to have any problem.

I'm new in the Java environment and don't understand very much about the building process, so, if I'm doing something wrong please warn me!

- Using PaperMC, it threw the following error:
```error
[20:30:04 ERROR]: Could not load 'plugins\Surredstone.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:188) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:159) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_18_R2.CraftServer.loadPlugins(CraftServer.java:417) ~[paper-1.18.2.jar:git-Paper-260]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:288) ~[paper-1.18.2.jar:git-Paper-260]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1163)
~[paper-1.18.2.jar:git-Paper-260]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:315) ~[paper-1.18.2.jar:git-Paper-260]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:218) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:176) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:171) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:126) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.scanner.ScannerImpl.scanToNextToken(ScannerImpl.java:1218) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:329) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:251) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:214) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:166) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:156) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:141) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:151) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:491) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.Yaml.load(Yaml.java:429) ~[snakeyaml-1.30.jar:?]
at org.bukkit.plugin.PluginDescriptionFile.(PluginDescriptionFile.java:259) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:183) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
... 6 more
Caused by: java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException(CoderResult.java:274) ~[?:?]
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[?:?]
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188) ~[?:?]
at java.io.InputStreamReader.read(InputStreamReader.java:177) ~[?:?]
at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:125) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:183) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:176) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:171) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:126) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.scanner.ScannerImpl.scanToNextToken(ScannerImpl.java:1218) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:329) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:251) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:214) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:166) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:156) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:141) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:151) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:491) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.Yaml.load(Yaml.java:429) ~[snakeyaml-1.30.jar:?]
at org.bukkit.plugin.PluginDescriptionFile.(PluginDescriptionFile.java:259) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:183) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
... 6 more
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the permission DSL that produces plugin.yml, then inspect how the default value is serialized. Reproduce the shown allow ALL case and verify that the generated YAML uses a boolean true and that Paper can load it without the reported error.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.