To 1.15.1
This commit is contained in:
@@ -88,7 +88,7 @@ processResources {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
minecraft 'net.minecraftforge:forge:1.15-29.0.3'
|
minecraft 'net.minecraftforge:forge:1.15.1-30.0.18'
|
||||||
//compileOnly fg.deobf("mezz.jei:jei-1.14.4:6.0.0.11:api")
|
//compileOnly fg.deobf("mezz.jei:jei-1.14.4:6.0.0.11:api")
|
||||||
//compileOnly 'mouse-tweaks:MouseTweaks:2.12:mc1.14.4'
|
//compileOnly 'mouse-tweaks:MouseTweaks:2.12:mc1.14.4'
|
||||||
//runtimeOnly fg.deobf('crafting-tweaks:CraftingTweaks_1.14.4:10.1.3')
|
//runtimeOnly fg.deobf('crafting-tweaks:CraftingTweaks_1.14.4:10.1.3')
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import net.minecraft.util.Direction;
|
|||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.vecmath.Matrix4f;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ public class DiskDriveBakedModel extends DelegateBakedModel {
|
|||||||
|
|
||||||
for (int i = 0; i < 8; ++i) {
|
for (int i = 0; i < 8; ++i) {
|
||||||
if (key.diskState[i] != DiskState.NONE) {
|
if (key.diskState[i] != DiskState.NONE) {
|
||||||
quads.addAll(disksByFacing.get(facing).get(key.diskState[i]).get(i).getQuads(key.state, key.side, key.random));
|
// quads.addAll(disksByFacing.get(facing).get(key.diskState[i]).get(i).getQuads(key.state, key.side, key.random));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,6 +84,8 @@ public class DiskDriveBakedModel extends DelegateBakedModel {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
private Runnable init;
|
||||||
|
|
||||||
public DiskDriveBakedModel(IBakedModel base,
|
public DiskDriveBakedModel(IBakedModel base,
|
||||||
IBakedModel disk,
|
IBakedModel disk,
|
||||||
IBakedModel diskNearCapacity,
|
IBakedModel diskNearCapacity,
|
||||||
@@ -91,6 +93,7 @@ public class DiskDriveBakedModel extends DelegateBakedModel {
|
|||||||
IBakedModel diskDisconnected) {
|
IBakedModel diskDisconnected) {
|
||||||
super(base);
|
super(base);
|
||||||
|
|
||||||
|
this.init = () -> {
|
||||||
for (Direction facing : Direction.values()) {
|
for (Direction facing : Direction.values()) {
|
||||||
if (facing.getHorizontalIndex() == -1) {
|
if (facing.getHorizontalIndex() == -1) {
|
||||||
continue;
|
continue;
|
||||||
@@ -105,6 +108,9 @@ public class DiskDriveBakedModel extends DelegateBakedModel {
|
|||||||
addDiskModels(diskFull, DiskState.FULL, facing);
|
addDiskModels(diskFull, DiskState.FULL, facing);
|
||||||
addDiskModels(diskDisconnected, DiskState.DISCONNECTED, facing);
|
addDiskModels(diskDisconnected, DiskState.DISCONNECTED, facing);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
init.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addDiskModels(IBakedModel disk, DiskState type, Direction facing) {
|
private void addDiskModels(IBakedModel disk, DiskState type, Direction facing) {
|
||||||
@@ -112,7 +118,7 @@ public class DiskDriveBakedModel extends DelegateBakedModel {
|
|||||||
|
|
||||||
for (int y = 0; y < 4; ++y) {
|
for (int y = 0; y < 4; ++y) {
|
||||||
for (int x = 0; x < 2; ++x) {
|
for (int x = 0; x < 2; ++x) {
|
||||||
TRSRBakedModel model = new TRSRBakedModel(disk, facing);
|
/*TRSRBakedModel model = new TRSRBakedModel(disk, facing);
|
||||||
|
|
||||||
Vector3f trans = model.transformation.getTranslation();
|
Vector3f trans = model.transformation.getTranslation();
|
||||||
|
|
||||||
@@ -124,9 +130,14 @@ public class DiskDriveBakedModel extends DelegateBakedModel {
|
|||||||
|
|
||||||
trans.add(0, -((2F / 16F) + ((float) y * 3F) / 16F), 0); // Remove from Y
|
trans.add(0, -((2F / 16F) + ((float) y * 3F) / 16F), 0); // Remove from Y
|
||||||
|
|
||||||
model.transformation = new TransformationMatrix(trans, model.transformation.func_227989_d_(), model.transformation.getScale(), model.transformation.getRightRot());
|
model.transformation = new TransformationMatrix(
|
||||||
|
trans,
|
||||||
|
model.transformation.getRightRot(),
|
||||||
|
model.transformation.getScale(),
|
||||||
|
model.transformation.func_227989_d_()
|
||||||
|
);*/
|
||||||
|
|
||||||
disksByFacing.get(facing).get(type).add(model);
|
disksByFacing.get(facing).get(type).add(disk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -141,6 +152,9 @@ public class DiskDriveBakedModel extends DelegateBakedModel {
|
|||||||
|
|
||||||
CacheKey key = new CacheKey(state, side, diskState, rand);
|
CacheKey key = new CacheKey(state, side, diskState, rand);
|
||||||
|
|
||||||
|
init.run();
|
||||||
|
cache.refresh(key);
|
||||||
|
|
||||||
return cache.getUnchecked(key);
|
return cache.getUnchecked(key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,17 @@
|
|||||||
package com.raoulvdberge.refinedstorage.render.model;
|
package com.raoulvdberge.refinedstorage.render.model;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.client.renderer.*;
|
import net.minecraft.client.renderer.TransformationMatrix;
|
||||||
|
import net.minecraft.client.renderer.Vector3f;
|
||||||
import net.minecraft.client.renderer.model.BakedQuad;
|
import net.minecraft.client.renderer.model.BakedQuad;
|
||||||
import net.minecraft.client.renderer.model.IBakedModel;
|
import net.minecraft.client.renderer.model.IBakedModel;
|
||||||
import net.minecraft.client.renderer.model.ItemCameraTransforms;
|
import net.minecraft.client.renderer.model.ItemCameraTransforms;
|
||||||
import net.minecraft.client.renderer.model.ItemOverrideList;
|
import net.minecraft.client.renderer.model.ItemOverrideList;
|
||||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||||
import net.minecraft.client.renderer.vertex.VertexFormat;
|
|
||||||
import net.minecraft.client.renderer.vertex.VertexFormatElement;
|
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
|
import net.minecraftforge.client.model.pipeline.TRSRTransformer;
|
||||||
import net.minecraftforge.client.model.pipeline.UnpackedBakedQuad;
|
import net.minecraftforge.client.model.pipeline.UnpackedBakedQuad;
|
||||||
import net.minecraftforge.client.model.pipeline.VertexTransformer;
|
|
||||||
import net.minecraftforge.common.model.TransformationHelper;
|
import net.minecraftforge.common.model.TransformationHelper;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
@@ -27,7 +25,6 @@ import java.util.Random;
|
|||||||
public class TRSRBakedModel implements IBakedModel {
|
public class TRSRBakedModel implements IBakedModel {
|
||||||
protected final IBakedModel original;
|
protected final IBakedModel original;
|
||||||
protected TransformationMatrix transformation;
|
protected TransformationMatrix transformation;
|
||||||
private final int faceOffset;
|
|
||||||
|
|
||||||
public TRSRBakedModel(IBakedModel original, float x, float y, float z, float scale) {
|
public TRSRBakedModel(IBakedModel original, float x, float y, float z, float scale) {
|
||||||
this(original, x, y, z, 0, 0, 0, scale, scale, scale);
|
this(original, x, y, z, 0, 0, 0, scale, scale, scale);
|
||||||
@@ -46,8 +43,7 @@ public class TRSRBakedModel implements IBakedModel {
|
|||||||
|
|
||||||
public TRSRBakedModel(IBakedModel original, TransformationMatrix transform) {
|
public TRSRBakedModel(IBakedModel original, TransformationMatrix transform) {
|
||||||
this.original = original;
|
this.original = original;
|
||||||
this.transformation = TransformationHelper.blockCenterToCorner(transform);
|
this.transformation = transform;
|
||||||
this.faceOffset = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -56,11 +52,10 @@ public class TRSRBakedModel implements IBakedModel {
|
|||||||
public TRSRBakedModel(IBakedModel original, Direction facing) {
|
public TRSRBakedModel(IBakedModel original, Direction facing) {
|
||||||
this.original = original;
|
this.original = original;
|
||||||
|
|
||||||
this.faceOffset = 4 + Direction.NORTH.getHorizontalIndex() - facing.getHorizontalIndex();
|
|
||||||
|
|
||||||
double r = Math.PI * (360 - facing.getOpposite().getHorizontalIndex() * 90) / 180d;
|
double r = Math.PI * (360 - facing.getOpposite().getHorizontalIndex() * 90) / 180d;
|
||||||
TransformationMatrix t = new TransformationMatrix(null, null, null, TransformationHelper.quatFromXYZ(new Vector3f(0, (float) r, 0), false));
|
|
||||||
this.transformation = TransformationHelper.blockCenterToCorner(t);
|
this.transformation = new TransformationMatrix(null, TransformationHelper.quatFromXYZ(new Vector3f(0,(float)r,0), false), null, null).blockCenterToCorner();
|
||||||
|
//new TransformationMatrix(null, TransformationHelper.quatFromXYZ(new Vector3f(0, 180, 0), true), null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
@@ -68,26 +63,25 @@ public class TRSRBakedModel implements IBakedModel {
|
|||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public List<BakedQuad> getQuads(BlockState state, Direction side, Random rand) {
|
public List<BakedQuad> getQuads(BlockState state, Direction side, Random rand) {
|
||||||
// transform quads obtained from parent
|
// transform quads obtained from parent
|
||||||
|
ImmutableList.Builder<BakedQuad> quads = ImmutableList.builder();
|
||||||
ImmutableList.Builder<BakedQuad> builder = ImmutableList.builder();
|
|
||||||
|
|
||||||
if (!original.isBuiltInRenderer()) {
|
if (!original.isBuiltInRenderer()) {
|
||||||
try {
|
|
||||||
// adjust side to facing-rotation
|
// adjust side to facing-rotation
|
||||||
if (side != null && side.getHorizontalIndex() > -1) {
|
/*if (side != null && side.getHorizontalIndex() > -1) {
|
||||||
side = Direction.byHorizontalIndex((side.getHorizontalIndex() + faceOffset) % 4);
|
side = Direction.byHorizontalIndex((side.getHorizontalIndex() + faceOffset) % 4);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
for (BakedQuad quad : original.getQuads(state, side, rand)) {
|
for (BakedQuad quad : original.getQuads(state, side, rand)) {
|
||||||
Transformer transformer = new Transformer(transformation, quad.getFormat());
|
UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder(quad.getFormat());
|
||||||
// TODO quad.pipe(transformer);
|
TRSRTransformer transformer = new TRSRTransformer(builder, transformation);
|
||||||
builder.add(transformer.build());
|
|
||||||
}
|
quad.pipe(transformer);
|
||||||
} catch (Exception e) {
|
|
||||||
// do nothing. Seriously, why are you using immutable lists?!
|
quads.add(builder.build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder.build();
|
return quads.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -124,46 +118,4 @@ public class TRSRBakedModel implements IBakedModel {
|
|||||||
public ItemOverrideList getOverrides() {
|
public ItemOverrideList getOverrides() {
|
||||||
return original.getOverrides();
|
return original.getOverrides();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class Transformer extends VertexTransformer {
|
|
||||||
protected Matrix4f transformation;
|
|
||||||
protected Matrix3f normalTransformation;
|
|
||||||
|
|
||||||
public Transformer(TransformationMatrix transformation, VertexFormat format) {
|
|
||||||
super(new UnpackedBakedQuad.Builder(format));
|
|
||||||
/* TODO
|
|
||||||
// position transform
|
|
||||||
this.transformation = transformation.func_227988_c_();
|
|
||||||
// normal transform
|
|
||||||
this.normalTransformation = new Matrix3f();
|
|
||||||
this.transformation.getRotationScale(this.normalTransformation);
|
|
||||||
this.normalTransformation.invert();
|
|
||||||
this.normalTransformation.transpose();*/
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void put(int element, float... data) {
|
|
||||||
/* TODO
|
|
||||||
VertexFormatElement.Usage usage = parent.getVertexFormat().getElement(element).getUsage();
|
|
||||||
|
|
||||||
// transform normals and position
|
|
||||||
if (usage == VertexFormatElement.Usage.POSITION && data.length >= 3) {
|
|
||||||
Vector4f vec = new Vector4f(data[0], data[1], data[2], 1f);
|
|
||||||
transformation.transform(vec);
|
|
||||||
data = new float[4];
|
|
||||||
vec.get(data);
|
|
||||||
} else if (usage == VertexFormatElement.Usage.NORMAL && data.length >= 3) {
|
|
||||||
Vector3f vec = new Vector3f(data);
|
|
||||||
normalTransformation.transform(vec);
|
|
||||||
vec.normalize();
|
|
||||||
data = new float[4];
|
|
||||||
vec.get(data);
|
|
||||||
}*/
|
|
||||||
super.put(element, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
public UnpackedBakedQuad build() {
|
|
||||||
return ((UnpackedBakedQuad.Builder) parent).build();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ public class GridScreen extends BaseScreen<GridContainer> implements IScreenInfo
|
|||||||
|
|
||||||
int slot = scrollbar != null ? (scrollbar.getOffset() * 9) : 0;
|
int slot = scrollbar != null ? (scrollbar.getOffset() * 9) : 0;
|
||||||
|
|
||||||
RenderSystem.setupGuiFlatDiffuseLighting();
|
RenderSystem.setupGui3DDiffuseLighting();
|
||||||
|
|
||||||
for (int i = 0; i < 9 * getVisibleRows(); ++i) {
|
for (int i = 0; i < 9 * getVisibleRows(); ++i) {
|
||||||
if (RenderUtils.inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isActive()) {
|
if (RenderUtils.inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isActive()) {
|
||||||
|
|||||||
@@ -73,16 +73,14 @@ public class ClientSetup {
|
|||||||
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "constructor"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/constructor/cutouts/connected")));
|
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "constructor"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/constructor/cutouts/connected")));
|
||||||
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "destructor"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/destructor/cutouts/connected")));
|
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "destructor"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/destructor/cutouts/connected")));
|
||||||
|
|
||||||
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "disk_drive"), (base, registry) -> new FullbrightBakedModel(
|
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "disk_drive"), (base, registry) ->
|
||||||
new DiskDriveBakedModel(
|
new DiskDriveBakedModel(
|
||||||
base,
|
base,
|
||||||
registry.get(new ResourceLocation(RS.ID + ":block/disks/disk")),
|
registry.get(new ResourceLocation(RS.ID + ":block/disks/disk")),
|
||||||
registry.get(new ResourceLocation(RS.ID + ":block/disks/disk_near_capacity")),
|
registry.get(new ResourceLocation(RS.ID + ":block/disks/disk_near_capacity")),
|
||||||
registry.get(new ResourceLocation(RS.ID + ":block/disks/disk_full")),
|
registry.get(new ResourceLocation(RS.ID + ":block/disks/disk_full")),
|
||||||
registry.get(new ResourceLocation(RS.ID + ":block/disks/disk_disconnected"))
|
registry.get(new ResourceLocation(RS.ID + ":block/disks/disk_disconnected"))
|
||||||
),
|
));
|
||||||
new ResourceLocation(RS.ID, "block/disks/leds")
|
|
||||||
).disableCache());
|
|
||||||
|
|
||||||
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "disk_manipulator"), (base, registry) -> new FullbrightBakedModel(
|
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "disk_manipulator"), (base, registry) -> new FullbrightBakedModel(
|
||||||
new DiskManipulatorBakedModel(
|
new DiskManipulatorBakedModel(
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
modLoader="javafml"
|
modLoader="javafml"
|
||||||
loaderVersion="[29,)"
|
loaderVersion="[30,)"
|
||||||
issueTrackerURL="https://github.com/raoulvdberge/refinedstorage"
|
issueTrackerURL="https://github.com/raoulvdberge/refinedstorage"
|
||||||
[[mods]]
|
[[mods]]
|
||||||
modId="refinedstorage"
|
modId="refinedstorage"
|
||||||
|
|||||||
Reference in New Issue
Block a user