Hello. I'd like to introduce you a tool which was created to improve trading experience at minecraft servers. It was developed by me for my friends, but I guess it can be usefull for someone else, so I decided to post it here. It consists of 2 separate parts:
1. Site
This is a simple static single page site for searching through the minecraft server trades. It is based on angular 1.5.0, ui-select 0.19.8, and a few my own scripts for data loading and multilanguage support.
Originally it was created to support QuickShop spigot plugin, but it doesn't depend on it, or its database table structures, so it can be used with anything else. Here is a short explanation of how it is works:
When you chose any item in the search bar js application sends GET request(with minecraft item id as a parameter) on the server and expects to receive a json object as a response, which will be parsed and showed on the page.
As already mentioned, this is just a static html page with a few js scripts, so it can't get data from your database. The only thing it does to load data is a "GET" request to a server, so you should provide a server app with all server logic, which will provides json object with trades as a response. By default, it loads pre generated static json file demo.json so you need to set a correct link in the configuration file - configs.js.
Localization
It provides you a multiple language support. All localized strings stores in json files in data directory. You can find default language configuration option in the configuration file - configs.js. At the same time you can choose language manually by adding "?lang=YOUR_LANGUAGE_SHORTCUT" ( "?lang=en" as for example ) to the end of page url.
Configs
As already was mentioned there are a few configuration options, which should allow you to simplify adjusting of this site to your server and requirements. Here is a link to the configuration file - configs.js.
link - link to the Get endpoint which will be used to load trades data from your server
lang - localization which will be loaded and used by default
showPrice - this option allows you to disable to show prices(it doesn't affect server side application)
map - a set of options which will be used to automatically generate links on the map. It is designed for usage with Dynmap
2. Server application
This is a server side application for the MineTrades site. It provides you a rest Get endpoint to request all required data about trades on your server. This application designed to be used with QuickShop and LuckPerms spigot plugins, or, to be more correct, with their databases.
This application provides you a single Get endpoint:
/search?item=ITEM_ID&enchantment=ENCHANTMENT_ID
"item" is a required parameter, but "enchantment" is optional and should be used only for enchanted books(in other cases it will be ignored)
Configuration
To make it easier for you almost all important things can be configured in "application.yml" file in "configs" section. For sure some of them, such as database connection parameters should be changed by you, but other params are optional and has default values. Alternatively, instead of any modifications in the sources, you can provide those params at the application start up.
Deploy
To build application run next command(be sure you have Gradle 5 and Java 8):
gradle bootJar
Alternatively you can use one of the builds from Releases section on the github page of the repository. To run application run next command(be sure you have Java 8):
java -jar APPLICATION_JAR_NAME.jar
Also, as already said, you can provide all configuration params at the application start up. All of them are optional(in case of lack of some the default parameters from "application.yml" will be used). Just add next text at the end of previous command:
--PARAM_NAME=VALUE
Terms of use:
You are free to use it in any way you want, I do not need anything in exchange.
Hello. I've made an own armor, which looks great with default "steve" skin, but there are a few problems with some other skins. They adds additional layer which partially overlap my armor. So i have a few questions about it:
1) Is there any way to "correctly" scale my armor?
2) Is there any way to disable those additional layer for player's skin?
3) How can I set default skin for development environment? I know that it is possible to just replace steve texture with my own, but what about "alex" model? Can it be disabled?
Just wanted to let you know that it seems like your mod absolutely hates Optifine because after I added it, a great majority of the mod's items turned invisible and unuseable.
I haven't got any problem with it, so could you please provide more information about it? Which version of optifine do you use?
Hello guys. I'm wondering, may be some of you have good ideas of enchantments for bone armor, bone pickaxe and bone shovel? Something related to death, necromancy, any type of "black magic", or at least related to its name, bones or enchantment effect.
I've already made an enchantment for boots(which should allows to walk on lava), for leggings(which allows to normally wallk in web), and have a few ideas about some other items, but not for all of them.
Also content of naturally generated graves will use loot tables since next versions, so graves content will be fully configurable for modpacks, and it will be possible for other mods to add some items to specific graves. If someone has any additional request it will be better to say about it before next release. Here you can read more about it : https://github.com/NightKosh/Gravestone-mod-Extended/issues/99#issuecomment-441428973
I guess that this problem caused as a side effect of eternal attempts to block "telegram" in my country. Such things like blocking a few millions of IP address or certificates substitution happened before...
For some reasons all my projects throws an error on when I try to run them. Here is a full error message
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1506)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
at net.minecraftforge.gradle.common.BasePlugin.getWithEtag(BasePlugin.java:723)
at net.minecraftforge.gradle.common.BasePlugin.getRemoteJsons(BasePlugin.java:226)
at net.minecraftforge.gradle.common.BasePlugin.apply(BasePlugin.java:182)
at net.minecraftforge.gradle.common.BasePlugin.apply(BasePlugin.java:91)
at org.gradle.api.internal.plugins.ImperativeOnlyPluginApplicator.applyImperative(ImperativeOnlyPluginApplicator.java:35)
at org.gradle.api.internal.plugins.RuleBasedPluginApplicator.applyImperative(RuleBasedPluginApplicator.java:43)
at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:137)
at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:112)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyType(DefaultObjectConfigurationAction.java:113)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:36)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:80)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:136)
at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:46)
at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.java:34)
at org.gradle.api.Script$apply$0.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at build_2dcj3g0r57b1h562pgzspt0vc.run(C:\Users\Fox\Desktop\mine\Gravestone-mod-Extended-1.12.2\build.gradle:10)
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:177)
at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:182)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:540)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:124)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:121)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1488)
... 93 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:146)
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
... 99 more
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1506)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
at net.minecraftforge.gradle.common.BasePlugin.getWithEtag(BasePlugin.java:723)
at net.minecraftforge.gradle.common.BasePlugin.getWithEtag(BasePlugin.java:684)
at net.minecraftforge.gradle.user.patcherUser.forge.ForgePlugin.setForgeVersionJson(ForgePlugin.java:159)
at net.minecraftforge.gradle.user.patcherUser.forge.ForgePlugin.applyUserPlugin(ForgePlugin.java:56)
at net.minecraftforge.gradle.user.UserBasePlugin.applyPlugin(UserBasePlugin.java:171)
at net.minecraftforge.gradle.common.BasePlugin.apply(BasePlugin.java:214)
at net.minecraftforge.gradle.common.BasePlugin.apply(BasePlugin.java:91)
at org.gradle.api.internal.plugins.ImperativeOnlyPluginApplicator.applyImperative(ImperativeOnlyPluginApplicator.java:35)
at org.gradle.api.internal.plugins.RuleBasedPluginApplicator.applyImperative(RuleBasedPluginApplicator.java:43)
at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:137)
at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:112)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyType(DefaultObjectConfigurationAction.java:113)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:36)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:80)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:136)
at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:46)
at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.java:34)
at org.gradle.api.Script$apply$0.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at build_2dcj3g0r57b1h562pgzspt0vc.run(C:\Users\Fox\Desktop\mine\Gravestone-mod-Extended-1.12.2\build.gradle:10)
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:177)
at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:182)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:540)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:124)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:121)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1488)
... 96 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:146)
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
... 102 more
This mapping 'snapshot_20171003' was designed for MC 1.12! Use at your own peril.
#################################################
ForgeGradle 2.3-SNAPSHOT-3996470
https://github.com/MinecraftForge/ForgeGradle
#################################################
Powered by MCP
http://modcoderpack.com
by: Searge, ProfMobius, R4wk, ZeuX
Fesh0r, IngisKahn, bspkrs, LexManos
#################################################
Found AccessTransformer: Gravestone_mod_Extended_at.cfg
:deobfCompileDummyTask
:deobfProvidedDummyTask
:sourceApiJava UP-TO-DATE
Note: C:\Users\Fox\Desktop\mine\Gravestone-mod-Extended-1.12.2\build\sources\api\java\sophisticated_wolves\api\EnumWolfSpecies.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
:compileApiJava
:processApiResources UP-TO-DATE
:apiClasses
:sourceMainJava UP-TO-DATE
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
:compileJava
:processResources UP-TO-DATE
:classes
:jar UP-TO-DATE
:getVersionJson
:extractNatives SKIPPED
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':forgeGradleUserDevPackage'.
> Could not resolve net.minecraftforge:forge:1.12.2-14.23.4.2749.
Required by:
nightkosh.gravestone_extended:Gravestone-mod-Extended-1.12.2:1.3.2
> Could not resolve net.minecraftforge:forge:1.12.2-14.23.4.2749.
> Could not get resource 'https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.4.2749/forge-1.12.2-14.23.4.2749.pom'.
> Could not HEAD 'https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.4.2749/forge-1.12.2-14.23.4.2749.pom'.
> sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
"Sophisticated wolves" mod has "pet carrier" - item, which can be used to transport dogs, cats, rabbits, chickens and parrots inside it in your inventory.
are these by any chance going to get added to the 1.7.10 version?
Unfortunately my answer is the same as previous - I haven't got time and effort to work on outdated versions.
But it is ok if someone decide to take it over - I'm ready to give a permission to you or any other any persons who want to maintain and redistribute 1.7.10 version of the mod in any way.
Cemetery key can be used to create your own cemetery. This means that every time you die your grave will be generated on this cemetery instead of place of death.
To activate it you should click on any memorial with "cemetery key" in hand. Cats and dogs statues can be used only for pet cemetery(only for dogs and cats).
Every key can be used only by single player, but you can reuse it as much as you want.
Player cemetery has 60 "slots" for graves - lines of 4 graves to each sides (look on image below )
Pet cemetery consists of 32 graves - lines of 3 graves to each sides
Also there is a "Server cemetery key". This item can be obtained only in creative mod. As you may suggested it provides similar effect for all players on the server. Its priority is lower the ordinary key.
Server cemetery for player consists of 396 graves - lines of 10 graves to each sides
Server pet cemetery consists of 96 graves - lines of 5 graves to each sides
0
Updated for minecraft 1.19.2
0
Hello. I'd like to introduce you a tool which was created to improve trading experience at minecraft servers. It was developed by me for my friends, but I guess it can be usefull for someone else, so I decided to post it here. It consists of 2 separate parts:
This is a simple static single page site for searching through the minecraft server trades. It is based on angular 1.5.0, ui-select 0.19.8, and a few my own scripts for data loading and multilanguage support.
Originally it was created to support QuickShop spigot plugin, but it doesn't depend on it, or its database table structures, so it can be used with anything else. Here is a short explanation of how it is works:
When you chose any item in the search bar js application sends GET request(with minecraft item id as a parameter) on the server and expects to receive a json object as a response, which will be parsed and showed on the page.
Sources
All sources available at the GitHub repository.
Demo
Here is a link on a demo page with pre generated static data http://www.minetrades.nightkosh.com/?lang=en
Data loading
As already mentioned, this is just a static html page with a few js scripts, so it can't get data from your database. The only thing it does to load data is a "GET" request to a server, so you should provide a server app with all server logic, which will provides json object with trades as a response. By default, it loads pre generated static json file demo.json so you need to set a correct link in the configuration file - configs.js.
Localization
It provides you a multiple language support. All localized strings stores in json files in data directory. You can find default language configuration option in the configuration file - configs.js. At the same time you can choose language manually by adding "?lang=YOUR_LANGUAGE_SHORTCUT" ( "?lang=en" as for example ) to the end of page url.
Configs
As already was mentioned there are a few configuration options, which should allow you to simplify adjusting of this site to your server and requirements. Here is a link to the configuration file - configs.js.
This is a server side application for the MineTrades site. It provides you a rest Get endpoint to request all required data about trades on your server. This application designed to be used with QuickShop and LuckPerms spigot plugins, or, to be more correct, with their databases.
Sources
All sources available at the GitHub repository.
Endpoint
This application provides you a single Get endpoint:
"item" is a required parameter, but "enchantment" is optional and should be used only for enchanted books(in other cases it will be ignored)
Configuration
To make it easier for you almost all important things can be configured in "application.yml" file in "configs" section. For sure some of them, such as database connection parameters should be changed by you, but other params are optional and has default values. Alternatively, instead of any modifications in the sources, you can provide those params at the application start up.
Deploy
To build application run next command(be sure you have Gradle 5 and Java 8):
Alternatively you can use one of the builds from Releases section on the github page of the repository. To run application run next command(be sure you have Java 8):
Also, as already said, you can provide all configuration params at the application start up. All of them are optional(in case of lack of some the default parameters from "application.yml" will be used). Just add next text at the end of previous command:
You are free to use it in any way you want, I do not need anything in exchange.
0
Advanced fishing is not required dependency anymore(but some content will not be available without it)
Gravestone mod - Extended 1.3.5
Changes:
A little bit more about graves loot tables:
Here you can look on them: https://github.com/NightKosh/Gravestone-mod-Extended/tree/master/src/main/resources/assets/gravestone-extended/loot_tables/graves
Also I've added few own "conditions" (which can be used only for graves content):
1) "grave_material" - allows to generate content only for specific grave material.
it take such values as "IRON", "GOLD", "DIAMOND", and some other( https://github.com/NightKosh/Gravestone-mod-Graves-API/blob/c951db91840291d2a7bac0c04755ab472953d537/nightkosh/gravestone/api/grave/EnumGraveMaterial.java#L13-L30 )
example: https://github.com/NightKosh/Gravestone-mod-Extended/blob/master/src/main/resources/assets/gravestone-extended/loot_tables/graves/player/wizard.json#L202-L207
2) "grave_type" - allows to generate content only for graves which belongs to specific type of "mobs":
example : https://github.com/NightKosh/Gravestone-mod-Extended/blob/master/src/main/resources/assets/gravestone-extended/loot_tables/graves/grave.json#L6-L11
3) "content_type" - a type of content:
example: https://github.com/NightKosh/Gravestone-mod-Extended/blob/master/src/main/resources/assets/gravestone-extended/loot_tables/graves/player.json#L57-L62
4) "corpse_content_type" - to chose what should be placed in grave:
example: https://github.com/NightKosh/Gravestone-mod-Extended/blob/master/src/main/resources/assets/gravestone-extended/loot_tables/graves/player.json#L6-L11
0
Hello. I've made an own armor, which looks great with default "steve" skin, but there are a few problems with some other skins. They adds additional layer which partially overlap my armor. So i have a few questions about it:
1) Is there any way to "correctly" scale my armor?
2) Is there any way to disable those additional layer for player's skin?
3) How can I set default skin for development environment? I know that it is possible to just replace steve texture with my own, but what about "alex" model? Can it be disabled?
0
I haven't got any problem with it, so could you please provide more information about it? Which version of optifine do you use?
0
Hello guys. I'm wondering, may be some of you have good ideas of enchantments for bone armor, bone pickaxe and bone shovel? Something related to death, necromancy, any type of "black magic", or at least related to its name, bones or enchantment effect.
I've already made an enchantment for boots(which should allows to walk on lava), for leggings(which allows to normally wallk in web), and have a few ideas about some other items, but not for all of them.
Also content of naturally generated graves will use loot tables since next versions, so graves content will be fully configurable for modpacks, and it will be possible for other mods to add some items to specific graves. If someone has any additional request it will be better to say about it before next release. Here you can read more about it : https://github.com/NightKosh/Gravestone-mod-Extended/issues/99#issuecomment-441428973
0
Gravestone mod - Extended 1.3.4
Changes:
0
Gravestone mod - Extended 1.3.3 has been released :
Changes:
New configuration options:
also "PhantomDiverSpawnWeight" was renamed to "SpawnWeightPhantomDiver"
Recipes:
Bone armor:
Like any other bone tools, bone armor resistant to "Rust" debuff, furthermore full set of this armor protect you from "toxic water".
1
I guess that this problem caused as a side effect of eternal attempts to block "telegram" in my country. Such things like blocking a few millions of IP address or certificates substitution happened before...
Anyway I solved this problem:
1) export "https://files.minecraftforge.net/" certificate
2) place it to the "%JAVA_HOME%/jre/lib/security/"
3) import the certificate into java keystore by next command:
4) add to the project's "gradle.properties":
1
For some reasons all my projects throws an error on when I try to run them. Here is a full error message
I have no ideas why it happens and how to fix it,
0
Advanced Fishing 1.3.3 has been released.
Changes:
0
Hello. I'm looking for a tool to create custom armor model.
It looks like Techne finally dead, so may be someone can give me any advice about any other tool?
0
"Sophisticated wolves" mod has "pet carrier" - item, which can be used to transport dogs, cats, rabbits, chickens and parrots inside it in your inventory.
0
Unfortunately my answer is the same as previous - I haven't got time and effort to work on outdated versions.
But it is ok if someone decide to take it over - I'm ready to give a permission to you or any other any persons who want to maintain and redistribute 1.7.10 version of the mod in any way.
0
Cemetery key can be used to create your own cemetery. This means that every time you die your grave will be generated on this cemetery instead of place of death.
To activate it you should click on any memorial with "cemetery key" in hand. Cats and dogs statues can be used only for pet cemetery(only for dogs and cats).
Every key can be used only by single player, but you can reuse it as much as you want.
Player cemetery has 60 "slots" for graves - lines of 4 graves to each sides (look on image below )
Pet cemetery consists of 32 graves - lines of 3 graves to each sides
Also there is a "Server cemetery key". This item can be obtained only in creative mod. As you may suggested it provides similar effect for all players on the server. Its priority is lower the ordinary key.
Server cemetery for player consists of 396 graves - lines of 10 graves to each sides
Server pet cemetery consists of 96 graves - lines of 5 graves to each sides