Compare commits
4 Commits
9f49f44075
...
639d06b01d
Author | SHA1 | Date | |
---|---|---|---|
639d06b01d | |||
fcc2abdc49 | |||
a3729734cb | |||
90b623ea07 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -118,3 +118,5 @@ run/
|
||||
!gradle-wrapper.jar
|
||||
/gradlew
|
||||
/gradlew.bat
|
||||
|
||||
local.gradle
|
||||
|
@ -46,4 +46,8 @@ shadowJar {
|
||||
relocate 'com.sparkjava', 'eu.mhsl.lib.shadow.spark-core'
|
||||
|
||||
mergeServiceFiles()
|
||||
}
|
||||
}
|
||||
|
||||
if (file("local.gradle").exists()) {
|
||||
apply from: "local.gradle"
|
||||
}
|
||||
|
@ -107,6 +107,9 @@ public class Settings extends Appliance {
|
||||
.filter(setting -> ((CategorizedSetting) setting).category().equals(category))
|
||||
.toList();
|
||||
|
||||
//skip empty category rows
|
||||
if(categorizedSettings.isEmpty()) return;
|
||||
|
||||
for(int i = 0; i < categorizedSettings.size(); i++) {
|
||||
int slot = row.get() * 9 + i % 9;
|
||||
inventory.setItem(slot, categorizedSettings.get(i).buildItem());
|
||||
@ -139,17 +142,23 @@ public class Settings extends Appliance {
|
||||
int countOfUncategorized = (int) settings.stream()
|
||||
.filter(setting -> !(setting instanceof CategorizedSetting))
|
||||
.count();
|
||||
int rowsOfUncategorized = (int) Math.ceil((double) countOfUncategorized / 9);
|
||||
|
||||
return Arrays.stream(SettingCategory.values())
|
||||
int rowsOfCategorized = Arrays.stream(SettingCategory.values())
|
||||
.map(settingCategory -> settings.stream()
|
||||
.filter(setting -> setting instanceof CategorizedSetting)
|
||||
.map(setting -> (CategorizedSetting) setting)
|
||||
.filter(categorizedSetting -> categorizedSetting.category().equals(settingCategory))
|
||||
.count())
|
||||
.map(itemCount -> itemCount + countOfUncategorized)
|
||||
.map(itemCount -> (int) Math.ceil((double) itemCount / 9))
|
||||
.reduce(Integer::sum)
|
||||
.orElse(1) * 9;
|
||||
|
||||
int rows = rowsOfUncategorized + rowsOfCategorized;
|
||||
if(rows % 9 != 0) throw new IllegalStateException(
|
||||
String.format("Failed to calculate settings inventory size. %d is not an multiple of 9", rows)
|
||||
);
|
||||
return rows;
|
||||
}
|
||||
|
||||
public void onSettingsClose(Player player) {
|
||||
|
@ -66,8 +66,10 @@ public final class Main extends JavaPlugin {
|
||||
});
|
||||
Main.logger().info(String.format("Initialized %d appliances!", this.appliances.size()));
|
||||
|
||||
Main.logger().info("Starting HTTP API...");
|
||||
new HttpServer();
|
||||
if(Configuration.pluginConfig.getBoolean("httpServerEnabled", true)) {
|
||||
Main.logger().info("Starting HTTP API...");
|
||||
new HttpServer();
|
||||
}
|
||||
|
||||
this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
|
||||
Main.logger().info("Startup complete!");
|
||||
|
@ -1,4 +1,5 @@
|
||||
plugin:
|
||||
httpServerEnabled: true
|
||||
disabledAppliances:
|
||||
- NameOfApplianceClass
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user