@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective( ItemCameraTransforms.TransformType type ) { Pair<? extends IBakedModel, Matrix4f> pair = this.baseModel.handlePerspective( type ); return Pair.of( this, pair.getValue() ); }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective(ItemCameraTransforms.TransformType cameraTransformType) { Pair<? extends IBakedModel, Matrix4f> pair = originalModel.handlePerspective(cameraTransformType); return Pair.of(this, pair.getRight()); }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective( ItemCameraTransforms.TransformType cameraTransformType ) { if( this.baseModel instanceof IBakedModel ) { return this.baseModel.handlePerspective( cameraTransformType ); } return PerspectiveMapWrapper.handlePerspective( this, this.transforms, cameraTransformType ); }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective(@Nonnull ItemCameraTransforms.TransformType cameraTransformType) { Pair<? extends IBakedModel, Matrix4f> pair = gun.handlePerspective(cameraTransformType); if(pair != null && pair.getRight() != null) return Pair.of(this, pair.getRight()); return Pair.of(this, TRSRTransformation.identity().getMatrix()); } }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective(ItemCameraTransforms.TransformType cameraTransformType) { Pair<? extends IBakedModel, Matrix4f> pair = island.handlePerspective(cameraTransformType); if(pair != null && pair.getRight() != null) return Pair.of(this, pair.getRight()); return Pair.of(this, TRSRTransformation.identity().getMatrix()); } }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective( ItemCameraTransforms.TransformType type ) { // Delegate to the base model if possible if( this.baseModel instanceof IBakedModel ) { IBakedModel pam = this.baseModel; Pair<? extends IBakedModel, Matrix4f> pair = pam.handlePerspective( type ); return Pair.of( this, pair.getValue() ); } return Pair.of( this, TRSRTransformation.identity().getMatrix() ); }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective( ItemCameraTransforms.TransformType type ) { // Delegate to the base model if possible if( this.baseModel instanceof IBakedModel ) { IBakedModel pam = this.baseModel; Pair<? extends IBakedModel, Matrix4f> pair = pam.handlePerspective( type ); return Pair.of( this, pair.getValue() ); } return Pair.of( this, TRSRTransformation.identity().getMatrix() ); } }
public static ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> getTransforms(IBakedModel model) { ImmutableMap.Builder<ItemCameraTransforms.TransformType, TRSRTransformation> builder = ImmutableMap.builder(); for(ItemCameraTransforms.TransformType type : ItemCameraTransforms.TransformType.values()) { TRSRTransformation transformation = new TRSRTransformation(model.handlePerspective(type).getRight()); if(!transformation.equals(TRSRTransformation.identity())) { builder.put(type, TRSRTransformation.blockCenterToCorner(transformation)); } } return builder.build(); }
@Nonnull @Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective(ItemCameraTransforms.TransformType cameraTransformType) { if((cameraTransformType == ItemCameraTransforms.TransformType.FIRST_PERSON_RIGHT_HAND || cameraTransformType == ItemCameraTransforms.TransformType.FIRST_PERSON_LEFT_HAND) && ConfigHandler.lexicon3dModel) return Pair.of(this, null); IBakedModel original = Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelShapes().getModelManager().getModel(path2D); return original.handlePerspective(cameraTransformType); }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective( ItemCameraTransforms.TransformType cameraTransformType ) { final IBakedModel selectedModel; // No need to re-check for shift being held since this model is only handed out in that case if( cameraTransformType == ItemCameraTransforms.TransformType.GUI ) { selectedModel = this.outputModel; } else { selectedModel = ItemEncodedPatternBakedModel.this.baseModel; } // Now retroactively handle the isGui3d call, for which we always return false below if( selectedModel.isGui3d() != ItemEncodedPatternBakedModel.this.baseModel.isGui3d() ) { GlStateManager.enableLighting(); } if( selectedModel instanceof IBakedModel ) { return selectedModel.handlePerspective( cameraTransformType ); } return PerspectiveMapWrapper.handlePerspective( this, ItemEncodedPatternBakedModel.this.transforms, cameraTransformType ); }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective(ItemCameraTransforms.TransformType cameraTransformType) { return base.handlePerspective(cameraTransformType); } }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective(TransformType cameraTransformType) { return original.handlePerspective(cameraTransformType); } }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective(TransformType cameraTransformType) { IBakedModel model = models.get(cameraTransformType); if (model == null) model = base; return model.handlePerspective(cameraTransformType); } }
@Override public @Nonnull Pair<? extends IBakedModel, Matrix4f> handlePerspective(@Nonnull ItemCameraTransforms.TransformType cameraTransformType) { return parent.handlePerspective(cameraTransformType); }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective (ItemCameraTransforms.TransformType transformType) { final Pair<? extends IBakedModel, Matrix4f> pair = this.bakedOriginal.handlePerspective(transformType); return Pair.of(this, pair.getRight()); }
@Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective(ItemCameraTransforms.TransformType cameraTransformType) { Pair<? extends IBakedModel, Matrix4f> pair = parent.handlePerspective(cameraTransformType); return Pair.of(this, pair.getRight()); } }
@Override public @Nonnull Pair<? extends IBakedModel, Matrix4f> handlePerspective(@Nonnull ItemCameraTransforms.TransformType cameraTransformType) { return Pair.of(this, parent.handlePerspective(cameraTransformType).getRight()); }
@Override public @Nonnull Pair<? extends IBakedModel, Matrix4f> handlePerspective(@Nonnull ItemCameraTransforms.TransformType cameraTransformType) { return Pair.of(this, getDefaults().handlePerspective(cameraTransformType).getRight()); }
@Nonnull @Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective(@Nonnull ItemCameraTransforms.TransformType cameraTransformType) { if ((cameraTransformType == ItemCameraTransforms.TransformType.FIRST_PERSON_RIGHT_HAND || cameraTransformType == ItemCameraTransforms.TransformType.FIRST_PERSON_LEFT_HAND)) return Pair.of(this, null); IBakedModel original = Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelShapes().getModelManager().getModel(path2D); return original.handlePerspective(cameraTransformType); }
@Override public @Nonnull Pair<? extends IBakedModel, Matrix4f> handlePerspective(@Nonnull ItemCameraTransforms.TransformType cameraTransformType) { Pair<? extends IBakedModel, Matrix4f> perspective = parent.handlePerspective(cameraTransformType); double r = (EnderIO.proxy.getTickCount() % 360) + Minecraft.getMinecraft().getRenderPartialTicks(); TRSRTransformation transformOrig = new TRSRTransformation(perspective.getRight()); Quat4f leftRot = transformOrig.getLeftRot(); Quat4f yRotation = new Quat4f(); yRotation.set(new AxisAngle4d(0, 1, 0, Math.toRadians(r * speed))); leftRot.mul(yRotation); TRSRTransformation transformNew = new TRSRTransformation(transformOrig.getTranslation(), leftRot, transformOrig.getScale(), transformOrig.getRightRot()); return Pair.of(perspective.getLeft(), transformNew.getMatrix()); }