Skip to content

Commit 45fbc6c

Browse files
committed
wip
1 parent 8ce7bd0 commit 45fbc6c

File tree

278 files changed

+7919
-6146
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

278 files changed

+7919
-6146
lines changed

.config/checkstyle/checkstyle.xml

Lines changed: 447 additions & 324 deletions
Large diffs are not rendered by default.
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!DOCTYPE suppressions PUBLIC
3-
"-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
4-
"http://checkstyle.org/dtds/suppressions_1_2.dtd">
3+
"-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
4+
"http://checkstyle.org/dtds/suppressions_1_2.dtd">
55

66
<suppressions>
7-
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*" checks="SummaryJavadoc"/>
8-
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*" checks="MissingJavadocType"/>
9-
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*" checks="MissingJavadocMethod"/>
7+
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*" checks="SummaryJavadoc"/>
8+
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*" checks="MissingJavadocType"/>
9+
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*" checks="MissingJavadocMethod"/>
1010

11-
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*[\\/]Settings.java" checks="TypeName"/>
12-
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*[\\/]Settings.java" checks="LineLength"/>
13-
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*[\\/]Settings.java" checks="MemberName"/>
14-
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*[\\/]Settings.java" checks="RequireThis"/>
15-
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*[\\/]Settings.java" checks="AbbreviationAsWordInName"/>
11+
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*[\\/]Settings.java" checks="TypeName"/>
12+
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*[\\/]Settings.java" checks="LineLength"/>
13+
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*[\\/]Settings.java" checks="MemberName"/>
14+
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*[\\/]Settings.java" checks="RequireThis"/>
15+
<suppress files=".*[\\/]net[\\/]elytrium[\\/].*[\\/]Settings.java" checks="AbbreviationAsWordInName"/>
1616

17-
<suppress files=".*[\\/]net[\\/]elytrium[\\/]limboapi[\\/]server[\\/]LimboPlayerImpl.java" checks="Indentation"/>
17+
<suppress files=".*[\\/]net[\\/]elytrium[\\/]limboapi[\\/]server[\\/]LimboPlayerImpl.java" checks="Indentation"/>
1818
</suppressions>

.config/spotbugs/suppressions.xml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22

33
<FindBugsFilter>
4-
<Match>
5-
<Bug pattern="EI_EXPOSE_REP"/>
6-
</Match>
7-
<Match>
8-
<Bug pattern="EI_EXPOSE_REP2"/>
9-
</Match>
10-
<Match>
11-
<Bug pattern="THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION"/>
12-
</Match>
13-
<Match>
14-
<Bug pattern="THROWS_METHOD_THROWS_CLAUSE_THROWABLE"/>
15-
</Match>
16-
<Match>
17-
<Bug pattern="CT_CONSTRUCTOR_THROW"/>
18-
</Match>
4+
<Match>
5+
<Bug pattern="EI_EXPOSE_REP"/>
6+
</Match>
7+
<Match>
8+
<Bug pattern="EI_EXPOSE_REP2"/>
9+
</Match>
10+
<Match>
11+
<Bug pattern="THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION"/>
12+
</Match>
13+
<Match>
14+
<Bug pattern="THROWS_METHOD_THROWS_CLAUSE_THROWABLE"/>
15+
</Match>
16+
<Match>
17+
<Bug pattern="CT_CONSTRUCTOR_THROW"/>
18+
</Match>
1919
</FindBugsFilter>

.github/workflows/build.yml

Whitespace-only changes.

.github/workflows/release.yml

Whitespace-only changes.

.gitignore

Lines changed: 74 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,65 @@
1-
# IntelliJ user-specific stuff
2-
.idea/
3-
*.iml
4-
1+
### Java ###
52
# Compiled class file
63
*.class
74

85
# Log file
96
*.log
107

11-
# Package Files
8+
# BlueJ files
9+
*.ctxt
10+
11+
# Mobile Tools for Java (J2ME)
12+
.mtj.tmp/
13+
14+
# Package Files #
1215
*.jar
16+
*.war
17+
*.nar
18+
*.ear
1319
*.zip
1420
*.tar.gz
1521
*.rar
1622

17-
# Virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
23+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
1824
hs_err_pid*
25+
replay_pid*
26+
27+
### JetBrains ###
28+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
29+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
30+
31+
# User-specific stuff
32+
.idea/*
33+
34+
!.idea/codeStyles
35+
!.idea/runConfigurations
36+
37+
*.iml
38+
modules.xml
39+
*.ipr
40+
41+
# File-based project format
42+
*.iws
43+
44+
# IntelliJ
45+
out/
1946

47+
# mpeltonen/sbt-idea plugin
48+
.idea_modules/
49+
50+
# JIRA plugin
51+
atlassian-ide-plugin.xml
52+
53+
# Crashlytics plugin (for Android Studio and IntelliJ)
54+
com_crashlytics_export_strings.xml
55+
crashlytics.properties
56+
crashlytics-build.properties
57+
fabric.properties
58+
59+
### Linux ###
2060
*~
2161

22-
# Temporary files which can be created if a process still has a handle open of a deleted file
62+
# temporary files which can be created if a process still has a handle open of a deleted file
2363
.fuse_hidden*
2464

2565
# KDE directory preferences
@@ -31,6 +71,7 @@ hs_err_pid*
3171
# .nfs files are created when an open file is removed but is still being accessed
3272
.nfs*
3373

74+
### macOS ###
3475
# General
3576
.DS_Store
3677
.AppleDouble
@@ -39,6 +80,7 @@ hs_err_pid*
3980
# Icon must end with two \r
4081
Icon
4182

83+
4284
# Thumbnails
4385
._*
4486

@@ -58,6 +100,11 @@ Network Trash Folder
58100
Temporary Items
59101
.apdisk
60102

103+
### macOS Patch ###
104+
# iCloud generated files
105+
*.icloud
106+
107+
### Windows ###
61108
# Windows thumbnail cache files
62109
Thumbs.db
63110
Thumbs.db:encryptable
@@ -83,15 +130,29 @@ $RECYCLE.BIN/
83130
# Windows shortcuts
84131
*.lnk
85132

86-
# Gradle
133+
### Gradle ###
87134
.gradle
88-
build/
89-
90-
# Gradle Patch
91135
**/build/
136+
!src/**/build/
92137

93-
# Common working directory
94-
run/
138+
# Ignore Gradle GUI config
139+
gradle-app.setting
95140

96141
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
97142
!gradle-wrapper.jar
143+
144+
# Avoid ignore Gradle wrappper properties
145+
!gradle-wrapper.properties
146+
147+
# Cache of project
148+
.gradletasknamecache
149+
150+
# Eclipse Gradle plugin generated files
151+
# Eclipse Core
152+
.project
153+
# JDT-specific (Eclipse Java Development Tools)
154+
.classpath
155+
156+
### Gradle Patch ###
157+
# Java heap dump
158+
*.hprof

api/build.gradle

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
//file:noinspection VulnerableLibrariesLocal
22

3-
plugins {
3+
plugins() {
44
id("maven-publish")
55
}
66

7+
group = "net.elytrium.limboapi"
8+
79
java() {
810
withSourcesJar()
911
withJavadocJar()
1012
}
1113

1214
dependencies() {
1315
api(libs.velocity.api)
14-
api("net.kyori:adventure-nbt:4.16.0")
16+
api("net.kyori:adventure-nbt:4.25.0")
17+
api("it.unimi.dsi:fastutil:8.5.18")
1518

1619
compileOnly("net.elytrium.commons:config:1.2.3")
1720
shadowApi("net.elytrium.commons:utils:1.2.3")
@@ -36,25 +39,29 @@ javadoc() {
3639
options.setEncoding("UTF-8")
3740
options.setSource("17")
3841
options.addStringOption("Xdoclint:none", "-quiet")
39-
options.getLinks().addAll("https://docs.oracle.com/en/java/javase/17/docs/api/", "https://jd.papermc.io/velocity/3.3.0/", "https://jd.advntr.dev/nbt/4.16.0/")
40-
options.tags("sinceMinecraft:a:Since Minecraft:")
42+
options.links("https://docs.oracle.com/en/java/javase/17/docs/api/", "https://jd.papermc.io/velocity/3.4.0/", "https://jd.advntr.dev/nbt/4.25.0/")
43+
options.tags(
44+
"apiNote:a:API Note:",
45+
"implSpec:a:Implementation Requirements:",
46+
"implNote:a:Implementation Note:",
47+
"sinceMinecraft:a:Since Minecraft:"
48+
)
4149
}
4250

4351
publishing() {
4452
repositories() {
45-
maven {
46-
credentials {
47-
setUsername(System.getenv("ELYTRIUM_MAVEN_USERNAME"))
48-
setPassword(System.getenv("ELYTRIUM_MAVEN_PASSWORD"))
49-
}
50-
53+
maven() {
5154
name = "elytrium"
5255
url = "https://maven.elytrium.net/repo/"
56+
credentials() {
57+
username = System.getenv("ELYTRIUM_MAVEN_USERNAME")
58+
password = System.getenv("ELYTRIUM_MAVEN_PASSWORD")
59+
}
5360
}
5461
}
5562

56-
publications.create("maven", MavenPublication) {
63+
publications.create("publication", MavenPublication) {
5764
// TODO pom
58-
from(components.java)
65+
artifact(jar)
5966
}
6067
}

api/src/main/java/net/elytrium/limboapi/api/Limbo.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
import com.velocitypowered.api.command.CommandMeta;
1212
import com.velocitypowered.api.proxy.Player;
1313
import java.util.function.Supplier;
14-
import net.elytrium.limboapi.api.player.GameMode;
14+
import net.elytrium.limboapi.api.world.player.GameMode;
1515
import net.elytrium.limboapi.api.protocol.PacketDirection;
16-
import net.elytrium.limboapi.api.protocol.packets.PacketMapping;
16+
import net.elytrium.limboapi.api.protocol.PacketMapping;
1717

1818
public interface Limbo {
1919

@@ -46,7 +46,7 @@ public interface Limbo {
4646
Limbo setMaxSuppressPacketLength(int maxSuppressPacketLength);
4747

4848
/**
49-
* @deprecated Use {@link com.velocitypowered.api.command.CommandManager#metaBuilder(String)}
49+
* @deprecated Use {@link #registerCommand(CommandMeta)} in conjunction with {@link com.velocitypowered.api.command.CommandManager#metaBuilder(String)}
5050
*/
5151
@Deprecated(forRemoval = true)
5252
default Limbo registerCommand(net.elytrium.limboapi.api.command.LimboCommandMeta commandMeta) {

api/src/main/java/net/elytrium/limboapi/api/LimboFactory.java

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,21 @@
1313
import java.io.InputStream;
1414
import java.nio.file.Path;
1515
import java.util.Map;
16-
import net.elytrium.limboapi.api.chunk.BuiltInBiome;
17-
import net.elytrium.limboapi.api.chunk.Dimension;
18-
import net.elytrium.limboapi.api.chunk.VirtualBiome;
19-
import net.elytrium.limboapi.api.chunk.VirtualBlock;
20-
import net.elytrium.limboapi.api.chunk.VirtualBlockEntity;
21-
import net.elytrium.limboapi.api.chunk.VirtualChunk;
22-
import net.elytrium.limboapi.api.chunk.VirtualWorld;
23-
import net.elytrium.limboapi.api.file.BuiltInWorldFileType;
24-
import net.elytrium.limboapi.api.file.WorldFile;
25-
import net.elytrium.limboapi.api.material.Block;
26-
import net.elytrium.limboapi.api.material.Item;
27-
import net.elytrium.limboapi.api.material.VirtualItem;
16+
import net.elytrium.limboapi.api.world.chunk.biome.BuiltInBiome;
17+
import net.elytrium.limboapi.api.world.chunk.Dimension;
18+
import net.elytrium.limboapi.api.world.chunk.biome.VirtualBiome;
19+
import net.elytrium.limboapi.api.world.chunk.block.VirtualBlock;
20+
import net.elytrium.limboapi.api.world.chunk.blockentity.VirtualBlockEntity;
21+
import net.elytrium.limboapi.api.world.chunk.VirtualChunk;
22+
import net.elytrium.limboapi.api.world.VirtualWorld;
23+
import net.elytrium.limboapi.api.world.BuiltInWorldFileType;
24+
import net.elytrium.limboapi.api.world.WorldFile;
25+
import net.elytrium.limboapi.api.world.chunk.block.Block;
26+
import net.elytrium.limboapi.api.world.item.Item;
27+
import net.elytrium.limboapi.api.world.item.VirtualItem;
2828
import net.elytrium.limboapi.api.protocol.PreparedPacket;
29-
import net.elytrium.limboapi.api.protocol.item.ItemComponentMap;
30-
import net.elytrium.limboapi.api.protocol.packets.PacketFactory;
29+
import net.elytrium.limboapi.api.world.item.datacomponent.DataComponentMap;
30+
import net.elytrium.limboapi.api.protocol.PacketFactory;
3131
import net.kyori.adventure.nbt.CompoundBinaryTag;
3232
import org.checkerframework.checker.nullness.qual.Nullable;
3333

@@ -155,7 +155,7 @@ default VirtualBlock createSimpleBlock(boolean solid, boolean air, boolean motio
155155

156156
/**
157157
* Creates new virtual chunk
158-
* You need to provide the chunk location, you can get it using ({@code block_coordinate >> 4})
158+
* You need to provide the chunk location, you can get it using {@code blockCoordinate >> 4}
159159
*
160160
* @param posX Chunk position by X
161161
* @param posZ Chunk position by Z
@@ -174,9 +174,9 @@ default VirtualBlock createSimpleBlock(boolean solid, boolean air, boolean motio
174174
*/
175175
Limbo createLimbo(VirtualWorld world);
176176

177-
178177
/**
179-
* Releases a thread after PreparedPacket#build executions
178+
* Releases the thread after {@link PreparedPacket#build()} executions.
179+
* <p>
180180
* Used to free compression libraries
181181
*/
182182
void releasePreparedPacketThread(Thread thread);
@@ -250,9 +250,9 @@ default VirtualBlock createSimpleBlock(boolean solid, boolean air, boolean motio
250250
VirtualItem getLegacyItem(int legacyId);
251251

252252
/**
253-
* @return new item component map
253+
* @return new data component map
254254
*/
255-
ItemComponentMap createItemComponentMap();
255+
DataComponentMap createDataComponentMap();
256256

257257
@Deprecated(forRemoval = true)
258258
default VirtualBlockEntity getBlockEntity(String entityId) {
@@ -289,7 +289,6 @@ default VirtualBlockEntity getBlockEntity(String entityId) {
289289
*/
290290
WorldFile openWorldFile(BuiltInWorldFileType apiType, Path file) throws IOException;
291291

292-
293292
/**
294293
* Opens world file (a.k.a. schematic file)
295294
*
@@ -299,7 +298,6 @@ default VirtualBlockEntity getBlockEntity(String entityId) {
299298
*/
300299
WorldFile openWorldFile(BuiltInWorldFileType apiType, InputStream stream) throws IOException;
301300

302-
303301
/**
304302
* Opens world file (a.k.a. schematic file)
305303
*

api/src/main/java/net/elytrium/limboapi/api/LimboSessionHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
package net.elytrium.limboapi.api;
99

10-
import net.elytrium.limboapi.api.player.LimboPlayer;
10+
import net.elytrium.limboapi.api.world.player.LimboPlayer;
1111

1212
public interface LimboSessionHandler {
1313

0 commit comments

Comments
 (0)