Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

gradle setupDecompWorkspace not working on OSX


Recommended Posts

Attempting to build ExampleMod included with forge-1.7.2-, following the tutorial instructions I tried:


gradle --info setupDevWorkspace


and got the following error messages:


Starting Build

Settings evaluated using empty settings script.

Projects loaded. Root project using build file '/private/var/tmp/forge-1.7.2-'.

Included projects: [root project 'forge-1.7.2-']

Evaluating root project 'forge-1.7.2-' using build file '/private/var/tmp/forge-1.7.2-'.

Compiling build file '/private/var/tmp/forge-1.7.2-' using StatementExtractingScriptTransformer.

Compiling build file '/private/var/tmp/forge-1.7.2-' using BuildScriptTransformer.


Powered By MCP:           


Searge, ProfMobius, Fesh0r,

R4wk, ZeuX, IngisKahn     

Resolving:  MCP Data version : {MCP_VERSION}

Resolved:  MCP Data version : unknown

MCP Data version : unknown


Resolving: {BUILD_DIR}/unpacked/dev.json

Resolved:  /private/var/tmp/forge-1.7.2-

Failed to get resource: GET. [HTTP HTTP/1.1 403 Forbidden: https://libraries.minecraft.net/net/minecraftforge/forge/1.7.2-]

Resolving: {CACHE_DIR}/minecraft/net/minecraftforge/forge/{API_VERSION}/forge-{API_VERSION}-fmlinjected.jar

Resolved:  /Volumes/Users/beard/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.2-

Resolving: {BUILD_DIR}/sources/java

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {CACHE_DIR}/minecraft/net/minecraftforge/forge/{API_VERSION}/forge-{API_VERSION}-mcp.jar

Resolved:  /Volumes/Users/beard/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.2-

All projects evaluated.

Resolving: {BUILD_DIR}/unpacked/conf/packaged.srg

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {BUILD_DIR}/unpacked/mappings/methods.csv

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {BUILD_DIR}/unpacked/mappings/fields.csv

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: /Volumes/Users/beard/.gradle/caches/modules-2/files-2.1/net.minecraftforge/forge/1.7.2-

Resolved:  /Volumes/Users/beard/.gradle/caches/modules-2/files-2.1/net.minecraftforge/forge/1.7.2-

Resolving: {CACHE_DIR}/minecraft/net/minecraftforge/forge/{API_VERSION}/forge-{API_VERSION}.jar

Resolved:  /Volumes/Users/beard/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.2-

Resolving: {BUILD_DIR}/unpacked/conf/packaged.exc

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {BUILD_DIR}/unpacked/conf/exceptor.json

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {BUILD_DIR}/unpacked/conf/notch-mcp.srg

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {BUILD_DIR}/unpacked/src/main/resources/fml_at.cfg

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {BUILD_DIR}/unpacked/src/main/resources/forge_at.cfg

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {BUILD_DIR}/unpacked/src/main/resources

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {CACHE_DIR}/minecraft/net/minecraft/minecraft_merged/{MC_VERSION}/minecraft_merged-{MC_VERSION}.jar

Resolved:  /Volumes/Users/beard/.gradle/caches/minecraft/net/minecraft/minecraft_merged/1.7.2/minecraft_merged-1.7.2.jar

Resolving: {BUILD_DIR}/unpacked/devbinpatches.pack.lzma

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {BUILD_DIR}/unpacked/binaries.jar

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {CACHE_DIR}/minecraft/net/minecraft/minecraft_server/{MC_VERSION}/minecraft_server-{MC_VERSION}.jar

Resolved:  /Volumes/Users/beard/.gradle/caches/minecraft/net/minecraft/minecraft_server/1.7.2/minecraft_server-1.7.2.jar

Resolving: {CACHE_DIR}/minecraft/net/minecraft/minecraft/{MC_VERSION}/minecraft-{MC_VERSION}.jar

Resolved:  /Volumes/Users/beard/.gradle/caches/minecraft/net/minecraft/minecraft/1.7.2/minecraft-1.7.2.jar

Resolving: {BUILD_DIR}/unpacked/conf/mcp_merge.cfg

Resolved:  /private/var/tmp/forge-1.7.2-

Selected primary task 'setupDevWorkspace'

Tasks to be executed: [task ':extractUserDev', task ':getAssetsIndex', task ':getAssets', task ':copyAssets', task ':downloadClient', task ':downloadServer', task ':mergeJars', task ':applyBinPatches', task ':downloadMcpTools', task ':genSrgs', task ':deobfBinJar', task ':extractNatives', task ':setupDevWorkspace']

:extractUserDev (Thread[main,5,main]) started.


Executing task ':extractUserDev' (up-to-date check took 0.0 secs) due to:

  Task has not declared any outputs.

Resolving: {BUILD_DIR}/unpacked

Resolved:  /private/var/tmp/forge-1.7.2-

Resolving: {BUILD_DIR}/unpacked/dev.json

Resolved:  /private/var/tmp/forge-1.7.2-

Cached resource is up-to-date (lastModified: Tue Nov 26 08:00:19 PST 2013). [HTTP: https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20131017/lwjgl-platform-2.9.1-nightly-20131017.pom]'>https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20131017/lwjgl-platform-2.9.1-nightly-20131017.pom]

Failed to get resource: GET. [HTTP HTTP/1.1 403 Forbidden: https://libraries.minecraft.net/org/lwjgl/lwjgl/parent/2.9.1-SNAPSHOT/maven-metadata.xml]

Resource missing. [HTTP GET: http://files.minecraftforge.net/maven/org/lwjgl/lwjgl/parent/2.9.1-SNAPSHOT/maven-metadata.xml]

Resource missing. [HTTP GET: http://files.minecraftforge.net/maven/org/lwjgl/lwjgl/parent/2.9.1-SNAPSHOT/parent-2.9.1-SNAPSHOT.pom]

Resource missing. [HTTP HEAD: http://files.minecraftforge.net/maven/org/lwjgl/lwjgl/parent/2.9.1-SNAPSHOT/parent-2.9.1-SNAPSHOT.jar]

Resource missing. [HTTP GET: http://repo1.maven.org/maven2/org/lwjgl/lwjgl/parent/2.9.1-SNAPSHOT/maven-metadata.xml]

Resource missing. [HTTP GET: http://repo1.maven.org/maven2/org/lwjgl/lwjgl/parent/2.9.1-SNAPSHOT/parent-2.9.1-SNAPSHOT.pom]

Resource missing. [HTTP HEAD: http://repo1.maven.org/maven2/org/lwjgl/lwjgl/parent/2.9.1-SNAPSHOT/parent-2.9.1-SNAPSHOT.jar]

Resource missing. [HTTP HEAD: http://files.minecraftforge.net/maven/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20131017/lwjgl-platform-2.9.1-nightly-20131017.pom]

Resource missing. [HTTP HEAD: http://files.minecraftforge.net/maven/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20131017/lwjgl-platform-2.9.1-nightly-20131017-natives-osx.jar]

Resource missing. [HTTP HEAD: http://repo1.maven.org/maven2/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20131017/lwjgl-platform-2.9.1-nightly-20131017.pom]

Resource missing. [HTTP HEAD: http://repo1.maven.org/maven2/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20131017/lwjgl-platform-2.9.1-nightly-20131017-natives-osx.jar]

:extractUserDev FAILED

:extractUserDev (Thread[main,5,main]) completed. Took 3.071 secs.


FAILURE: Build failed with an exception.


* What went wrong:

Execution failed for task ':extractUserDev'.

> Could not resolve all dependencies for configuration ':minecraftNatives'.

  > Could not resolve org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20131017.

    Required by:


      > Could not parse POM https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.1-nightly-20131017/lwjgl-platform-2.9.1-nightly-20131017.pom

        > Could not resolve org.lwjgl.lwjgl:parent:2.9.1-SNAPSHOT.

            > Unable to load Maven meta-data from https://libraries.minecraft.net/org/lwjgl/lwjgl/parent/2.9.1-SNAPSHOT/maven-metadata.xml.

              > Could not GET 'https://libraries.minecraft.net/org/lwjgl/lwjgl/parent/2.9.1-SNAPSHOT/maven-metadata.xml'. Received status code 403 from server: Forbidden


* Try:

Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.




Total time: 10.337 secs

Stopped 0 compiler daemon(s).


The tutorial did say this was untested on OSX. Any advice for how to proceed?

Link to comment
Share on other sites

Attempted to import forge-1.7.2- using the gradle eclipse plugin as well, and got exactly the same problem. The plugin popped up a dialog with the same error message:


Could not GET 'https://libraries.minecraft.net/org/lwjgl/lwjgl/parent/2.9.1-SNAPSHOT/maven-metadata.xml'. Received status code 403 from server: Forbidden

Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.8-bin.zip'.


Link to comment
Share on other sites

I too have been having some problems with Gradle for OS X, although not in the way above. For some reason, gradlew seems it can't find the task


, and tells me to try

gradlew tasks

where it too does not show up. Not sure if I'm missing something obvious or not, or if it actually isn't working.







Last login: Thu Jan  2 15:13:54 on console
Luiss-iMac:~ Luis$ /Volumes/LUIS/Development/MCP/gradlew setupDecompWorkspace

FAILURE: Could not determine which tasks to execute.

* What went wrong:
Task 'setupDecompWorkspace' not found in root project 'Luis'.

* Try:
Run gradlew tasks to get a list of available tasks.


Total time: 3.328 secs
Luiss-iMac:~ Luis$ /Volumes/LUIS/Development/MCP/gradlew tasks

All tasks runnable from root project

Build Setup tasks
setupBuild - Initializes a new Gradle build. [incubating]
wrapper - Generates Gradle wrapper files. [incubating]

Help tasks
dependencies - Displays all dependencies declared in root project 'Luis'.
dependencyInsight - Displays the insight into a specific dependency in root project 'Luis'.
help - Displays a help message
projects - Displays the sub-projects of root project 'Luis'.
properties - Displays the properties of root project 'Luis'.
tasks - Displays the tasks runnable from root project 'Luis'.

To see all tasks and more detail, run with --all.


Total time: 1.933 secs
Luiss-iMac:~ Luis$ /Volumes/LUIS/Development/MCP/gradlew setupDevWorkspace

FAILURE: Could not determine which tasks to execute.

* What went wrong:
Task 'setupDevWorkspace' not found in root project 'Luis'.

* Try:
Run gradlew tasks to get a list of available tasks.


Total time: 1.733 secs
Luiss-iMac:~ Luis$









EDIT: I figured it out, it was a derp. I ran

cd /Volumes/LUIS/Development/MCP

then dragged the gradlew file into the terminal, and it worked. Just a little heads-up to anyone having the same problem, don't forget to direct the terminal to your folder first!

Link to comment
Share on other sites

I had the same problem and was able to get around it by modifying the build/unpacked/dev.json to use 2.9.1 instead of 2.9.1-nightly... for the lwjgl libraries.


I then encountered another problem that cropped up with MCP earlier this year: we need more heap space than the default gradle script allows. I specified 1024m and was able to build to completion.


Hope that helps.

Link to comment
Share on other sites

Thanks @mabrowning, I was able to kick it by editing the build/unpacked/dev.json file, changing "2.9.1-nightly-20131017" to "2.9.1". Strangely, after the build succeeded, the file reverted to those values, but I think the lwjgl libraries were downloaded from somewhere else.


Is there a cleaner way to fix this for OSX?


Many thanks.

Link to comment
Share on other sites

The issue is on the Mojang servers' end, not much we can do about it, the launcher is having the same issue so they should be addressing it, and once they do we will update on our end.

This is why we cache things if you get the files once you wont need to download them ever again. So kep trying


I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Patreon: http://www.patreon.com/lexmanos
Paypal: http://paypal.me/LexManos

BitCoin: 1Q8rWvUNMM2T1ZfDaFeeYQyVXtYoeT6tTn

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • Launcher screenshot: https://tinypic.host/i/YL1x  Launcher Log: https://pastebin.com/WLFuyCMY  I'm not really sure which log would be considered the complete log so these are just all of the logs I have Launcher cef log: https://pastebin.com/xQ3ZeeKd  Debug Log: https://pastebin.com/BSeKG56y  And this one is under "latest": https://pastebin.com/ABSYWX3N 
    • I am trying to create a custom horse, but I am getting an error in bakeLayer.     ModEntityRenderer @Mod.EventBusSubscriber( modid = TutorialMod.MOD_ID, value = {Dist.CLIENT}, bus = Mod.EventBusSubscriber.Bus.MOD ) @OnlyIn(Dist.CLIENT) public class ModEntityRenderers{ private static final Set<ModelLayerLocation> ALL_MODELS = Sets.newHashSet(); public static ModelLayerLocation TUTORIAL_PIG_LAYER = new ModelLayerLocation(new ResourceLocation(TutorialMod.MOD_ID, "tutorial_pig"), "tutorial_pig"); public static ModelLayerLocation TUTORIAL_HORSE_LAYER = new ModelLayerLocation(new ResourceLocation(TutorialMod.MOD_ID, "tutorial_horse"), "tutorial_horse"); public static final ModelLayerLocation HORSEE = register("tutorial_horse"); private static ModelLayerLocation register(String p_171294_) { return register(p_171294_, "main"); } private static ModelLayerLocation register(String p_171296_, String p_171297_) { ModelLayerLocation modellayerlocation = createLocation(p_171296_, p_171297_); if (!ALL_MODELS.add(modellayerlocation)) { throw new IllegalStateException("Duplicate registration for " + modellayerlocation); } else { return modellayerlocation; } } private static ModelLayerLocation createLocation(String p_171301_, String p_171302_) { return new ModelLayerLocation(new ResourceLocation("minecraft", p_171301_), p_171302_); } public static void init() { } //registry list @SubscribeEvent public static void registerEntityRenders(EntityRenderersEvent.RegisterRenderers event) { event.registerEntityRenderer(ModEntityType.TUTORIAL_PIG, TutorialPigRenderer::new); event.registerEntityRenderer(ModEntityType.TUTORIAL_HORSE, TutorialHorseRenderer::new); } //renderer list @SubscribeEvent public static void registerLayerDefinition(EntityRenderersEvent.RegisterLayerDefinitions event) { LayerDefinition ModlayerTutorialHorse = LayerDefinition.create(TutorialHorseModel.createBodyMesh(CubeDeformation.NONE), 64, 64); ImmutableMap.Builder<ModelLayerLocation, LayerDefinition> builder = ImmutableMap.builder(); event.registerLayerDefinition(TUTORIAL_PIG_LAYER, TutorialPigModel::createBodyLayer); // event.registerLayerDefinition(TUTORIAL_HORSE_LAYER, TutorialHorseModel::createMesh); builder.put(HORSEE, ModlayerTutorialHorse); } }   Model @OnlyIn(Dist.CLIENT) public class TutorialHorseModel<T extends AbstractHorse> extends AgeableListModel<T> { private static final float DEG_125 = 2.1816616F; private static final float DEG_60 = ((float)Math.PI / 3F); private static final float DEG_45 = ((float)Math.PI / 4F); private static final float DEG_30 = ((float)Math.PI / 6F); private static final float DEG_15 = 0.2617994F; protected static final String HEAD_PARTS = "head_parts"; private static final String LEFT_HIND_BABY_LEG = "left_hind_baby_leg"; private static final String RIGHT_HIND_BABY_LEG = "right_hind_baby_leg"; private static final String LEFT_FRONT_BABY_LEG = "left_front_baby_leg"; private static final String RIGHT_FRONT_BABY_LEG = "right_front_baby_leg"; private static final String SADDLE = "saddle"; private static final String LEFT_SADDLE_MOUTH = "left_saddle_mouth"; private static final String LEFT_SADDLE_LINE = "left_saddle_line"; private static final String RIGHT_SADDLE_MOUTH = "right_saddle_mouth"; private static final String RIGHT_SADDLE_LINE = "right_saddle_line"; private static final String HEAD_SADDLE = "head_saddle"; private static final String MOUTH_SADDLE_WRAP = "mouth_saddle_wrap"; protected final ModelPart body; protected final ModelPart headParts; private final ModelPart rightHindLeg; private final ModelPart leftHindLeg; private final ModelPart rightFrontLeg; private final ModelPart leftFrontLeg; private final ModelPart rightHindBabyLeg; private final ModelPart leftHindBabyLeg; private final ModelPart rightFrontBabyLeg; private final ModelPart leftFrontBabyLeg; private final ModelPart tail; private final ModelPart[] saddleParts; private final ModelPart[] ridingParts; public TutorialHorseModel(ModelPart p_170668_) { super(true, 16.2F, 1.36F, 2.7272F, 2.0F, 20.0F); this.body = p_170668_.getChild("body"); this.headParts = p_170668_.getChild("head_parts"); this.rightHindLeg = p_170668_.getChild("right_hind_leg"); this.leftHindLeg = p_170668_.getChild("left_hind_leg"); this.rightFrontLeg = p_170668_.getChild("right_front_leg"); this.leftFrontLeg = p_170668_.getChild("left_front_leg"); this.rightHindBabyLeg = p_170668_.getChild("right_hind_baby_leg"); this.leftHindBabyLeg = p_170668_.getChild("left_hind_baby_leg"); this.rightFrontBabyLeg = p_170668_.getChild("right_front_baby_leg"); this.leftFrontBabyLeg = p_170668_.getChild("left_front_baby_leg"); this.tail = this.body.getChild("tail"); ModelPart modelpart = this.body.getChild("saddle"); ModelPart modelpart1 = this.headParts.getChild("left_saddle_mouth"); ModelPart modelpart2 = this.headParts.getChild("right_saddle_mouth"); ModelPart modelpart3 = this.headParts.getChild("left_saddle_line"); ModelPart modelpart4 = this.headParts.getChild("right_saddle_line"); ModelPart modelpart5 = this.headParts.getChild("head_saddle"); ModelPart modelpart6 = this.headParts.getChild("mouth_saddle_wrap"); this.saddleParts = new ModelPart[]{modelpart, modelpart1, modelpart2, modelpart5, modelpart6}; this.ridingParts = new ModelPart[]{modelpart3, modelpart4}; } public static MeshDefinition createBodyMesh(CubeDeformation p_170670_) { MeshDefinition meshdefinition = new MeshDefinition(); PartDefinition partdefinition = meshdefinition.getRoot(); PartDefinition partdefinition1 = partdefinition.addOrReplaceChild("body", CubeListBuilder.create().texOffs(0, 32).addBox(-5.0F, -8.0F, -17.0F, 10.0F, 10.0F, 22.0F, new CubeDeformation(0.05F)), PartPose.offset(0.0F, 11.0F, 5.0F)); PartDefinition partdefinition2 = partdefinition.addOrReplaceChild("head_parts", CubeListBuilder.create().texOffs(0, 35).addBox(-2.05F, -6.0F, -2.0F, 4.0F, 12.0F, 7.0F), PartPose.offsetAndRotation(0.0F, 4.0F, -12.0F, ((float)Math.PI / 6F), 0.0F, 0.0F)); PartDefinition partdefinition3 = partdefinition2.addOrReplaceChild("head", CubeListBuilder.create().texOffs(0, 13).addBox(-3.0F, -11.0F, -2.0F, 6.0F, 5.0F, 7.0F, p_170670_), PartPose.ZERO); partdefinition2.addOrReplaceChild("mane", CubeListBuilder.create().texOffs(56, 36).addBox(-1.0F, -11.0F, 5.01F, 2.0F, 16.0F, 2.0F, p_170670_), PartPose.ZERO); partdefinition2.addOrReplaceChild("upper_mouth", CubeListBuilder.create().texOffs(0, 25).addBox(-2.0F, -11.0F, -7.0F, 4.0F, 5.0F, 5.0F, p_170670_), PartPose.ZERO); partdefinition.addOrReplaceChild("left_hind_leg", CubeListBuilder.create().texOffs(48, 21).mirror().addBox(-3.0F, -1.01F, -1.0F, 4.0F, 11.0F, 4.0F, p_170670_), PartPose.offset(4.0F, 14.0F, 7.0F)); partdefinition.addOrReplaceChild("right_hind_leg", CubeListBuilder.create().texOffs(48, 21).addBox(-1.0F, -1.01F, -1.0F, 4.0F, 11.0F, 4.0F, p_170670_), PartPose.offset(-4.0F, 14.0F, 7.0F)); partdefinition.addOrReplaceChild("left_front_leg", CubeListBuilder.create().texOffs(48, 21).mirror().addBox(-3.0F, -1.01F, -1.9F, 4.0F, 11.0F, 4.0F, p_170670_), PartPose.offset(4.0F, 14.0F, -12.0F)); partdefinition.addOrReplaceChild("right_front_leg", CubeListBuilder.create().texOffs(48, 21).addBox(-1.0F, -1.01F, -1.9F, 4.0F, 11.0F, 4.0F, p_170670_), PartPose.offset(-4.0F, 14.0F, -12.0F)); CubeDeformation cubedeformation = p_170670_.extend(0.0F, 5.5F, 0.0F); partdefinition.addOrReplaceChild("left_hind_baby_leg", CubeListBuilder.create().texOffs(48, 21).mirror().addBox(-3.0F, -1.01F, -1.0F, 4.0F, 11.0F, 4.0F, cubedeformation), PartPose.offset(4.0F, 14.0F, 7.0F)); partdefinition.addOrReplaceChild("right_hind_baby_leg", CubeListBuilder.create().texOffs(48, 21).addBox(-1.0F, -1.01F, -1.0F, 4.0F, 11.0F, 4.0F, cubedeformation), PartPose.offset(-4.0F, 14.0F, 7.0F)); partdefinition.addOrReplaceChild("left_front_baby_leg", CubeListBuilder.create().texOffs(48, 21).mirror().addBox(-3.0F, -1.01F, -1.9F, 4.0F, 11.0F, 4.0F, cubedeformation), PartPose.offset(4.0F, 14.0F, -12.0F)); partdefinition.addOrReplaceChild("right_front_baby_leg", CubeListBuilder.create().texOffs(48, 21).addBox(-1.0F, -1.01F, -1.9F, 4.0F, 11.0F, 4.0F, cubedeformation), PartPose.offset(-4.0F, 14.0F, -12.0F)); partdefinition1.addOrReplaceChild("tail", CubeListBuilder.create().texOffs(42, 36).addBox(-1.5F, 0.0F, 0.0F, 3.0F, 14.0F, 4.0F, p_170670_), PartPose.offsetAndRotation(0.0F, -5.0F, 2.0F, ((float)Math.PI / 6F), 0.0F, 0.0F)); partdefinition1.addOrReplaceChild("saddle", CubeListBuilder.create().texOffs(26, 0).addBox(-5.0F, -8.0F, -9.0F, 10.0F, 9.0F, 9.0F, new CubeDeformation(0.5F)), PartPose.ZERO); partdefinition2.addOrReplaceChild("left_saddle_mouth", CubeListBuilder.create().texOffs(29, 5).addBox(2.0F, -9.0F, -6.0F, 1.0F, 2.0F, 2.0F, p_170670_), PartPose.ZERO); partdefinition2.addOrReplaceChild("right_saddle_mouth", CubeListBuilder.create().texOffs(29, 5).addBox(-3.0F, -9.0F, -6.0F, 1.0F, 2.0F, 2.0F, p_170670_), PartPose.ZERO); partdefinition2.addOrReplaceChild("left_saddle_line", CubeListBuilder.create().texOffs(32, 2).addBox(3.1F, -6.0F, -8.0F, 0.0F, 3.0F, 16.0F, p_170670_), PartPose.rotation((-(float)Math.PI / 6F), 0.0F, 0.0F)); partdefinition2.addOrReplaceChild("right_saddle_line", CubeListBuilder.create().texOffs(32, 2).addBox(-3.1F, -6.0F, -8.0F, 0.0F, 3.0F, 16.0F, p_170670_), PartPose.rotation((-(float)Math.PI / 6F), 0.0F, 0.0F)); partdefinition2.addOrReplaceChild("head_saddle", CubeListBuilder.create().texOffs(1, 1).addBox(-3.0F, -11.0F, -1.9F, 6.0F, 5.0F, 6.0F, new CubeDeformation(0.2F)), PartPose.ZERO); partdefinition2.addOrReplaceChild("mouth_saddle_wrap", CubeListBuilder.create().texOffs(19, 0).addBox(-2.0F, -11.0F, -4.0F, 4.0F, 5.0F, 2.0F, new CubeDeformation(0.2F)), PartPose.ZERO); partdefinition3.addOrReplaceChild("left_ear", CubeListBuilder.create().texOffs(19, 16).addBox(0.55F, -13.0F, 4.0F, 2.0F, 3.0F, 1.0F, new CubeDeformation(-0.001F)), PartPose.ZERO); partdefinition3.addOrReplaceChild("right_ear", CubeListBuilder.create().texOffs(19, 16).addBox(-2.55F, -13.0F, 4.0F, 2.0F, 3.0F, 1.0F, new CubeDeformation(-0.001F)), PartPose.ZERO); return meshdefinition; } public void setupAnim(T p_102785_, float p_102786_, float p_102787_, float p_102788_, float p_102789_, float p_102790_) { boolean flag = p_102785_.isSaddled(); boolean flag1 = p_102785_.isVehicle(); for(ModelPart modelpart : this.saddleParts) { modelpart.visible = flag; } for(ModelPart modelpart1 : this.ridingParts) { modelpart1.visible = flag1 && flag; } this.body.y = 11.0F; } public Iterable<ModelPart> headParts() { return ImmutableList.of(this.headParts); } protected Iterable<ModelPart> bodyParts() { return ImmutableList.of(this.body, this.rightHindLeg, this.leftHindLeg, this.rightFrontLeg, this.leftFrontLeg, this.rightHindBabyLeg, this.leftHindBabyLeg, this.rightFrontBabyLeg, this.leftFrontBabyLeg); } public void prepareMobModel(T p_102780_, float p_102781_, float p_102782_, float p_102783_) { super.prepareMobModel(p_102780_, p_102781_, p_102782_, p_102783_); float f = Mth.rotlerp(p_102780_.yBodyRotO, p_102780_.yBodyRot, p_102783_); float f1 = Mth.rotlerp(p_102780_.yHeadRotO, p_102780_.yHeadRot, p_102783_); float f2 = Mth.lerp(p_102783_, p_102780_.xRotO, p_102780_.getXRot()); float f3 = f1 - f; float f4 = f2 * ((float)Math.PI / 180F); if (f3 > 20.0F) { f3 = 20.0F; } if (f3 < -20.0F) { f3 = -20.0F; } if (p_102782_ > 0.2F) { f4 += Mth.cos(p_102781_ * 0.4F) * 0.15F * p_102782_; } float f5 = p_102780_.getEatAnim(p_102783_); float f6 = p_102780_.getStandAnim(p_102783_); float f7 = 1.0F - f6; float f8 = p_102780_.getMouthAnim(p_102783_); boolean flag = p_102780_.tailCounter != 0; float f9 = (float)p_102780_.tickCount + p_102783_; this.headParts.y = 4.0F; this.headParts.z = -12.0F; this.body.xRot = 0.0F; this.headParts.xRot = ((float)Math.PI / 6F) + f4; this.headParts.yRot = f3 * ((float)Math.PI / 180F); float f10 = p_102780_.isInWater() ? 0.2F : 1.0F; float f11 = Mth.cos(f10 * p_102781_ * 0.6662F + (float)Math.PI); float f12 = f11 * 0.8F * p_102782_; float f13 = (1.0F - Math.max(f6, f5)) * (((float)Math.PI / 6F) + f4 + f8 * Mth.sin(f9) * 0.05F); this.headParts.xRot = f6 * (0.2617994F + f4) + f5 * (2.1816616F + Mth.sin(f9) * 0.05F) + f13; this.headParts.yRot = f6 * f3 * ((float)Math.PI / 180F) + (1.0F - Math.max(f6, f5)) * this.headParts.yRot; this.headParts.y = f6 * -4.0F + f5 * 11.0F + (1.0F - Math.max(f6, f5)) * this.headParts.y; this.headParts.z = f6 * -4.0F + f5 * -12.0F + (1.0F - Math.max(f6, f5)) * this.headParts.z; this.body.xRot = f6 * (-(float)Math.PI / 4F) + f7 * this.body.xRot; float f14 = 0.2617994F * f6; float f15 = Mth.cos(f9 * 0.6F + (float)Math.PI); this.leftFrontLeg.y = 2.0F * f6 + 14.0F * f7; this.leftFrontLeg.z = -6.0F * f6 - 10.0F * f7; this.rightFrontLeg.y = this.leftFrontLeg.y; this.rightFrontLeg.z = this.leftFrontLeg.z; float f16 = ((-(float)Math.PI / 3F) + f15) * f6 + f12 * f7; float f17 = ((-(float)Math.PI / 3F) - f15) * f6 - f12 * f7; this.leftHindLeg.xRot = f14 - f11 * 0.5F * p_102782_ * f7; this.rightHindLeg.xRot = f14 + f11 * 0.5F * p_102782_ * f7; this.leftFrontLeg.xRot = f16; this.rightFrontLeg.xRot = f17; this.tail.xRot = ((float)Math.PI / 6F) + p_102782_ * 0.75F; this.tail.y = -5.0F + p_102782_; this.tail.z = 2.0F + p_102782_ * 2.0F; if (flag) { this.tail.yRot = Mth.cos(f9 * 0.7F); } else { this.tail.yRot = 0.0F; } this.rightHindBabyLeg.y = this.rightHindLeg.y; this.rightHindBabyLeg.z = this.rightHindLeg.z; this.rightHindBabyLeg.xRot = this.rightHindLeg.xRot; this.leftHindBabyLeg.y = this.leftHindLeg.y; this.leftHindBabyLeg.z = this.leftHindLeg.z; this.leftHindBabyLeg.xRot = this.leftHindLeg.xRot; this.rightFrontBabyLeg.y = this.rightFrontLeg.y; this.rightFrontBabyLeg.z = this.rightFrontLeg.z; this.rightFrontBabyLeg.xRot = this.rightFrontLeg.xRot; this.leftFrontBabyLeg.y = this.leftFrontLeg.y; this.leftFrontBabyLeg.z = this.leftFrontLeg.z; this.leftFrontBabyLeg.xRot = this.leftFrontLeg.xRot; boolean flag1 = p_102780_.isBaby(); this.rightHindLeg.visible = !flag1; this.leftHindLeg.visible = !flag1; this.rightFrontLeg.visible = !flag1; this.leftFrontLeg.visible = !flag1; this.rightHindBabyLeg.visible = flag1; this.leftHindBabyLeg.visible = flag1; this.rightFrontBabyLeg.visible = flag1; this.leftFrontBabyLeg.visible = flag1; this.body.y = flag1 ? 10.8F : 0.0F; } }   Renderer @OnlyIn(Dist.CLIENT) public final class TutorialHorseRenderer extends ModAbstractHorseRenderer<TutorialHorse, TutorialHorseModel<TutorialHorse>> { private static final Map<Variant, ResourceLocation> LOCATION_BY_VARIANT = Util.make(Maps.newEnumMap(Variant.class), (p_114874_) -> { p_114874_.put(Variant.WHITE, new ResourceLocation("textures/entity/horse/horse_white.png")); p_114874_.put(Variant.CREAMY, new ResourceLocation("textures/entity/horse/horse_creamy.png")); p_114874_.put(Variant.CHESTNUT, new ResourceLocation("textures/entity/horse/horse_chestnut.png")); p_114874_.put(Variant.BROWN, new ResourceLocation("textures/entity/horse/horse_brown.png")); p_114874_.put(Variant.BLACK, new ResourceLocation("textures/entity/horse/horse_black.png")); p_114874_.put(Variant.GRAY, new ResourceLocation("textures/entity/horse/horse_gray.png")); p_114874_.put(Variant.DARKBROWN, new ResourceLocation("textures/entity/horse/horse_darkbrown.png")); }); public TutorialHorseRenderer(EntityRendererProvider.Context p_174167_) { super(p_174167_, new TutorialHorseModel<>(p_174167_.bakeLayer(ModEntityRenderers.HORSEE)), 1.1F); //this.addLayer(new HorseMarkingLayer(this)); //this.addLayer(new HorseArmorLayer(this, p_174167_.getModelSet())); } public ResourceLocation getTextureLocation(TutorialHorse p_114872_) { return LOCATION_BY_VARIANT.get(p_114872_.getVariant()); } } I'm trying to make the code equivalent to Vanilla, but I think I'm wrong. Please help me
    • Also please show the registration of the MenuType.
    • Same as before, NetworkHooks.openGui.
  • Topics

  • Who's Online (See full list)

  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.