Где хранить инфу о доступных/выполненных квестах

Версия Minecraft
1.19.2
API
Forge
Хай всем снова я)

В общем у меня стал вопрос, о хранении информации о выполненных квестах
Я изначально целился на CAPABILITY и это на первый взгляд кажется верным решением, но в случае если квестов будет 10 000
Что произойдет? как это повлияет на клиент и сервер, сможет ли майнкрафт обрабатывать такое количество кап для 10 20 50 100 игроков?
да и к тому же если выполнить /data get по игроку, при таком количестве кап прочитать полученную инфу будет почти невозможно.
вот встает вопрос каким образом хранить подобный объем инфы об игроке

чем пользуетесь вы? дайте совет
 
Решение
Я попробую потом, напишу.
вот run.bat сервера
java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.19.3-44.1.0/win_args.txt %*
если туда заглянуть, а именно во второй файл, то тут идут перечисления библиотек, вот и добавляешь её туда в список
Код:
-p...
1,038
57
229
а ты прикрепил JAR
1682269600435.png
1682269989301.png
 
Последнее редактирование:
1,038
57
229
Jar-in-Jar так и должен выглядеть?
можно и так, но если несколько модов будут её использовать, то это будет в каждом и это увеличит размер.
Лучше вынести отдельно в папочку.
 
1,038
57
229
1,038
57
229
Я с gradle плохо знаком, скорее всего тебе где то там надо указать что сам JAR вкладывать не нужно.
Я попробую потом, напишу.
 
Вот кстати пока горячо,
code:
  try {
            PreparedStatement statement = getBdconnection().prepareStatement(insert);
            statement.setString(1, val);

            statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
каждый раз подобный код должен оканчиваться закрытием соединения?
 

will0376

Токсичная личность
2,079
55
585
каждый раз подобный код должен оканчиваться закрытием соединения?
Да. поскольку открытое соединение = утечка памяти.
Есть либы, предоставляющие пул соединений - они сами заведуют вроде как открытием/закрытием канала.
 
Code:
jarJar.enable()

tasks.jarJar.configure { }

minecraft {...}

sourceSets.main.resources { srcDir 'src/generated/resources' }

repositories {}

dependencies {
    minecraft 'net.minecraftforge:forge:1.19.2-43.2.3'
    implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.33'
    jarJar(group: 'mysql', name: 'mysql-connector-java', version: '[8.0.26,8.0.33)'){
        jarJar.pin(it, "8.0.33")
    }
}
собственно вот и градл
 
Да. поскольку открытое соединение = утечка памяти.
Есть либы, предоставляющие пул соединений - они сами заведуют вроде как открытием/закрытием канала.
Спасибо, буду эксперементировать
 
1,038
57
229
Я попробую потом, напишу.
вот run.bat сервера
java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.19.3-44.1.0/win_args.txt %*
если туда заглянуть, а именно во второй файл, то тут идут перечисления библиотек, вот и добавляешь её туда в список
Код:
-p libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar;libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar;libraries/org/ow2/asm/asm-commons/9.3/asm-commons-9.3.jar;libraries/org/ow2/asm/asm-util/9.3/asm-util-9.3.jar;libraries/org/ow2/asm/asm-analysis/9.3/asm-analysis-9.3.jar;libraries/org/ow2/asm/asm-tree/9.3/asm-tree-9.3.jar;libraries/org/ow2/asm/asm/9.3/asm-9.3.jar;libraries/net/minecraftforge/JarJarFileSystems/0.3.19/JarJarFileSystems-0.3.19.jar
--add-modules ALL-MODULE-PATH
--add-opens java.base/java.util.jar=cpw.mods.securejarhandler
--add-opens java.base/java.lang.invoke=cpw.mods.securejarhandler
--add-exports java.base/sun.security.util=cpw.mods.securejarhandler
--add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming
-Djava.net.preferIPv6Addresses=system
-DignoreList=bootstraplauncher-1.1.2.jar,securejarhandler-2.1.4.jar,asm-commons-9.3.jar,asm-util-9.3.jar,asm-analysis-9.3.jar,asm-tree-9.3.jar,asm-9.3.jar,JarJarFileSystems-0.3.19.jar
-DlibraryDirectory=libraries
-DlegacyClassPath=libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar;libraries/org/ow2/asm/asm/9.3/asm-9.3.jar;libraries/org/ow2/asm/asm-commons/9.3/asm-commons-9.3.jar;libraries/org/ow2/asm/asm-tree/9.3/asm-tree-9.3.jar;libraries/org/ow2/asm/asm-util/9.3/asm-util-9.3.jar;libraries/org/ow2/asm/asm-analysis/9.3/asm-analysis-9.3.jar;libraries/net/minecraftforge/accesstransformers/8.0.4/accesstransformers-8.0.4.jar;libraries/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar;libraries/net/minecraftforge/eventbus/6.0.3/eventbus-6.0.3.jar;libraries/net/minecraftforge/forgespi/6.0.0/forgespi-6.0.0.jar;libraries/net/minecraftforge/coremods/5.0.1/coremods-5.0.1.jar;libraries/cpw/mods/modlauncher/10.0.8/modlauncher-10.0.8.jar;libraries/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar;libraries/com/electronwill/night-config/core/3.6.4/core-3.6.4.jar;libraries/com/electronwill/night-config/toml/3.6.4/toml-3.6.4.jar;libraries/org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar;libraries/net/jodah/typetools/0.8.3/typetools-0.8.3.jar;libraries/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar;libraries/org/jline/jline-reader/3.12.1/jline-reader-3.12.1.jar;libraries/org/jline/jline-terminal/3.12.1/jline-terminal-3.12.1.jar;libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar;libraries/org/openjdk/nashorn/nashorn-core/15.3/nashorn-core-15.3.jar;libraries/net/minecraftforge/JarJarSelector/0.3.19/JarJarSelector-0.3.19.jar;libraries/net/minecraftforge/JarJarMetadata/0.3.19/JarJarMetadata-0.3.19.jar;libraries/net/minecraftforge/fmlloader/1.19.3-44.1.0/fmlloader-1.19.3-44.1.0.jar;libraries/net/minecraft/server/1.19.3-20221207.122022/server-1.19.3-20221207.122022-extra.jar;libraries/com/github/oshi/oshi-core/6.2.2/oshi-core-6.2.2.jar;libraries/com/google/code/gson/gson/2.10/gson-2.10.jar;libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar;libraries/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar;libraries/com/mojang/authlib/3.16.29/authlib-3.16.29.jar;libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar;libraries/com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar;libraries/com/mojang/javabridge/2.0.25/javabridge-2.0.25.jar;libraries/com/mojang/logging/1.1.1/logging-1.1.1.jar;libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar;libraries/io/netty/netty-buffer/4.1.82.Final/netty-buffer-4.1.82.Final.jar;libraries/io/netty/netty-codec/4.1.82.Final/netty-codec-4.1.82.Final.jar;libraries/io/netty/netty-common/4.1.82.Final/netty-common-4.1.82.Final.jar;libraries/io/netty/netty-handler/4.1.82.Final/netty-handler-4.1.82.Final.jar;libraries/io/netty/netty-resolver/4.1.82.Final/netty-resolver-4.1.82.Final.jar;libraries/io/netty/netty-transport/4.1.82.Final/netty-transport-4.1.82.Final.jar;libraries/io/netty/netty-transport-classes-epoll/4.1.82.Final/netty-transport-classes-epoll-4.1.82.Final.jar;libraries/io/netty/netty-transport-native-epoll/4.1.82.Final/netty-transport-native-epoll-4.1.82.Final-linux-x86_64.jar;libraries/io/netty/netty-transport-native-epoll/4.1.82.Final/netty-transport-native-epoll-4.1.82.Final-linux-aarch_64.jar;libraries/io/netty/netty-transport-native-unix-common/4.1.82.Final/netty-transport-native-unix-common-4.1.82.Final.jar;libraries/it/unimi/dsi/fastutil/8.5.9/fastutil-8.5.9.jar;libraries/net/java/dev/jna/jna/5.12.1/jna-5.12.1.jar;libraries/net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar;libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar;libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar;libraries/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar;libraries/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar;libraries/org/apache/logging/log4j/log4j-slf4j2-impl/2.19.0/log4j-slf4j2-impl-2.19.0.jar;libraries/org/joml/joml/1.10.5/joml-1.10.5.jar;libraries/org/slf4j/slf4j-api/2.0.1/slf4j-api-2.0.1.jar
cpw.mods.bootstraplauncher.BootstrapLauncher
--launchTarget forgeserver
--fml.forgeVersion 44.1.0
--fml.mcVersion 1.19.3
--fml.forgeGroup net.minecraftforge
--fml.mcpVersion 20221207.122022

Код:
-p ... сюда
-DlegacyClassPath= ... или сюда

То есть когда ты запускаешь java, ты можешь передать в параметрах все пути или прям прямую линку на либу.
 
Сверху