Fabric port in progress

This commit is contained in:
Sebastian Hartte
2020-06-28 00:45:33 +02:00
parent b79cd732b2
commit 37ce6b262e
102 changed files with 650 additions and 591 deletions
@@ -29,11 +29,11 @@ import javax.annotation.Nullable;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.render.model.json.ModelOverrideList;
import net.minecraft.client.texture.Sprite;
import net.minecraft.util.math.Direction;
import net.minecraftforge.client.model.data.IDynamicBakedModel;
import net.minecraftforge.client.model.data.IModelData;
import appeng.client.render.cablebus.CubeBuilder;
import appeng.tile.crafting.CraftingCubeModelData;
@@ -47,13 +47,13 @@ import appeng.util.Platform;
*/
abstract class CraftingCubeBakedModel implements IDynamicBakedModel {
private final TextureAtlasSprite ringCorner;
private final Sprite ringCorner;
private final TextureAtlasSprite ringHor;
private final Sprite ringHor;
private final TextureAtlasSprite ringVer;
private final Sprite ringVer;
CraftingCubeBakedModel(TextureAtlasSprite ringCorner, TextureAtlasSprite ringHor, TextureAtlasSprite ringVer) {
CraftingCubeBakedModel(Sprite ringCorner, Sprite ringHor, Sprite ringVer) {
this.ringCorner = ringCorner;
this.ringHor = ringHor;
this.ringVer = ringVer;
@@ -256,33 +256,33 @@ abstract class CraftingCubeBakedModel implements IDynamicBakedModel {
float x1, float y1, float z1, float x2, float y2, float z2);
@Override
public boolean isAmbientOcclusion() {
public boolean useAmbientOcclusion() {
return false;
}
@Override
public boolean isGui3d() {
public boolean hasDepth() {
return false;
}
@Override
public boolean isBuiltInRenderer() {
public boolean isBuiltin() {
return false;
}
@Override
public TextureAtlasSprite getParticleTexture() {
public Sprite getSprite() {
return this.ringCorner;
}
@Override
public boolean func_230044_c_() {
public boolean isSideLit() {
return false;
}
@Override
public ItemOverrideList getOverrides() {
return ItemOverrideList.EMPTY;
public ModelOverrideList getOverrides() {
return ModelOverrideList.EMPTY;
}
}
@@ -28,11 +28,11 @@ import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.json.ModelOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.AtlasTexture;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.texture.Sprite;
import net.minecraft.util.Identifier;
import net.minecraftforge.client.model.IModelConfiguration;
import net.minecraftforge.client.model.geometry.IModelGeometry;
@@ -76,12 +76,12 @@ class CraftingCubeModel implements IModelGeometry<CraftingCubeModel> {
@Override
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
Function<Material, Sprite> spriteGetter, IModelTransform modelTransform,
ModelOverrideList overrides, Identifier modelLocation) {
// Retrieve our textures and pass them on to the baked model
TextureAtlasSprite ringCorner = spriteGetter.apply(RING_CORNER);
TextureAtlasSprite ringSideHor = spriteGetter.apply(RING_SIDE_HOR);
TextureAtlasSprite ringSideVer = spriteGetter.apply(RING_SIDE_VER);
Sprite ringCorner = spriteGetter.apply(RING_CORNER);
Sprite ringSideHor = spriteGetter.apply(RING_SIDE_HOR);
Sprite ringSideVer = spriteGetter.apply(RING_SIDE_VER);
switch (this.type) {
case UNIT:
@@ -102,8 +102,8 @@ class CraftingCubeModel implements IModelGeometry<CraftingCubeModel> {
}
}
private static TextureAtlasSprite getLightTexture(Function<Material, TextureAtlasSprite> textureGetter,
AbstractCraftingUnitBlock.CraftingUnitType type) {
private static Sprite getLightTexture(Function<Material, Sprite> textureGetter,
AbstractCraftingUnitBlock.CraftingUnitType type) {
switch (type) {
case ACCELERATOR:
return textureGetter.apply(ACCELERATOR_LIGHT);
@@ -4,13 +4,13 @@ import javax.annotation.Nullable;
import com.google.common.collect.ImmutableMap;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.json.ModelOverrideList;
import net.minecraft.client.render.model.json.ModelTransformation;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.client.render.model.ItemCameraTransforms;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
@@ -25,12 +25,12 @@ import appeng.items.misc.EncodedPatternItem;
* holding shift - The itemstack is being rendered in the UI (not on the ground,
* etc.)
*
* We do this by abusing a custom {@link ItemOverrideList} since it will be
* We do this by abusing a custom {@link ModelOverrideList} since it will be
* called each frame with the itemstack that is about to be rendered. We return
* a custom IBakedModel ({@link ShiftHoldingModelWrapper} if the player is
* holding down shift from the override list. This custom baked model implements
* {@link #doesHandlePerspectives()} and returns the crafting result model if
* the model for {@link ItemCameraTransforms.TransformType#GUI} is requested.
* the model for {@link ModelTransformation.TransformType#GUI} is requested.
*/
public class EncodedPatternBakedModel extends DelegateBakedModel {
@@ -42,7 +42,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
}
@Override
public ItemOverrideList getOverrides() {
public ModelOverrideList getOverrides() {
return this.overrides;
}
@@ -71,12 +71,12 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
}
@Override
public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) {
// No need to re-check for shift being held since this model is only handed out
// in that case
if (cameraTransformType == ItemCameraTransforms.TransformType.GUI) {
ImmutableMap<ItemCameraTransforms.TransformType, TransformationMatrix> transforms = PerspectiveMapWrapper
.getTransforms(outputModel.getItemCameraTransforms());
if (cameraTransformType == ModelTransformation.TransformType.GUI) {
ImmutableMap<ModelTransformation.TransformType, TransformationMatrix> transforms = PerspectiveMapWrapper
.getTransforms(outputModel.getTransformation());
return PerspectiveMapWrapper.handlePerspective(this.outputModel, transforms, cameraTransformType, mat);
} else {
return getBaseModel().handlePerspective(cameraTransformType, mat);
@@ -86,8 +86,8 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
// This determines diffuse lighting in the UI, and since we want to render
// the outputModel in the UI, we need to use it's setting here
@Override
public boolean func_230044_c_() {
return outputModel.func_230044_c_();
public boolean isSideLit() {
return outputModel.isSideLit();
}
}
@@ -98,7 +98,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
}
@Override
public BakedModel handlePerspective(ItemCameraTransforms.TransformType cameraTransformType, MatrixStack mat) {
public BakedModel handlePerspective(ModelTransformation.TransformType cameraTransformType, MatrixStack mat) {
return getBaseModel().handlePerspective(cameraTransformType, mat);
}
@@ -108,7 +108,7 @@ public class EncodedPatternBakedModel extends DelegateBakedModel {
* actually check if shift is being held, and if so, determine the crafting
* output model.
*/
private class CustomOverrideList extends ItemOverrideList {
private class CustomOverrideList extends ModelOverrideList {
@Nullable
@Override
@@ -9,10 +9,10 @@ import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.IModelTransform;
import net.minecraft.client.render.model.IUnbakedModel;
import net.minecraft.client.render.model.ItemOverrideList;
import net.minecraft.client.render.model.json.ModelOverrideList;
import net.minecraft.client.render.model.Material;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.texture.Sprite;
import net.minecraft.util.Identifier;
import net.minecraftforge.client.model.IModelConfiguration;
import net.minecraftforge.client.model.geometry.IModelGeometry;
@@ -36,8 +36,8 @@ public class EncodedPatternModel implements IModelGeometry<EncodedPatternModel>
@Override
public BakedModel bake(IModelConfiguration owner, ModelLoader bakery,
Function<Material, TextureAtlasSprite> spriteGetter, IModelTransform modelTransform,
ItemOverrideList overrides, Identifier modelLocation) {
Function<Material, Sprite> spriteGetter, IModelTransform modelTransform,
ModelOverrideList overrides, Identifier modelLocation) {
BakedModel baseModel = bakery.getBakedModel(this.baseModel, modelTransform, spriteGetter);
return new EncodedPatternBakedModel(baseModel);
}
@@ -19,9 +19,9 @@
package appeng.client.render.crafting;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.texture.Sprite;
import net.minecraft.util.math.Direction;
import net.minecraftforge.client.model.data.IModelData;
import appeng.block.crafting.AbstractCraftingUnitBlock;
import appeng.client.render.cablebus.CubeBuilder;
@@ -33,12 +33,12 @@ import appeng.client.render.cablebus.CubeBuilder;
*/
class LightBakedModel extends CraftingCubeBakedModel {
private final TextureAtlasSprite baseTexture;
private final Sprite baseTexture;
private final TextureAtlasSprite lightTexture;
private final Sprite lightTexture;
LightBakedModel(TextureAtlasSprite ringCorner, TextureAtlasSprite ringHor, TextureAtlasSprite ringVer,
TextureAtlasSprite baseTexture, TextureAtlasSprite lightTexture) {
LightBakedModel(Sprite ringCorner, Sprite ringHor, Sprite ringVer,
Sprite baseTexture, Sprite lightTexture) {
super(ringCorner, ringHor, ringVer);
this.baseTexture = baseTexture;
this.lightTexture = lightTexture;
@@ -19,9 +19,9 @@
package appeng.client.render.crafting;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.texture.Sprite;
import net.minecraft.util.math.Direction;
import net.minecraftforge.client.model.data.IModelData;
import appeng.api.util.AEColor;
import appeng.block.crafting.CraftingMonitorBlock;
@@ -38,19 +38,19 @@ import appeng.tile.crafting.CraftingMonitorModelData;
*/
public class MonitorBakedModel extends CraftingCubeBakedModel {
private final TextureAtlasSprite chassisTexture;
private final Sprite chassisTexture;
private final TextureAtlasSprite baseTexture;
private final Sprite baseTexture;
private final TextureAtlasSprite lightDarkTexture;
private final Sprite lightDarkTexture;
private final TextureAtlasSprite lightMediumTexture;
private final Sprite lightMediumTexture;
private final TextureAtlasSprite lightBrightTexture;
private final Sprite lightBrightTexture;
MonitorBakedModel(TextureAtlasSprite ringCorner, TextureAtlasSprite ringHor, TextureAtlasSprite ringVer,
TextureAtlasSprite chassisTexture, TextureAtlasSprite baseTexture, TextureAtlasSprite lightDarkTexture,
TextureAtlasSprite lightMediumTexture, TextureAtlasSprite lightBrightTexture) {
MonitorBakedModel(Sprite ringCorner, Sprite ringHor, Sprite ringVer,
Sprite chassisTexture, Sprite baseTexture, Sprite lightDarkTexture,
Sprite lightMediumTexture, Sprite lightBrightTexture) {
super(ringCorner, ringHor, ringVer);
this.chassisTexture = chassisTexture;
this.baseTexture = baseTexture;
@@ -19,9 +19,9 @@
package appeng.client.render.crafting;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.texture.Sprite;
import net.minecraft.util.math.Direction;
import net.minecraftforge.client.model.data.IModelData;
import appeng.client.render.cablebus.CubeBuilder;
@@ -30,10 +30,10 @@ import appeng.client.render.cablebus.CubeBuilder;
*/
class UnitBakedModel extends CraftingCubeBakedModel {
private final TextureAtlasSprite unitTexture;
private final Sprite unitTexture;
UnitBakedModel(TextureAtlasSprite ringCorner, TextureAtlasSprite ringHor, TextureAtlasSprite ringVer,
TextureAtlasSprite unitTexture) {
UnitBakedModel(Sprite ringCorner, Sprite ringHor, Sprite ringVer,
Sprite unitTexture) {
super(ringCorner, ringHor, ringVer);
this.unitTexture = unitTexture;
}