Posted April 21, 20178 yr I am trying to make an item similar forge's universal bucket, in that it can hold any fluid, and render differently depending on the fluid within. I basically just copied the model classes, and the loader, and the blockstate json from the forge source, and it is mostly working, the fluid and bottle have the right textures and stuff, but for some reason that I can't figure out, the transformations from forge:default-item are not getting applied in game. Model class, including overridelist, model loader, and baked model: link Item class, where the model and mesh definition are set in the initModel() method: link The item's json file: link The model loader is registered in my clientproxy class, and initModel() is called in the initModels() method of ModItems.class, and initModels() is called from my clientproxy class.
April 22, 20178 yr Author Okay, I found a work around. I still don't know why it wasn't working, but I managed to make the transformations happen by hard coding them in in the baked model class.
April 29, 20178 yr On 22.4.2017 at 10:57 AM, mangoose said: Okay, I found a work around. I still don't know why it wasn't working, but I managed to make the transformations happen by hard coding them in in the baked model class. Any way you could show me on how u fixed it, seen to have the same problem ?
May 1, 20178 yr Author private static ImmutableMap<TransformType, TRSRTransformation> itemTransforms() { TRSRTransformation thirdperson = get(0, 3, 1, 0, 0, 0, 0.55f); TRSRTransformation firstperson = get(1.13f, 3.2f, 1.13f, 0, -90, 25, 0.68f); ImmutableMap.Builder<TransformType, TRSRTransformation> builder = ImmutableMap.builder(); builder.put(TransformType.GROUND, get(0, 2, 0, 0, 0, 0, 0.5f)); builder.put(TransformType.HEAD, get(0, 13, 7, 0, 180, 0, 1)); builder.put(TransformType.THIRD_PERSON_RIGHT_HAND, thirdperson); builder.put(TransformType.THIRD_PERSON_LEFT_HAND, leftify(thirdperson)); builder.put(TransformType.FIRST_PERSON_RIGHT_HAND, firstperson); builder.put(TransformType.FIRST_PERSON_LEFT_HAND, leftify(firstperson)); return (ImmutableMap) builder.build(); } private static TRSRTransformation get(float tx, float ty, float tz, float ax, float ay, float az, float s) { return TRSRTransformation.blockCenterToCorner(new TRSRTransformation( new Vector3f(tx / 16, ty / 16, tz / 16), TRSRTransformation.quatFromXYZDegrees(new Vector3f(ax, ay, az)), new Vector3f(s, s, s), null)); } private static final TRSRTransformation flipX = new TRSRTransformation(null, null, new Vector3f(-1, 1, 1), null); private static TRSRTransformation leftify(TRSRTransformation transform) { return TRSRTransformation.blockCenterToCorner( flipX.compose(TRSRTransformation.blockCornerToCenter(transform)).compose(flipX)); }
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.