Skip to content

Commit

Permalink
v3.0.87
Browse files Browse the repository at this point in the history
  • Loading branch information
AzureZhen committed Aug 11, 2022
1 parent fe5a085 commit 6683579
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 7 deletions.
6 changes: 3 additions & 3 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
v3.0.86
v3.0.87

- Lead render fix - Dominik
- renderLeash public now.
- Proper Scaling of Armor on ExtendedRenderEntities - DerToaster
- Proper bone hiding on GeoRenderEntities -DerToaster
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ fabric_version=0.42.0+1.16


# Mod Properties
mod_version=3.0.86
mod_version=3.0.87
maven_group = software.bernie.geckolib
archives_base_name = geckolib-fabric-1.16.5
repsyUrl=https://repo.repsy.io/mvn/gandiber/geckolib
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,9 @@ protected void handleArmorRenderingForBone(GeoBone bone, MatrixStack stack, Vert
boneSlot == EquipmentSlot.CHEST);
geoArmorRenderer.setCurrentItem(((LivingEntity) this.currentEntityBeingRendered), armorForBone,
boneSlot, armorModel);
// Just to be safe, it does some modelprovider stuff in there too
geoArmorRenderer.applySlot(boneSlot);
this.handleGeoArmorBoneVisibility(geoArmorRenderer, sourceLimb, armorModel, boneSlot);
VertexConsumer ivb = ItemRenderer
.getArmorGlintConsumer(rtb,
RenderLayer.getArmorCutoutNoCull(GeoArmorRenderer
Expand Down Expand Up @@ -286,6 +288,51 @@ protected void handleArmorRenderingForBone(GeoBone bone, MatrixStack stack, Vert
}
}

protected void handleGeoArmorBoneVisibility(GeoArmorRenderer<? extends ArmorItem> geoArmorRenderer,
ModelPart sourceLimb, BipedEntityModel<?> armorModel, EquipmentSlot slot) {
IBone gbHead = geoArmorRenderer.getAndHideBone(geoArmorRenderer.headBone);
IBone gbBody = geoArmorRenderer.getAndHideBone(geoArmorRenderer.bodyBone);
IBone gbArmL = geoArmorRenderer.getAndHideBone(geoArmorRenderer.leftArmBone);
IBone gbArmR = geoArmorRenderer.getAndHideBone(geoArmorRenderer.rightArmBone);
IBone gbLegL = geoArmorRenderer.getAndHideBone(geoArmorRenderer.leftLegBone);
IBone gbLegR = geoArmorRenderer.getAndHideBone(geoArmorRenderer.rightLegBone);
IBone gbBootL = geoArmorRenderer.getAndHideBone(geoArmorRenderer.leftBootBone);
IBone gbBootR = geoArmorRenderer.getAndHideBone(geoArmorRenderer.rightBootBone);

if (sourceLimb == armorModel.head || sourceLimb == armorModel.hat) {
gbHead.setHidden(false);
return;
}
if (sourceLimb == armorModel.body) {
gbBody.setHidden(false);
return;
}
if (sourceLimb == armorModel.leftArm) {
gbArmL.setHidden(false);
return;
}
if (sourceLimb == armorModel.leftLeg) {
if (slot == EquipmentSlot.FEET) {
gbBootL.setHidden(false);
} else {
gbLegL.setHidden(false);
}
return;
}
if (sourceLimb == armorModel.rightArm) {
gbArmR.setHidden(false);
return;
}
if (sourceLimb == armorModel.rightLeg) {
if (slot == EquipmentSlot.FEET) {
gbBootR.setHidden(false);
} else {
gbLegR.setHidden(false);
}
return;
}
}

protected void renderArmorOfItem(ArmorItem armorItem, ItemStack armorForBone, EquipmentSlot boneSlot,
Identifier armorResource, ModelPart sourceLimb, MatrixStack stack, int packedLightIn, int packedOverlayIn) {
if (armorItem instanceof DyeableArmorItem) {
Expand Down Expand Up @@ -325,8 +372,11 @@ protected void prepareArmorPositionAndScale(GeoBone bone, List<Cuboid> cubeList,

// Modify position to move point to correct location, otherwise it will be off
// when the sizes are different
sourceLimb.setPivot(-(bone.getPivotX() + sourceSizeX - targetSizeX),
-(bone.getPivotY() + sourceSizeY - targetSizeY), (bone.getPivotZ() + sourceSizeZ - targetSizeZ));
// Modifications of X and Z doon't seem to be necessary here, so let's ignore
// them. For now.
sourceLimb.setPivot(-(bone.getPivotX() - ((bone.getPivotX() * scaleX) - bone.getPivotX()) / scaleX),
-(bone.getPivotY() - ((bone.getPivotY() * scaleY) - bone.getPivotY()) / scaleY),
(bone.getPivotZ() - ((bone.getPivotZ() * scaleZ) - bone.getPivotZ()) / scaleZ));

sourceLimb.pitch = -bone.getRotationX();
sourceLimb.yaw = -bone.getRotationY();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,9 @@ public void renderRecursively(GeoBone bone, MatrixStack stack, VertexConsumer bu
while (var10.hasNext()) {
GeoCube cube = (GeoCube) var10.next();
stack.push();
this.renderCube(cube, stack, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha);
if (!bone.cubesAreHidden()) {
this.renderCube(cube, stack, bufferIn, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
stack.pop();
}

Expand Down

0 comments on commit 6683579

Please sign in to comment.