Skip to content

Commit 97aebe5

Browse files
authored
Merge branch 'master' into Create-team-system
2 parents d87afe9 + bce35bd commit 97aebe5

12 files changed

Lines changed: 124 additions & 58 deletions

File tree

.github/workflows/gradle.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ jobs:
1212
steps:
1313
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
1414
- name: Set up JDK 21
15-
uses: actions/setup-java@v4.6.0
15+
uses: actions/setup-java@v4.7.1
1616
with:
1717
java-version: 21
1818
distribution: 'adopt'
1919
cache: gradle
2020
- name: Validate Gradle wrapper
21-
uses: gradle/actions/wrapper-validation@v4.2.2
21+
uses: gradle/actions/wrapper-validation@v4.3.1
2222
- name: Build with Gradle
2323
run: ./gradlew build --warning-mode all
2424

@@ -42,19 +42,19 @@ jobs:
4242
steps:
4343
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
4444
- name: Set up JDK 21
45-
uses: actions/setup-java@v4.6.0
45+
uses: actions/setup-java@v4.7.1
4646
with:
4747
java-version: 21
4848
distribution: 'adopt'
4949
cache: gradle
5050
- name: Validate Gradle wrapper
51-
uses: gradle/actions/wrapper-validation@v4.2.2
51+
uses: gradle/actions/wrapper-validation@v4.3.1
5252
- name: Set version env variable
5353
run: |
5454
echo "runnumber=${{ github.run_number }}" >> $GITHUB_ENV
5555
- run: ./gradlew jar
5656
- name: Upload artifact
57-
uses: actions/upload-artifact@v4.6.0
57+
uses: actions/upload-artifact@v4.6.2
5858
with:
5959
name: StationofdoomPlugin
6060
path: build/libs
@@ -66,13 +66,13 @@ jobs:
6666
steps:
6767
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
6868
- name: Set up JDK 21
69-
uses: actions/setup-java@v4.6.0
69+
uses: actions/setup-java@v4.7.1
7070
with:
7171
java-version: 21
7272
distribution: 'adopt'
7373
cache: gradle
7474
- name: Validate Gradle wrapper
75-
uses: gradle/actions/wrapper-validation@v4.2.2
75+
uses: gradle/actions/wrapper-validation@v4.3.1
7676
- name: Set env variables
7777
run: |
7878
echo "REPOSILITE_USER=${{ secrets.REPOSILITE_USER }}" >> $GITHUB_ENV
@@ -120,13 +120,13 @@ jobs:
120120
steps:
121121
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
122122
- name: Set up JDK 21
123-
uses: actions/setup-java@v4.6.0
123+
uses: actions/setup-java@v4.7.1
124124
with:
125125
java-version: 21
126126
distribution: 'adopt'
127127
cache: gradle
128128
- name: Validate Gradle wrapper
129-
uses: gradle/actions/wrapper-validation@v4.2.2
129+
uses: gradle/actions/wrapper-validation@v4.3.1
130130
- name: Set env variables
131131
run: |
132132
echo "runnumber=${{ github.run_number }}" >> $GITHUB_ENV

.github/workflows/repo.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ jobs:
1111
steps:
1212
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
1313
- name: Set up JDK 21
14-
uses: actions/setup-java@v4.6.0
14+
uses: actions/setup-java@v4.7.1
1515
with:
1616
java-version: 21
1717
distribution: 'adopt'
1818
cache: gradle
1919
- name: Validate Gradle wrapper
20-
uses: gradle/actions/wrapper-validation@v4.2.2
20+
uses: gradle/actions/wrapper-validation@v4.3.1
2121
- name: Set env variables
2222
run: |
2323
echo "REPOSILITE_USER=${{ secrets.REPOSILITE_USER }}" >> $GITHUB_ENV

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ repositories {
2121
}
2222

2323
dependencies {
24-
library("com.google.code.gson:gson:2.11.0")
24+
library("com.google.code.gson:gson:2.13.0")
2525
library("club.minnced:discord-webhooks:0.8.4")
2626
paperweight.paperDevBundle("$minecraftVersion-R0.1-SNAPSHOT")
2727
library("org.postgresql:postgresql:42.7.5")
2828
library("de.chojo.sadu:sadu-postgresql:2.3.1")
2929
library("de.chojo.sadu:sadu-datasource:2.3.1")
3030
library("de.chojo.sadu:sadu-queries:2.3.1")
31-
library("com.zaxxer:HikariCP:6.2.1")
31+
library("com.zaxxer:HikariCP:6.3.0")
3232
}
3333

3434
java {

gradle/wrapper/gradle-wrapper.jar

122 Bytes
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/de/j/deathMinigames/main/Config.java

Lines changed: 53 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,14 @@ public class Config {
1515

1616
private volatile static boolean configSetUp;
1717
private volatile static int configParkourStartHeight;
18+
private final static int configParkourStartHeightDefault = 100;
1819
private volatile static int configParkourLength;
20+
private final static int configParkourLengthDefault = 10;
1921
private volatile static int configCostToLowerTheDifficulty;
22+
private final static int configCostToLowerTheDifficultyDefault = 6;
2023
private volatile static int configTimeToDecideWhenRespawning;
24+
private final static int configTimeToDecideWhenRespawningDefault = 10;
25+
2126
private volatile static Location configWaitingListPosition;
2227

2328
private Config(){}
@@ -74,37 +79,46 @@ public void initializeConfig() {
7479
*/
7580
public void cloneConfigToPlugin() {
7681
FileConfiguration config = Main.getPlugin().getConfig();
77-
if(config.contains("SetUp")) {
78-
setSetUp(config.getBoolean("SetUp"));
79-
}
80-
else {
81-
setSetUp(false);
82-
}
82+
handleCloneSetUp(config);
83+
handleCloneDatabase(config);
84+
handleCloneTablist(config);
85+
handleCloneCustomEnchants(config);
86+
}
87+
88+
private void handleCloneSetUp(FileConfiguration config) {
89+
boolean setUp = true;
8390
if(config.contains("ParkourStartHeight")) {
8491
setParkourStartHeight(config.getInt("ParkourStartHeight"));
8592
}
8693
else {
87-
setParkourStartHeight(100);
94+
setParkourStartHeight(configParkourStartHeightDefault);
95+
setUp = false;
8896
}
8997
if(config.contains("ParkourLength")) {
9098
setParkourLength(config.getInt("ParkourLength"));
9199
}
92100
else {
93-
setParkourLength(10);
101+
setParkourLength(configParkourLengthDefault);
102+
setUp = false;
94103
}
95104
if(config.contains("CostToLowerTheDifficulty")) {
96105
setCostToLowerTheDifficulty(config.getInt("CostToLowerTheDifficulty"));
97106
}
98107
else {
99-
setCostToLowerTheDifficulty(6);
108+
setCostToLowerTheDifficulty(configCostToLowerTheDifficultyDefault);
109+
setUp = false;
100110
}
101111
if(config.contains("TimeToDecideWhenRespawning")) {
102112
setTimeToDecideWhenRespawning(config.getInt("TimeToDecideWhenRespawning"));
103113
}
104114
else {
105-
setTimeToDecideWhenRespawning(10);
115+
setTimeToDecideWhenRespawning(configTimeToDecideWhenRespawningDefault);
116+
setUp = false;
106117
}
107-
// Database
118+
configSetUp = setUp;
119+
}
120+
121+
private void handleCloneDatabase(FileConfiguration config) {
108122
if(!config.contains("Database")) {
109123
config.set("Database.host", "default");
110124
config.set("Database.port", "default");
@@ -115,7 +129,9 @@ public void cloneConfigToPlugin() {
115129
config.set("Database.schema", "public");
116130
Main.getPlugin().saveConfig();
117131
}
118-
//Tablist
132+
}
133+
134+
private void handleCloneTablist(FileConfiguration config) {
119135
if(config.contains("Tablist")) {
120136
if(config.contains("Tablist.ServerName") && config.get("Tablist.ServerName") != null) {
121137
Tablist.setServerName(config.getString("Tablist.ServerName"));
@@ -129,6 +145,31 @@ public void cloneConfigToPlugin() {
129145
}
130146
}
131147

148+
private void handleCloneCustomEnchants(FileConfiguration config) {
149+
if(config.contains("CustomEnchants")) {
150+
boolean customEnchantBool;
151+
for (CustomEnchantsEnum customEnchantsEnum : CustomEnchantsEnum.values() ) {
152+
try {
153+
customEnchantBool = config.getBoolean("CustomEnchants." + customEnchantsEnum.name());
154+
customEnchantsEnum.setEnabled(customEnchantBool);
155+
}
156+
catch (Exception e) {
157+
Main.getMainLogger().warning("Setting value for custom enchantment " + customEnchantsEnum.name() + " failed. Falling back to default true value.");
158+
e.printStackTrace();
159+
customEnchantsEnum.setEnabled(true);
160+
}
161+
}
162+
}
163+
else {
164+
config.createSection("CustomEnchants");
165+
for (CustomEnchantsEnum customEnchantsEnum : CustomEnchantsEnum.values() ) {
166+
config.set("CustomEnchants." + customEnchantsEnum.name(), true);
167+
customEnchantsEnum.setEnabled(true);
168+
}
169+
Main.getPlugin().saveConfig();
170+
}
171+
}
172+
132173
public void cloneWaitingListLocationToPlugin(World world) {
133174
if(world == null) {
134175
Main.getMainLogger().severe("Ca not set waitingListLocation because world is null!");
@@ -145,16 +186,6 @@ public void cloneWaitingListLocationToPlugin(World world) {
145186
}
146187
}
147188

148-
/**
149-
* Sets whether the plugin is set up or not.
150-
* @param bool Whether the plugin is set up.
151-
*/
152-
public synchronized void setSetUp(boolean bool) {
153-
configSetUp = bool;
154-
Main.getPlugin().getConfig().set("SetUp", bool);
155-
Main.getPlugin().saveConfig();
156-
}
157-
158189
/**
159190
* Sets the height at which the parkour minigame starts.
160191
* @param height The height at which the parkour minigame starts.

src/main/java/de/j/stationofdoom/cmd/GetCustomEnchantsCMD.java

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ public void execute(@NotNull CommandSourceStack commandSourceStack, @NotNull Str
3131
MiniMessage mm = MiniMessage.miniMessage();
3232
switch (args[0].toLowerCase()) {
3333
case "telepathy" -> {
34+
if(!CustomEnchantsEnum.TELEPATHY.isEnabled()) {
35+
player.sendMessage(Component.text(translations.getTranslation(player, "enchantNotEnabled")).color(NamedTextColor.RED));
36+
return;
37+
}
3438
player.sendMessage(mm.deserialize(translations.getTranslation(player, "BuyCustomEnchant", "<red>", "<aqua>", "Telepathy", "<red>", "<bold>", CustomEnchantsEnum.TELEPATHY.getPrice(), "<reset>", "<red>")));
3539
Component f = Component
3640
.text(translations.getTranslation(player, "ClickThisMessage"))
@@ -39,6 +43,10 @@ public void execute(@NotNull CommandSourceStack commandSourceStack, @NotNull Str
3943
player.sendMessage(f);
4044
}
4145
case "flight" -> {
46+
if(!CustomEnchantsEnum.FLIGHT.isEnabled()) {
47+
player.sendMessage(Component.text(translations.getTranslation(player, "enchantNotEnabled")).color(NamedTextColor.RED));
48+
return;
49+
}
4250
player.sendMessage(mm.deserialize(translations.getTranslation(player, "BuyCustomEnchant", "<red>", "<aqua>", "Flight", "<red>", "<bold>", CustomEnchantsEnum.FLIGHT.getPrice(), "<reset>", "<red>")));
4351
Component f = Component
4452
.text(translations.getTranslation(player, "ClickThisMessage"))
@@ -47,6 +55,10 @@ public void execute(@NotNull CommandSourceStack commandSourceStack, @NotNull Str
4755
player.sendMessage(f);
4856
}
4957
case "furnace" -> {
58+
if(!CustomEnchantsEnum.FURNACE.isEnabled()) {
59+
player.sendMessage(Component.text(translations.getTranslation(player, "enchantNotEnabled")).color(NamedTextColor.RED));
60+
return;
61+
}
5062
player.sendMessage(mm.deserialize(translations.getTranslation(player, "BuyCustomEnchant", "<red>", "<aqua>", "Furnace", "<red>", "<bold>", CustomEnchantsEnum.FURNACE.getPrice(), "<reset>", "<red>")));
5163
Component f = Component
5264
.text(translations.getTranslation(player, "ClickThisMessage"))
@@ -60,6 +72,10 @@ public void execute(@NotNull CommandSourceStack commandSourceStack, @NotNull Str
6072
} else if (args.length == 2) {
6173
switch (args[0].toLowerCase()) {
6274
case "telepathy":
75+
if(!CustomEnchantsEnum.TELEPATHY.isEnabled()) {
76+
player.sendMessage(Component.text(translations.getTranslation(player, "enchantNotEnabled")).color(NamedTextColor.RED));
77+
return;
78+
}
6379
if (args[1].equalsIgnoreCase("confirm")) {
6480
Inventory inventory = player.getInventory();
6581
if (inventory.contains(Material.DIAMOND)) {
@@ -88,6 +104,10 @@ public void execute(@NotNull CommandSourceStack commandSourceStack, @NotNull Str
88104
}
89105

90106
case "flight":
107+
if(!CustomEnchantsEnum.FLIGHT.isEnabled()) {
108+
player.sendMessage(Component.text(translations.getTranslation(player, "enchantNotEnabled")).color(NamedTextColor.RED));
109+
return;
110+
}
91111
if (args[1].equalsIgnoreCase("confirm")) {
92112
Inventory inventory = player.getInventory();
93113
if (inventory.contains(Material.DIAMOND)) {
@@ -114,6 +134,10 @@ public void execute(@NotNull CommandSourceStack commandSourceStack, @NotNull Str
114134
}
115135

116136
case "furnace":
137+
if(!CustomEnchantsEnum.FURNACE.isEnabled()) {
138+
player.sendMessage(Component.text(translations.getTranslation(player, "enchantNotEnabled")).color(NamedTextColor.RED));
139+
return;
140+
}
117141
if (args[1].equalsIgnoreCase("confirm")) {
118142
Inventory inventory = player.getInventory();
119143
if (inventory.contains(Material.DIAMOND)) {
@@ -154,9 +178,15 @@ public boolean canUse(@NotNull CommandSender sender) {
154178
public @NotNull Collection<String> suggest(@NotNull CommandSourceStack commandSourceStack, @NotNull String[] args) {
155179
Collection<String> suggestions = new ArrayList<>();
156180
if (args.length == 0) {
157-
suggestions.add("telepathy");
158-
suggestions.add("flight");
159-
suggestions.add("furnace");
181+
if(CustomEnchantsEnum.TELEPATHY.isEnabled()) {
182+
suggestions.add("telepathy");
183+
}
184+
if(CustomEnchantsEnum.FLIGHT.isEnabled()) {
185+
suggestions.add("flight");
186+
}
187+
if(CustomEnchantsEnum.FURNACE.isEnabled()) {
188+
suggestions.add("furnace");
189+
}
160190
}
161191
return suggestions;
162192
}

src/main/java/de/j/stationofdoom/enchants/CustomEnchantsEnum.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,14 @@ public enum CustomEnchantsEnum {
1616
private final Translation loreName;
1717
private final int price;
1818
private final TranslationFactory tf;
19+
private boolean enabled;
1920

2021
CustomEnchantsEnum(String name, Translation loreName, int price) {
2122
this.name = name;
2223
this.loreName = loreName;
2324
this.price = price;
2425
tf = new TranslationFactory();
26+
this.enabled = true;
2527
}
2628

2729
public String getName() {
@@ -35,4 +37,12 @@ public Component getLoreName(Player player) {
3537
public int getPrice() {
3638
return price;
3739
}
40+
41+
public void setEnabled(boolean enabled) {
42+
this.enabled = enabled;
43+
}
44+
45+
public boolean isEnabled() {
46+
return this.enabled;
47+
}
3848
}

src/main/java/de/j/stationofdoom/enchants/FlightEvents.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package de.j.stationofdoom.enchants;
22

3+
import de.j.stationofdoom.main.Main;
34
import org.bukkit.entity.*;
45
import org.bukkit.event.EventHandler;
56
import org.bukkit.event.Listener;
@@ -11,6 +12,7 @@ public class FlightEvents implements Listener {
1112

1213
@EventHandler
1314
public void onHit(EntityDamageByEntityEvent event) {
15+
if(!CustomEnchantsEnum.FLIGHT.isEnabled()) return;
1416
if (!(event.getDamager() instanceof Player)) return;
1517
Player player = (Player) event.getDamager();
1618
if (!player.getInventory().getItemInMainHand().hasItemMeta()) return;

0 commit comments

Comments
 (0)