Skip to content

Commit 1f0a9ea

Browse files
committed
Resolve merge conflicts with upstream/master
2 parents 85a8262 + b49aec7 commit 1f0a9ea

8,479 files changed

Lines changed: 3744 additions & 1582 deletions

File tree

Some content is hidden

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

.gitignore

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ build/
4343

4444
### Mac OS ###
4545
.DS_Store
46-
/configuration/hypixel_island_template/
4746

47+
### Islands ###
48+
/configuration/hypixel_island_template/
4849
/configuration/hypixel_hub/
49-
50-
.gradle/
50+
/configuration/skyblock/islands/hypixel_skyblock_island_template/
51+
/configuration/skyblock/islands/hypixel_skyblock_hub/
52+
/configuration/hypixel_prototype_lobby/

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
106106
### 4. Permanent Ban
107107

108108
**Community Impact**: Demonstrating a pattern of violation of community
109-
standards, including sustained inappropriate behavior, harassment of an
109+
standards, including sustained inappropriate behavior, harassment of an
110110
individual, or aggression toward or disparagement of classes of individuals.
111111

112112
**Consequence**: A permanent ban from any sort of public interaction within

DockerFiles/Dockerfile.game_server

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,22 @@ WORKDIR /app
55
# Install unzip for extracting files
66
RUN apt-get update && apt-get install -y jq unzip screen && apt-get clean
77

8-
# Copy SkyBlockCore.jar
9-
COPY ../loader/build/libs/HypixelCore.jar SkyBlockCore.jar
10-
11-
# Copy Services
12-
COPY ../service.api/build/libs/service.api-3.0.jar ./ServiceAPI.jar
13-
COPY ../service.auctionhouse/build/libs/service.auctionhouse-3.0.jar ./ServiceAuctionHouse.jar
14-
COPY ../service.bazaar/build/libs/service.bazaar-3.0.jar ./ServiceBazaar.jar
15-
COPY ../service.itemtracker/build/libs/service.itemtracker-3.0.jar ./ServiceItemTracker.jar
8+
# Download SkyBlockCore.jar (for production)
9+
ADD https://github.com/Swofty-Developments/HypixelSkyBlock/releases/download/latest/HypixelCore.jar HypixelCore.jar
10+
11+
# Download Services (for production)
12+
ADD https://github.com/Swofty-Developments/HypixelSkyBlock/releases/download/latest/ServiceAPI.jar ./ServiceAPI.jar
13+
ADD https://github.com/Swofty-Developments/HypixelSkyBlock/releases/download/latest/ServiceAuctionHouse.jar ./ServiceAuctionHouse.jar
14+
ADD https://github.com/Swofty-Developments/HypixelSkyBlock/releases/download/latest/ServiceBazaar.jar ./ServiceBazaar.jar
15+
ADD https://github.com/Swofty-Developments/HypixelSkyBlock/releases/download/latest/ServiceItemTracker.jar ./ServiceItemTracker.jar
16+
ADD https://github.com/Swofty-Developments/HypixelSkyBlock/releases/download/latest/ServiceDataMutex.jar ./ServiceDataMutex.jar
17+
18+
# For development, uncomment these lines and comment out the ADD lines above:
19+
# COPY ../loader/build/libs/HypixelCore.jar SkyBlockCore.jar
20+
# COPY ../service.api/build/libs/service.api-3.0.jar ./ServiceAPI.jar
21+
# COPY ../service.auctionhouse/build/libs/service.auctionhouse-3.0.jar ./ServiceAuctionHouse.jar
22+
# COPY ../service.bazaar/build/libs/service.bazaar-3.0.jar ./ServiceBazaar.jar
23+
# COPY ../service.itemtracker/build/libs/service.itemtracker-3.0.jar ./ServiceItemTracker.jar
1624

1725
# Copy configuration data
1826
COPY ./configuration /app/configuration_files
@@ -39,24 +47,24 @@ RUN cp configuration_files/NanoLimbo-1.9.1-all.jar ./NanoLimbo-1.9.1-all.jar
3947
RUN cp configuration_files/settings.yml ./settings.yml
4048

4149
# Copy Songs Folder
42-
RUN cp -R configuration_files/songs ./configuration/songs
50+
RUN cp -R configuration_files/songs ./configuration/skyblock/songs
4351

4452
# Copy Collections
45-
RUN cp -R configuration_files/collections ./configuration/collections
53+
RUN cp -R configuration_files/collections ./configuration/skyblock/collections
4654

4755
# Copy Items
48-
RUN cp -R configuration_files/items ./configuration/items
56+
RUN cp -R configuration_files/items ./configuration/skyblock/items
4957

5058
# Copy SkyBlockPack
51-
RUN cp -R configuration_files/SkyBlockPack ./configuration/SkyBlockPack
59+
RUN cp -R configuration_files/SkyBlockPack ./configuration/skyblock/SkyBlockPack
5260

5361
# Copy pack_textures
54-
RUN cp -R configuration_files/pack_textures ./configuration/pack_textures
62+
RUN cp -R configuration_files/pack_textures ./configuration/skyblock/pack_textures
5563

5664
# Copy Entrypoint Script
5765
RUN cp configuration_files/entrypoint.sh ./entrypoint.sh
5866

5967
RUN chmod +x entrypoint.sh
6068

61-
62-
CMD ./entrypoint.sh
69+
# Run all services in the background and keep HypixelCore in the foreground
70+
CMD ["sh", "entrypoint.sh"]

README.md

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
[<img src="https://discordapp.com/assets/e4923594e694a21542a489471ecffa50.svg" alt="" height="55" />](https://discord.gg/paper)
55

6-
A 1.8 to 1.21.4 recreation of HypixelSkyBlock utilizing Minestom, with the intention of actually having a properly abstracted, scalable codebase. This project is sisters with the [HypixelForums](https://github.com/Swofty-Developments/HypixelForums) project and optionally, can be used together.
6+
A 1.8 to 1.21.8 recreation of HypixelSkyBlock utilizing Minestom, with the intention of actually having a properly abstracted, scalable codebase. This project is sisters with the [HypixelForums](https://github.com/Swofty-Developments/HypixelForums) project and optionally, can be used together.
77

88
#### Releases
99

@@ -29,37 +29,38 @@ A video of me going through the guide [can be found here](https://www.youtube.co
2929
6. Follow the 'Game Server Setup Guide' below. (Note, if you want to run a cracked server, you must set "require-authentication" to true in your config)
3030
7. Follow the 'Service Setup Guide' below.
3131
8. Follow the 'Resource Pack Setup Guide' below.
32-
9. To give yourself ADMIN, log in and out of the server, go into your MongoDB compass, click on Minestom -> data, find your profile and set your rank to "ADMIN". Log back in and you'll have it.
32+
9. To give yourself ADMIN, log in and out of the server, go into your MongoDB compass, click on Minestom -> profiles and set your rank to "ADMIN". If there is not a rank field, create one just like `rank: ""ADMIN""`, log back in and you'll have it.
3333

3434
### Proxy Setup Guide
3535
1. Download 'SkyBlockProxy.jar' from the releases page [here](https://github.com/Swofty-Developments/HypixelSkyBlock/releases/tag/latest)
36-
2. Download the Velocity proxy from [here](https://api.papermc.io/v2/projects/velocity/versions/3.4.0-SNAPSHOT/builds/463/downloads/velocity-3.4.0-SNAPSHOT-463.jar)
36+
2. Download the Velocity proxy from [here](https://fill-data.papermc.io/v1/objects/303f9c60d5d75c52585c9e95efbc46d43ae8683efe7dee8763a16d6506681ee1/velocity-3.4.0-SNAPSHOT-528.jar)
3737
3. Download `velocity.toml` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration) and move it to where you want your Proxy server to run.
38-
4. Move your Velocity proxy JAR into that folder as well, and run the proxy using `java -jar velocity-3.4.0-SNAPSHOT-463.jar` as a command in that directory.
38+
4. Move your Velocity proxy JAR into that folder as well, and run the proxy using `java -jar velocity-3.4.0-SNAPSHOT-528.jar` as a command in that directory.
3939
5. Close this proxy once it has generated the `plugins` folder, just by pressing `CTRL + C` or closing the CMD Prompt.
4040
6. Move the `SkyBlockProxy.jar` from earlier into the plugins' folder.
4141
7. Make a new folder where your `velocity.toml` is and call it `configuration`
4242
8. Download `resources.json` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration)
4343
9. Move this file into the `configuration` folder you just made.
44-
10. Start the proxy again using `java -jar velocity-3.4.0-SNAPSHOT-463.jar`. This will need to be on for your game servers to work.
44+
10. Start the proxy again using `java -jar velocity-3.4.0-SNAPSHOT-528.jar`. This will need to be on for your game servers to work.
4545

4646
### Game Server Setup Guide
47-
1. Download 'SkyBlockCore.jar' from the releases page [here](https://github.com/Swofty-Developments/HypixelSkyBlock/releases/tag/latest)
47+
1. Download 'HypixelCore.jar' from the releases page [here](https://github.com/Swofty-Developments/HypixelSkyBlock/releases/tag/latest)
4848
2. Make a folder called `configuration` in the same directory as the JAR file. (Note this should be placed differently to where your Proxy is)
4949
3. Download `resources.json` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration)
5050
4. Move this file into the `configuration` folder you just made.
51-
5. Download the [world files for the SkyBlock Hub, Prototype Lobby, and Island worlds.](https://www.mediafire.com/file/xxnxgkqejlh17fn/HypixelRecreationWorlds.zip/file)
52-
6. Get the Hypixel SkyBlock hub from the above download and put it in the configuration folder you made under the name `hypixel_skyblock_hub`, and the Prototype Lobby under `hypixel_prototype_lobby`.
53-
7. Get the Hypixel Island default template from the above download and put it in the configuration folder you made under the name `hypixel_island_template`.
54-
8. Get the item and collection folders from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration) and put them into your configuration folder.
55-
9. There should be a `forwarding.secret` file where your Velocity JAR is, take this and put it into your `resources.json` under `velocity-secret`.
56-
10. Run the jar using `java -jar {Insert the JAR file} ISLAND`, this will create an Island server that will latch onto your running proxy.
57-
11. To make other game servers for the other islands merely run the command above again but with different island types, you can see all the possible types [here](https://github.com/Swofty-Developments/HypixelSkyBlock/blob/7df2db59ef0f14281f332d2cf43fdbf8ab09e574/commons/src/main/java/net/swofty/commons/ServerType.java#L4).
58-
12. Download `NanoLimbo.jar` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration), and download its configuration file from the same place. Start it in the background using `java -jar NanoLimbo-1.9.1-all.jar`. After running, a `settings.yml` file will be generated. Open it and scroll down till you see `secret: ''`. Put your velocity forwarding secret in there. Make sure that the `type` is set to `MODERN`.
59-
13. Download `Minestom.regions.csv` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration) and upload them to the `regions` collection made in your Mongo after starting the server. Once you have done this restart your server.
60-
14. (OPTIONAL) If you wish to have fairy souls, download `Minestom.fairysouls.csv` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration) and upload them to the `fairysouls` collection made in your Mongo after starting the server. Once you have done this restart your server.
61-
15. (OPTIONAL) If you wish to have the Hub crystals (you can also just `/addcrystal`), download `Minestom.crystals.csv` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration) and upload them to the `crystals` collection made in your Mongo after starting the server. Once you have done this restart your server.
62-
16. (OPTIONAL) If you wish to have Songs on your server, copy the `songs` folder from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration), and put it inside your configuration folder.
51+
5. Create a folder called `skyblock` in the existing configuration folder.
52+
6. Download the [world files for the SkyBlock Hub, Prototype Lobby, and Island worlds.](https://www.mediafire.com/file/xxnxgkqejlh17fn/HypixelRecreationWorlds.zip/file)
53+
7. Get the Hypixel SkyBlock hub from the above download and put it in the configuration/skyblock/islands/ folder you made under the name `hypixel_skyblock_hub`, and the Island Template under `hypixel_skyblock_island_template`.
54+
8. Get the Prototype lobby from the above download and put it in the configuration folder under the name `hypixel_prototype_lobby`..
55+
9. Get the item and collection folders from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration/skyblock) and put them into your configuration/skyblock/ folder.
56+
10. There should be a `forwarding.secret` file where your Velocity JAR is, take this and put it into your `resources.json` under `velocity-secret`.
57+
11. Run the jar using `java -jar {Insert the JAR file} SKYBLOCK_ISLAND`, this will create an Island server that will latch onto your running proxy.
58+
12. To make other game servers for the other islands merely run the command above again but with different island types, you can see all the possible types [here](https://github.com/Swofty-Developments/HypixelSkyBlock/blob/7df2db59ef0f14281f332d2cf43fdbf8ab09e574/commons/src/main/java/net/swofty/commons/ServerType.java#L4).
59+
13. Download `NanoLimbo.jar` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration), and download its configuration file from the same place. Start it in the background using `java -jar NanoLimbo-1.9.8.jar`. After running, a `settings.yml` file will be generated. Open it and scroll down till you see `secret: ''`. Put your velocity forwarding secret in there. Make sure that the `type` is set to `MODERN`.
60+
14. Download `Minestom.regions.csv` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration/skyblock) and upload them to the `regions` collection made in your Mongo after starting the server. Once you have done this restart your server.
61+
15. If you wish to have fairy souls, download `Minestom.fairysouls.csv` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration/skyblock) and upload them to the `fairysouls` collection made in your Mongo after starting the server. Once you have done this restart your server.
62+
16. If you wish to have the Hub crystals (you can also just `/addcrystal`), download `Minestom.crystals.csv` from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration/skyblock) and upload them to the `crystals` collection made in your Mongo after starting the server. Once you have done this restart your server.
63+
17. (OPTIONAL) If you wish to have Songs on your server, copy the `songs` folder from [here](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration/skyblock), and put it inside your configuration folder.
6364

6465
### Service Setup Guide
6566
1. Due to the nature of SkyBlock, there may be a variety of services that need to be run. Go to the releases page [here](https://github.com/Swofty-Developments/HypixelSkyBlock/releases/tag/latest) and download any .JAR files that start with `Service`.
@@ -72,7 +73,7 @@ A video of me going through the guide [can be found here](https://www.youtube.co
7273

7374
### Resource Pack Setup Guide
7475
1. In preparation for SkyBlock version 1, we already have a resource pack system setup. To start, download the `SkyBlockPacker.jar` from the releases page [here](https://github.com/Swofty-Developments/HypixelSkyBlock/releases/tag/latest).
75-
2. Download the [pack_textures](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration) and [SkyBlockPack](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration) folders and move them where the packer JAR is.
76+
2. Download the [pack_textures](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration/skyblock) and [SkyBlockPack](https://github.com/Swofty-Developments/HypixelSkyBlock/tree/master/configuration/skyblock) folders and move them where the packer JAR is.
7677
3. Run the packer JAR using `java -jar SkyBlockPacker.jar -v (Location of SkyBlockPack) -o (Output Directory) -t (Location of Pack Textures)`.
7778
4. Once this has finished, you should have a resource pack in the output directory you specified. Merely apply this on Minecraft and you'll be good to go.
7879

@@ -115,10 +116,10 @@ Or click the stop button in Docker Desktop.
115116
### How to add new servers using Docker?
116117
To add new servers like the Hub, Islands or Farming Island follow these steps:
117118
1. Open the `entrypoint.sh` file in the `configuration` folder.
118-
2. Add the following line to the end of the file, replacing `ServerType` with the type of server you want to add (e.g., `HUB`, `ISLAND`, etc.):
119+
2. Add the following line to the end of the file, replacing `ServerType` with the type of server you want to add (e.g., `SKYBLOCK_HUB`, `SKYBLOCK_ISLAND`, etc.):
119120

120121
```bash
121-
screen -dmS SkyBlockCore_HUB java --enable-preview -jar SkyBlockCore.jar ServerType
122+
screen -dmS HypixelCore_HUB java --enable-preview -jar HypixelCore.jar ServerType
122123
```
123124

124125
3. Save the file and run `docker-compose up --build` again to apply the changes.
@@ -141,7 +142,7 @@ and then run the service command inside there. It will create its own screen ses
141142
=> Your Memurai isn't running. If this can not be fixed, try out [this](https://github.com/tporadowski/redis/releases) instead.
142143
2. `Preview features are not enabled for... Try running with '--enable-preview'`
143144

144-
=> try `java --enable-preview -jar SkyBlockCore.jar {ServerType}`
145+
=> try `java --enable-preview -jar HypixelCore.jar {ServerType}`
145146
3. Having issues connecting to the server?
146147

147148
=> Check if your velocity secret is the same everywhere including the limbo config.

anticheat/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ repositories {
2020
}
2121

2222
dependencies {
23-
compileOnly("net.minestom:minestom-snapshots:1_21_4-7599413490") {
23+
compileOnly("net.minestom:minestom:2025.08.18-1.21.8") {
2424
exclude(group = "org.jboss.shrinkwrap.resolver", module = "shrinkwrap-resolver-depchain")
2525
}
2626
implementation("org.tinylog:tinylog-api:2.7.0")

commons/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ dependencies {
1919
implementation(project(":packer"))
2020
implementation("org.mongodb:bson:4.11.2")
2121

22-
compileOnly("net.minestom:minestom-snapshots:1_21_4-7599413490") {
22+
compileOnly("net.minestom:minestom:2025.08.18-1.21.8") {
2323
exclude(group = "org.jboss.shrinkwrap.resolver", module = "shrinkwrap-resolver-depchain")
2424
}
2525
}

commons/src/main/java/net/swofty/commons/CustomWorlds.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package net.swofty.commons;
22

33
public enum CustomWorlds {
4-
ISLANDS_TEMPLATE("hypixel_island_template"),
4+
SKYBLOCK_ISLAND_TEMPLATE("hypixel_skyblock_island_template"),
55
SKYBLOCK_HUB("hypixel_skyblock_hub"),
6-
DUNGEON_HUB("hypixel_dungeon_hub"),
6+
SKYBLOCK_DUNGEON_HUB("hypixel_skyblock_dungeon_hub"),
77
PROTOTYPE_LOBBY("hypixel_prototype_lobby"),
88
BEDWARS_LOBBY("hypixel_bedwars_lobby"),
99
;
@@ -15,6 +15,10 @@ public enum CustomWorlds {
1515
}
1616

1717
public String getFolderName() {
18-
return "./configuration/" + folderName;
18+
if (name().startsWith("SKYBLOCK_")) {
19+
return "./configuration/skyblock/islands/" + folderName;
20+
} else {
21+
return "./configuration/" + folderName;
22+
}
1923
}
2024
}

commons/src/main/java/net/swofty/commons/Songs.java

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

77
@Getter
88
public enum Songs {
9-
WILDERNESS(Path.of("./configuration/songs/wilderness.nbs")),
9+
WILDERNESS(Path.of("./configuration/skyblock/songs/wilderness.nbs")),
1010
;
1111

1212
private final Path path;

commons/src/main/java/net/swofty/commons/item/attribute/attributes/ItemAttributeHotPotatoBookData.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import net.swofty.commons.item.attribute.ItemAttribute;
1010
import net.swofty.commons.statistics.ItemStatistics;
1111
import org.jetbrains.annotations.Nullable;
12-
1312
import org.json.JSONArray;
1413
import org.json.JSONObject;
1514

@@ -35,7 +34,7 @@ public HotPotatoBookData loadFromString(String string) {
3534
JSONObject obj = new JSONObject(string);
3635

3736
PotatoType potatoType = null;
38-
if (obj.has("potatoType")){
37+
if (obj.has("potatoType")) {
3938
potatoType = obj.getEnum(PotatoType.class, "potatoType");
4039
}
4140

@@ -87,22 +86,22 @@ public static class HotPotatoBookData {
8786
private HashMap<ItemType, Integer> appliedItems = new HashMap<>();
8887

8988
public void addAmount(ItemType itemType, int amount) {
90-
if (!appliedItems.containsKey(itemType)){
89+
if (!appliedItems.containsKey(itemType)) {
9190
appliedItems.put(itemType, amount);
92-
}else{
91+
} else {
9392
appliedItems.put(itemType, appliedItems.get(itemType) + amount);
9493
}
9594
}
9695

97-
public int getAmount(ItemType type){
96+
public int getAmount(ItemType type) {
9897
return appliedItems.getOrDefault(type, 0);
9998
}
10099

101-
public boolean hasAppliedItem(ItemType itemType){
100+
public boolean hasAppliedItem(ItemType itemType) {
102101
return appliedItems.containsKey(itemType) && appliedItems.get(itemType) > 0;
103102
}
104103

105-
public boolean hasAppliedItem(){
104+
public boolean hasAppliedItem() {
106105
return appliedItems.values().stream().mapToInt(Integer::intValue).sum() > 0;
107106
}
108107
}

0 commit comments

Comments
 (0)