• 0

    posted a message on MineTrades - site for your server trades.

    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.


    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.


      • 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.

    Sources


    All sources available at the GitHub repository.

    Endpoint


    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.

    Posted in: Minecraft Tools
  • 0

    posted a message on Gravestone mod

    Advanced fishing is not required dependency anymore(but some content will not be available without it)


    Gravestone mod - Extended 1.3.5



    Changes:

    • Fixed left hand of bone armor
    • Fixed chance to catch "enchanted wither skull" in the Nether.
    • New enchantment - "Web Crawler". Can be applied only on bone leggings. It allows to walk normally through web.
    • New enchantment - "Frozen Nether". Can be applied only on bone boots. It's temporary freeze lava under your feet so you can walk on lava.
    • New enchantment - "Soul Bound". Can be applied on any item. Enchanted item will be keeped in your inventory on death.
    • Graves loot tables.

    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":


    • PLAYER_GRAVES
    • VILLAGERS_GRAVES
    • DOGS_GRAVES
    • HORSE_GRAVES

    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:

    • JUNK
    • WORKE
    • MINER
    • WIZARD
    • WARRIOR
    • ADVENTURER
    • TREASURY
    • OTHER

    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:

    • CORPSE
    • BONES_AND_FLESH
    • SKULL_BONES_AND_FLESH

    example: https://github.com/NightKosh/Gravestone-mod-Extended/blob/master/src/main/resources/assets/gravestone-extended/loot_tables/graves/player.json#L6-L11

    Posted in: Minecraft Mods
  • 0

    posted a message on Armor & player skins

    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?

    Posted in: Modification Development
  • 0

    posted a message on Gravestone mod
    Quote from DragonMaster16»

    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?

    Posted in: Minecraft Mods
  • 0

    posted a message on Gravestone mod

    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

    Posted in: Minecraft Mods
  • 0

    posted a message on Gravestone mod

    Gravestone mod - Extended 1.3.4




    Changes:


    • Fixed server crash
    • Loot tables support for graves content
    Posted in: Minecraft Mods
  • 0

    posted a message on Gravestone mod

    Gravestone mod - Extended 1.3.3 has been released :



    Changes:

    • Added new armor - "Bone armor"
    • Added "Bone armor" set to "Possessed Armor" mob
    • Added burning eyes particles for "Possessed Armor" mob
    • Added "Journey map" icon for "Possessed Armor" mob
    • Changed all diamond like bone tools material to new one - its durability is better then diamond and enchantibility is better then gold
    • Removed crafting recipes for all not diamond like bone tools
    • Fixed drop from spawners

    New configuration options:


      • SpawnWeightZombieDogs
      • SpawnWeightZombieCats
      • SpawnWeightSkeletonDogs
      • SpawnWeightSkeletonCats
      • SpawnWeightUndeadHorses
      • SpawnWeightSkeletonRaiders
      • SpawnWeightZombieRaiders
      • SpawnWeightToxicSludge
      • SpawnWeightPossessedArmor
      • SpawnWeightMummy
      • SpawnWeightDrowned
      • SpawnWeightVampireBat
      • SpawnWeightWitheredBat
      • SpawnWeightBarghest
      • SpawnWeightSwampThing

    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".

    Posted in: Minecraft Mods
  • 0

    posted a message on (solved) javax.net.ssl.SSLHandshakeException at "runClient"

    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:

    keytool -import -alias <the short name of the server> -file <cert_file_name_you_exported.cer> -keystore cacerts -storepass changeit


    4) add to the project's "gradle.properties":

    systemProp.javax.net.ssl.trustStore=%JAVA_HOME%/jre/lib/security/cacerts
    systemProp.javax.net.ssl.trustStorePassword=changeit

    Posted in: Modification Development
  • 0

    posted a message on (solved) javax.net.ssl.SSLHandshakeException at "runClient"

    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




    I have no ideas why it happens and how to fix it,

    Posted in: Modification Development
  • 0

    posted a message on Advanced Fishing

    Advanced Fishing 1.3.3 has been released.



    Changes:


    • Some recipes was changed
    • Ukrainian localization (made by Therrance)
    Posted in: Minecraft Mods
  • 0

    posted a message on Tool to create armor model

    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?

    Posted in: Modification Development
  • 0

    posted a message on Is there any mod for 1.12.2 that adds some kind of tool/item for catching mobs?

    "Sophisticated wolves" mod has "pet carrier" - item, which can be used to transport dogs, cats, rabbits, chickens and parrots inside it in your inventory.

    Posted in: Mods Discussion
  • 0

    posted a message on Gravestone mod
    Quote from InuYasha86000»

    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.

    Posted in: Minecraft Mods
  • 0

    posted a message on Gravestone mod

    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

    Posted in: Minecraft Mods
  • 0

    posted a message on Gravestone mod

    Gravestone mod - Graves was updated to 1.3.1.



    Changes:

    • API was Improved
    • Graves generation on death in the void (in any dimension)

    Gravestone mod - Extended has been updated to 1.3.2.



    Changes:

    • Spanish translation (made by namelivia)
    • New potion - Potion of Breathlessness(Water Breathing potion + piece of diving suit)
    • New items - Cemetery Key & Server Cemetery Key

    Posted in: Minecraft Mods
  • To post a comment, please .