From bbff51a09e8ae864ebc06e8405126e3ed854ce11 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Wed, 11 Jul 2018 13:48:24 +0200 Subject: [PATCH] Implement security manager fullbright with the new system. #1860 --- .../block/BlockSecurityManager.java | 16 +++ .../model/baked/BakedModelCableCover.java | 51 +------ .../model/baked/BakedModelDelegate.java | 68 +++++++++ .../model/baked/BakedModelDiskDrive.java | 39 +----- .../baked/BakedModelDiskManipulator.java | 43 +----- .../model/baked/BakedModelFullbright.java | 129 ++++++++++++++++++ .../render/model/baked/BakedModelPattern.java | 43 +----- .../blockstates/security_manager.json | 31 +++-- .../models/block/security_manager.json | 78 +++++++++++ .../textures/blocks/security_manager/back.png | Bin 0 -> 540 bytes .../bottom.png} | Bin .../cutouts/back_connected.png} | Bin .../cutouts/back_disconnected.png | Bin 0 -> 242 bytes .../cutouts/front_connected.png} | Bin .../cutouts/front_disconnected.png | Bin 0 -> 227 bytes .../cutouts/left_connected.png} | Bin .../cutouts/left_disconnected.png | Bin 0 -> 241 bytes .../cutouts/right_connected.png} | Bin .../cutouts/right_disconnected.png | Bin 0 -> 239 bytes .../cutouts/top_connected.png} | Bin .../cutouts/top_disconnected.png | Bin 0 -> 297 bytes .../blocks/security_manager/front.png | Bin 0 -> 498 bytes .../textures/blocks/security_manager/left.png | Bin 0 -> 551 bytes .../blocks/security_manager/right.png | Bin 0 -> 574 bytes .../textures/blocks/security_manager/top.png | Bin 0 -> 495 bytes .../security_manager_back_connected.png | Bin 1631 -> 0 bytes ...ity_manager_back_connected_glow.png.mcmeta | 9 -- .../security_manager_back_disconnected.png | Bin 1371 -> 0 bytes .../security_manager_front_connected.png | Bin 1506 -> 0 bytes ...ty_manager_front_connected_glow.png.mcmeta | 9 -- .../security_manager_front_disconnected.png | Bin 1330 -> 0 bytes .../security_manager_left_connected.png | Bin 1611 -> 0 bytes ...ity_manager_left_connected_glow.png.mcmeta | 9 -- .../security_manager_left_disconnected.png | Bin 1366 -> 0 bytes .../security_manager_right_connected.png | Bin 1637 -> 0 bytes ...ty_manager_right_connected_glow.png.mcmeta | 9 -- .../security_manager_right_disconnected.png | Bin 1403 -> 0 bytes .../blocks/security_manager_top_connected.png | Bin 1579 -> 0 bytes ...rity_manager_top_connected_glow.png.mcmeta | 9 -- .../security_manager_top_disconnected.png | Bin 1344 -> 0 bytes 40 files changed, 319 insertions(+), 224 deletions(-) create mode 100644 src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDelegate.java create mode 100644 src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelFullbright.java create mode 100644 src/main/resources/assets/refinedstorage/models/block/security_manager.json create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager/back.png rename src/main/resources/assets/refinedstorage/textures/blocks/{security_manager_bottom.png => security_manager/bottom.png} (100%) rename src/main/resources/assets/refinedstorage/textures/blocks/{security_manager_back_connected_glow.png => security_manager/cutouts/back_connected.png} (100%) create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/back_disconnected.png rename src/main/resources/assets/refinedstorage/textures/blocks/{security_manager_front_connected_glow.png => security_manager/cutouts/front_connected.png} (100%) create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/front_disconnected.png rename src/main/resources/assets/refinedstorage/textures/blocks/{security_manager_left_connected_glow.png => security_manager/cutouts/left_connected.png} (100%) create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/left_disconnected.png rename src/main/resources/assets/refinedstorage/textures/blocks/{security_manager_right_connected_glow.png => security_manager/cutouts/right_connected.png} (100%) create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/right_disconnected.png rename src/main/resources/assets/refinedstorage/textures/blocks/{security_manager_top_connected_glow.png => security_manager/cutouts/top_connected.png} (100%) create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/top_disconnected.png create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager/front.png create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager/left.png create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager/right.png create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager/top.png delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_back_connected.png delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_back_connected_glow.png.mcmeta delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_back_disconnected.png delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_connected.png delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_connected_glow.png.mcmeta delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_disconnected.png delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_left_connected.png delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_left_connected_glow.png.mcmeta delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_left_disconnected.png delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_connected.png delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_connected_glow.png.mcmeta delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_disconnected.png delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_top_connected.png delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_top_connected_glow.png.mcmeta delete mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/security_manager_top_disconnected.png diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockSecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockSecurityManager.java index f24f6a45a..e2cb10905 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockSecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockSecurityManager.java @@ -6,10 +6,12 @@ import com.raoulvdberge.refinedstorage.api.network.security.Permission; import com.raoulvdberge.refinedstorage.block.info.BlockDirection; import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder; import com.raoulvdberge.refinedstorage.render.IModelRegistration; +import com.raoulvdberge.refinedstorage.render.model.baked.BakedModelFullbright; import com.raoulvdberge.refinedstorage.tile.TileSecurityManager; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; @@ -28,6 +30,20 @@ public class BlockSecurityManager extends BlockNode { @SideOnly(Side.CLIENT) public void registerModels(IModelRegistration modelRegistration) { modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory")); + + modelRegistration.addBakedModelOverride(info.getId(), base -> new BakedModelFullbright( + base, + "refinedstorage:blocks/security_manager/cutouts/top_connected", + "refinedstorage:blocks/security_manager/cutouts/front_connected", + "refinedstorage:blocks/security_manager/cutouts/left_connected", + "refinedstorage:blocks/security_manager/cutouts/back_connected", + "refinedstorage:blocks/security_manager/cutouts/right_connected" + )); + } + + @Override + public BlockRenderLayer getBlockLayer() { + return BlockRenderLayer.CUTOUT; } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelCableCover.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelCableCover.java index 168f6617e..47dbd1657 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelCableCover.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelCableCover.java @@ -13,27 +13,21 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.client.renderer.block.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.AxisAlignedBB; import net.minecraftforge.common.property.IExtendedBlockState; -import org.apache.commons.lang3.tuple.Pair; import org.lwjgl.util.vector.Vector3f; import javax.annotation.Nullable; -import javax.vecmath.Matrix4f; import java.util.ArrayList; import java.util.List; -public class BakedModelCableCover implements IBakedModel { +public class BakedModelCableCover extends BakedModelDelegate { private static TextureAtlasSprite GREY_SPRITE; - private IBakedModel base; - public BakedModelCableCover(IBakedModel base) { - this.base = base; + super(base); } @Override @@ -362,45 +356,4 @@ public class BakedModelCableCover implements IBakedModel { .bake() ); } - - @Override - @SuppressWarnings("deprecation") - public ItemCameraTransforms getItemCameraTransforms() { - return base.getItemCameraTransforms(); - } - - @Override - public ItemOverrideList getOverrides() { - return base.getOverrides(); - } - - @Override - public boolean isAmbientOcclusion(IBlockState state) { - return base.isAmbientOcclusion(state); - } - - @Override - public Pair handlePerspective(ItemCameraTransforms.TransformType cameraTransformType) { - return base.handlePerspective(cameraTransformType); - } - - @Override - public boolean isAmbientOcclusion() { - return base.isAmbientOcclusion(); - } - - @Override - public boolean isGui3d() { - return base.isGui3d(); - } - - @Override - public boolean isBuiltInRenderer() { - return base.isBuiltInRenderer(); - } - - @Override - public TextureAtlasSprite getParticleTexture() { - return base.getParticleTexture(); - } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDelegate.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDelegate.java new file mode 100644 index 000000000..683d97437 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDelegate.java @@ -0,0 +1,68 @@ +package com.raoulvdberge.refinedstorage.render.model.baked; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.renderer.block.model.IBakedModel; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms; +import net.minecraft.client.renderer.block.model.ItemOverrideList; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.util.EnumFacing; +import org.apache.commons.lang3.tuple.Pair; + +import javax.annotation.Nullable; +import javax.vecmath.Matrix4f; +import java.util.List; + +public class BakedModelDelegate implements IBakedModel { + protected final IBakedModel base; + + public BakedModelDelegate(IBakedModel base) { + this.base = base; + } + + @Override + public List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) { + return base.getQuads(state, side, rand); + } + + @Override + public boolean isAmbientOcclusion() { + return base.isAmbientOcclusion(); + } + + @Override + public boolean isAmbientOcclusion(IBlockState state) { + return base.isAmbientOcclusion(state); + } + + @Override + public boolean isGui3d() { + return base.isGui3d(); + } + + @Override + public boolean isBuiltInRenderer() { + return base.isBuiltInRenderer(); + } + + @Override + public TextureAtlasSprite getParticleTexture() { + return base.getParticleTexture(); + } + + @Override + public ItemOverrideList getOverrides() { + return base.getOverrides(); + } + + @Override + @SuppressWarnings("deprecation") + public ItemCameraTransforms getItemCameraTransforms() { + return base.getItemCameraTransforms(); + } + + @Override + public Pair handlePerspective(ItemCameraTransforms.TransformType cameraTransformType) { + return base.handlePerspective(cameraTransformType); + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskDrive.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskDrive.java index 8fde9a4a6..e3792b9ba 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskDrive.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskDrive.java @@ -9,9 +9,6 @@ import com.raoulvdberge.refinedstorage.tile.TileDiskDrive; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.client.renderer.block.model.ItemOverrideList; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.model.TRSRTransformation; import net.minecraftforge.common.property.IExtendedBlockState; @@ -20,7 +17,7 @@ import javax.annotation.Nullable; import javax.vecmath.Vector3f; import java.util.*; -public class BakedModelDiskDrive implements IBakedModel { +public class BakedModelDiskDrive extends BakedModelDelegate { private class CacheKey { private IBlockState state; private EnumFacing side; @@ -64,7 +61,6 @@ public class BakedModelDiskDrive implements IBakedModel { } } - private IBakedModel base; private Map models = new HashMap<>(); private Map>> disks = new HashMap<>(); @@ -86,7 +82,7 @@ public class BakedModelDiskDrive implements IBakedModel { }); public BakedModelDiskDrive(IBakedModel base, IBakedModel disk, IBakedModel diskNearCapacity, IBakedModel diskFull, IBakedModel diskDisconnected) { - this.base = base; + super(base); for (EnumFacing facing : EnumFacing.HORIZONTALS) { models.put(facing, new BakedModelTRSR(base, facing)); @@ -143,35 +139,4 @@ public class BakedModelDiskDrive implements IBakedModel { return cache.getUnchecked(key); } - - @Override - public boolean isAmbientOcclusion() { - return base.isAmbientOcclusion(); - } - - @Override - public boolean isGui3d() { - return base.isGui3d(); - } - - @Override - public boolean isBuiltInRenderer() { - return base.isBuiltInRenderer(); - } - - @Override - public TextureAtlasSprite getParticleTexture() { - return base.getParticleTexture(); - } - - @Override - @SuppressWarnings("deprecation") - public ItemCameraTransforms getItemCameraTransforms() { - return base.getItemCameraTransforms(); - } - - @Override - public ItemOverrideList getOverrides() { - return base.getOverrides(); - } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskManipulator.java index 3395a3183..1a0bb65ff 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelDiskManipulator.java @@ -9,9 +9,6 @@ import com.raoulvdberge.refinedstorage.tile.TileDiskDrive; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.client.renderer.block.model.ItemOverrideList; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.model.TRSRTransformation; import net.minecraftforge.common.property.IExtendedBlockState; @@ -20,7 +17,7 @@ import javax.annotation.Nullable; import javax.vecmath.Vector3f; import java.util.*; -public class BakedModelDiskManipulator implements IBakedModel { +public class BakedModelDiskManipulator extends BakedModelDelegate { private class CacheKey { private IBlockState state; private EnumFacing side; @@ -64,7 +61,6 @@ public class BakedModelDiskManipulator implements IBakedModel { } } - private IBakedModel baseDisconnected; private Map modelsConnected = new HashMap<>(); private Map modelsDisconnected = new HashMap<>(); private Map>> disks = new HashMap<>(); @@ -87,7 +83,7 @@ public class BakedModelDiskManipulator implements IBakedModel { }); public BakedModelDiskManipulator(IBakedModel baseConnected, IBakedModel baseDisconnected, IBakedModel disk, IBakedModel diskNearCapacity, IBakedModel diskFull, IBakedModel diskDisconnected) { - this.baseDisconnected = baseDisconnected; + super(baseDisconnected); for (EnumFacing facing : EnumFacing.HORIZONTALS) { modelsConnected.put(facing, new BakedModelTRSR(baseConnected, facing)); @@ -132,48 +128,17 @@ public class BakedModelDiskManipulator implements IBakedModel { @Override public List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) { if (!(state instanceof IExtendedBlockState)) { - return baseDisconnected.getQuads(state, side, rand); + return base.getQuads(state, side, rand); } Integer[] diskState = ((IExtendedBlockState) state).getValue(BlockDiskManipulator.DISK_STATE); if (diskState == null) { - return baseDisconnected.getQuads(state, side, rand); + return base.getQuads(state, side, rand); } CacheKey key = new CacheKey(((IExtendedBlockState) state).getClean(), side, diskState); return cache.getUnchecked(key); } - - @Override - public boolean isAmbientOcclusion() { - return baseDisconnected.isAmbientOcclusion(); - } - - @Override - public boolean isGui3d() { - return baseDisconnected.isGui3d(); - } - - @Override - public boolean isBuiltInRenderer() { - return baseDisconnected.isBuiltInRenderer(); - } - - @Override - public TextureAtlasSprite getParticleTexture() { - return baseDisconnected.getParticleTexture(); - } - - @Override - @SuppressWarnings("deprecation") - public ItemCameraTransforms getItemCameraTransforms() { - return baseDisconnected.getItemCameraTransforms(); - } - - @Override - public ItemOverrideList getOverrides() { - return baseDisconnected.getOverrides(); - } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelFullbright.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelFullbright.java new file mode 100644 index 000000000..4cfc20ef6 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelFullbright.java @@ -0,0 +1,129 @@ +package com.raoulvdberge.refinedstorage.render.model.baked; + +import com.google.common.cache.CacheBuilder; +import com.google.common.cache.CacheLoader; +import com.google.common.cache.LoadingCache; +import com.raoulvdberge.refinedstorage.util.RenderUtils; +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.renderer.block.model.IBakedModel; +import net.minecraft.client.renderer.vertex.VertexFormat; +import net.minecraft.util.EnumFacing; +import net.minecraftforge.client.model.pipeline.UnpackedBakedQuad; +import net.minecraftforge.client.model.pipeline.VertexLighterFlat; +import net.minecraftforge.common.property.IExtendedBlockState; +import scala.actors.threadpool.Arrays; + +import javax.annotation.Nullable; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class BakedModelFullbright extends BakedModelDelegate { + private class CacheKey { + private IBakedModel base; + private Set textures; + private IBlockState state; + private EnumFacing side; + + public CacheKey(IBakedModel base, Set textures, IBlockState state, EnumFacing side) { + this.base = base; + this.textures = textures; + this.state = state; + this.side = side; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + + if (o == null || getClass() != o.getClass()) { + return false; + } + + CacheKey cacheKey = (CacheKey) o; + + if (cacheKey.side != side) { + return false; + } + + if (!state.equals(cacheKey.state)) { + return false; + } + + return true; + } + + @Override + public int hashCode() { + return state.hashCode() + (31 * (side != null ? side.hashCode() : 0)); + } + } + + private static final LoadingCache> CACHE = CacheBuilder.newBuilder().build(new CacheLoader>() { + @Override + public List load(CacheKey key) throws Exception { + List quads = key.base.getQuads(key.state, key.side, 0); + + for (int i = 0; i < quads.size(); ++i) { + BakedQuad quad = quads.get(i); + + if (key.textures.contains(quad.getSprite().getIconName())) { + quads.set(i, transformQuad(quad, 0.007F)); + } + } + + return quads; + } + }); + + private Set textures; + + public BakedModelFullbright(IBakedModel base, String... textures) { + super(base); + + this.textures = new HashSet<>(Arrays.asList(textures)); + } + + @Override + public List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) { + if (state == null) { + return base.getQuads(state, side, rand); + } + + return CACHE.getUnchecked(new CacheKey(base, textures, state instanceof IExtendedBlockState ? ((IExtendedBlockState) state).getClean() : state, side)); + } + + private static BakedQuad transformQuad(BakedQuad quad, float light) { + VertexFormat newFormat = RenderUtils.getFormatWithLightMap(quad.getFormat()); + + UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder(newFormat); + + VertexLighterFlat trans = new VertexLighterFlat(Minecraft.getMinecraft().getBlockColors()) { + @Override + protected void updateLightmap(float[] normal, float[] lightmap, float x, float y, float z) { + lightmap[0] = light; + lightmap[1] = light; + } + + @Override + public void setQuadTint(int tint) { + // NO OP + } + }; + + trans.setParent(builder); + + quad.pipe(trans); + + builder.setQuadTint(quad.getTintIndex()); + builder.setQuadOrientation(quad.getFace()); + builder.setTexture(quad.getSprite()); + builder.setApplyDiffuseLighting(false); + + return builder.build(); + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelPattern.java index 126d60e2f..5946885b8 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelPattern.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelPattern.java @@ -5,29 +5,21 @@ import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern; import com.raoulvdberge.refinedstorage.item.ItemPattern; import com.raoulvdberge.refinedstorage.util.RenderUtils; -import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.block.model.ItemOverrideList; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; import net.minecraft.world.World; import net.minecraftforge.common.model.TRSRTransformation; import org.apache.commons.lang3.tuple.Pair; -import javax.annotation.Nullable; import javax.vecmath.Matrix4f; -import java.util.List; - -public class BakedModelPattern implements IBakedModel { - private IBakedModel base; +public class BakedModelPattern extends BakedModelDelegate { public BakedModelPattern(IBakedModel base) { - this.base = base; + super(base); } @Override @@ -37,37 +29,6 @@ public class BakedModelPattern implements IBakedModel { return Pair.of(this, transform == null ? RenderUtils.EMPTY_MATRIX_TRANSFORM : transform.getMatrix()); } - @Override - public List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) { - return base.getQuads(state, side, rand); - } - - @Override - public boolean isAmbientOcclusion() { - return base.isAmbientOcclusion(); - } - - @Override - public boolean isGui3d() { - return base.isGui3d(); - } - - @Override - public boolean isBuiltInRenderer() { - return base.isBuiltInRenderer(); - } - - @Override - public TextureAtlasSprite getParticleTexture() { - return base.getParticleTexture(); - } - - @Override - @SuppressWarnings("deprecation") - public ItemCameraTransforms getItemCameraTransforms() { - return base.getItemCameraTransforms(); - } - @Override public ItemOverrideList getOverrides() { return new ItemOverrideList(base.getOverrides().getOverrides()) { diff --git a/src/main/resources/assets/refinedstorage/blockstates/security_manager.json b/src/main/resources/assets/refinedstorage/blockstates/security_manager.json index 2fed83c38..d0c365eb0 100755 --- a/src/main/resources/assets/refinedstorage/blockstates/security_manager.json +++ b/src/main/resources/assets/refinedstorage/blockstates/security_manager.json @@ -1,15 +1,20 @@ { "forge_marker": 1, "defaults": { - "model": "cube", + "model": "refinedstorage:security_manager", "textures": { - "particle": "refinedstorage:blocks/security_manager_front_disconnected", - "down": "refinedstorage:blocks/security_manager_bottom", - "up": "refinedstorage:blocks/security_manager_top_disconnected", - "north": "refinedstorage:blocks/security_manager_front_disconnected", - "east": "refinedstorage:blocks/security_manager_left_disconnected", - "south": "refinedstorage:blocks/security_manager_back_disconnected", - "west": "refinedstorage:blocks/security_manager_right_disconnected" + "particle": "refinedstorage:blocks/security_manager/front", + "down": "refinedstorage:blocks/security_manager/bottom", + "up": "refinedstorage:blocks/security_manager/top", + "north": "refinedstorage:blocks/security_manager/front", + "east": "refinedstorage:blocks/security_manager/left", + "south": "refinedstorage:blocks/security_manager/back", + "west": "refinedstorage:blocks/security_manager/right", + "cutout_up": "refinedstorage:blocks/security_manager/cutouts/top_disconnected", + "cutout_north": "refinedstorage:blocks/security_manager/cutouts/front_disconnected", + "cutout_east": "refinedstorage:blocks/security_manager/cutouts/left_disconnected", + "cutout_south": "refinedstorage:blocks/security_manager/cutouts/back_disconnected", + "cutout_west": "refinedstorage:blocks/security_manager/cutouts/right_disconnected" } }, "variants": { @@ -21,11 +26,11 @@ "connected": { "true": { "textures": { - "up": "refinedstorage:blocks/security_manager_top_connected", - "north": "refinedstorage:blocks/security_manager_front_connected", - "east": "refinedstorage:blocks/security_manager_left_connected", - "south": "refinedstorage:blocks/security_manager_back_connected", - "west": "refinedstorage:blocks/security_manager_right_connected" + "cutout_up": "refinedstorage:blocks/security_manager/cutouts/top_connected", + "cutout_north": "refinedstorage:blocks/security_manager/cutouts/front_connected", + "cutout_east": "refinedstorage:blocks/security_manager/cutouts/left_connected", + "cutout_south": "refinedstorage:blocks/security_manager/cutouts/back_connected", + "cutout_west": "refinedstorage:blocks/security_manager/cutouts/right_connected" } }, "false": { diff --git a/src/main/resources/assets/refinedstorage/models/block/security_manager.json b/src/main/resources/assets/refinedstorage/models/block/security_manager.json new file mode 100644 index 000000000..a71b69487 --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/block/security_manager.json @@ -0,0 +1,78 @@ +{ + "parent": "block/cube", + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "down": { + "texture": "#down", + "cullface": "down" + }, + "up": { + "texture": "#up", + "cullface": "up" + }, + "north": { + "texture": "#north", + "cullface": "north" + }, + "south": { + "texture": "#south", + "cullface": "south" + }, + "west": { + "texture": "#west", + "cullface": "west" + }, + "east": { + "texture": "#east", + "cullface": "east" + } + } + }, + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "shade": false, + "faces": { + "up": { + "texture": "#cutout_up", + "cullface": "up" + }, + "north": { + "texture": "#cutout_north", + "cullface": "north" + }, + "south": { + "texture": "#cutout_south", + "cullface": "south" + }, + "west": { + "texture": "#cutout_west", + "cullface": "west" + }, + "east": { + "texture": "#cutout_east", + "cullface": "east" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/back.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/back.png new file mode 100644 index 0000000000000000000000000000000000000000..1b87bf05b477dc037fe36a9e87b7ff35c23db8b8 GIT binary patch literal 540 zcmV+%0^|LOP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00E3iL_t(IPnA;JssUjb{og{AT!=8DB&R6J zjOG-7rTwsAh6 zaXcPzI-PJh90YOz6PdPJtt5q&Fqu4^P6gxfSTLW@<^BCnyWNH=6bfjyS|G<_F=(3R zAel@GQmK@KXf!I`dcBTBA^}w@l_Z%Q2n6u^s5i>xG6=Uu551jEM?zGkQjv1W@p#-x z;>T~yD(M{#hw`p!wVL!s4uwLVG-`xf3kHLt@c_0bEwBQz-wNpEdeiCj>wxuoEn+wv z_M|nNO*9$}k46u@T%jCLtyX0%WWQUWmzOG&$-FAy%_B!55l@<77$DplJ@j_FU1YOa zZwvpK!Pgc(XTS@l>$*py=g$`W&VXL0g<`QNJ0*Y4z%)$|ZjBy#d3zb6^7%Y+xg5xT eXF%^u)9?dTNBDxm$Omiy00000#LT=By}Z;C1rt33 zJtM=93Yk-Zijq8C978PppI&g}I-tPg5|}SIWyN>+|MP(FhA#U zXRgi0UUeq{!3)vK=0;8#YZqRtN`4$Cy>p_V(|g%uo*So^tun|4NzEv3ns-(&8N~c? cSAIcE{ltTM-Y0%M0NTdj>FVdQ&MBb@0E&E03jhEB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_connected_glow.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/front_connected.png similarity index 100% rename from src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_connected_glow.png rename to src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/front_connected.png diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/front_disconnected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/front_disconnected.png new file mode 100644 index 0000000000000000000000000000000000000000..9538a69d36e3c3830b449323c90c871d1c2fa56d GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJtM=93Yk-Zih?~|978PppI)%!J7B=!5-8vD^xyJ19ZZ^hmwRHD{czgDwUHslHL!D$ zkgIB!m&jBNt-uhe2k$yKuH+aShvdKB_H+s3%+7b&rIFFwb=7%)+~waOm+W?Rvr9yl Q0?>E{Pgg&ebxsLQ0Gk0wWdHyG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_left_connected_glow.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/left_connected.png similarity index 100% rename from src/main/resources/assets/refinedstorage/textures/blocks/security_manager_left_connected_glow.png rename to src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/left_connected.png diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/left_disconnected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/left_disconnected.png new file mode 100644 index 0000000000000000000000000000000000000000..e8efb48af393a14bf002fd8a3a56ae863193698b GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJtM=93Yk-ZiV{6t978PppI&g}Vo>C0eVC`{`s}a&&o;Ie&HKlq&OLJebJvCSfT)yl z#+e0%$}ED7xAS>=B^9?^3&^g0YuKO;JG%ydU%~03WyTvo9%Arx^>bP0l+XkK;jmMU literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_connected_glow.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/right_connected.png similarity index 100% rename from src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_connected_glow.png rename to src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/right_connected.png diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/right_disconnected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/right_disconnected.png new file mode 100644 index 0000000000000000000000000000000000000000..8648202ac603e5c348c7944b9b091319206ea30d GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJtM=93Yk-ZisC(8978PppI)%$Vo>C1Nz4~yl6qf%DpH5dtp8Zf&ZF&T@|F1*=1=+P zCYcW+lm!`&TAN#)l31ywac}3viHD-N)7pwRowY37BMsu-lNPyMDG6r2|Htr{F(mzT Ve!14?A3&=ZJYD@<);T3K0RRe#Pq_d9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_top_connected_glow.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/top_connected.png similarity index 100% rename from src/main/resources/assets/refinedstorage/textures/blocks/security_manager_top_connected_glow.png rename to src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/top_connected.png diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/top_disconnected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/cutouts/top_disconnected.png new file mode 100644 index 0000000000000000000000000000000000000000..a3ae9cca5fef2106ad0f66934161fe1017a9ca32 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJtM=93Yk-Zie`GcIEGmGFP#w0*KEMUV(D?>_rLHG$t6>LX0u(Y>shmAZ}#D|w0c94 zaEUJM7&*&yZ%xTkm!6MDs_mGfvctSK-uoTN=)3ne!vw)4jMsgcB|eCs=va0yx4}J{ zaq+6}He3f(zSY{hsWbkIc@WH?{63Sx_k;A-tB-A`GqinOyd`#e!kVp791kV_3Vqm@ ldBo&_c-tc`=Z}`#_A+c-5cT+PkqXGW44$rjF6*2UngFzVYa;*v literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/front.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/front.png new file mode 100644 index 0000000000000000000000000000000000000000..019b77189478c9ba7aef91d2f2a30be1c244c0aa GIT binary patch literal 498 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00Cl2L_t(IPu)_@s)Aq?^hKgYB$=TQVI>6- zR`d!{3jNxTM)WR0yV|yiYSRPwUUTo9C^Wjz`U=C~IG<7%jJU8>4f9) zi2Z(#!{LD4ZYPi*a3ZIzRx6ppB%Dm1&1QnhWFnZ)=koqM)9dx16pKaF>vfP-RYg9Z zf5EnGL0rpbv*N8*tH|YY_zxXemW58I12Xs1b^QfR(**GjGMS8c8;!=JgG!}>AP7KC zrBe8PlqVd=L9^LRX!Ov__=Q3NO08CtNaSx5(91#%!+0cM>*RDgotV~cw?V`;dg$%< z`!G#2xkCINFu^BgN_s!8@ZJH-ZM9knjh;VO__hOjUn`W$WsF86kl#D#cDo?r8a?## o&TxoQDwX7JlfUhN-iM~+2SFbVtlnvJEdT%j07*qoM6N<$f=C0~ng9R* literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/left.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/left.png new file mode 100644 index 0000000000000000000000000000000000000000..6cc4717362b7512ad4bff3c5d58aaf7196dbb5a0 GIT binary patch literal 551 zcmV+?0@(eDP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00EatL_t(IPmNMZs=`nZe76t;aUqHtQ4n!L zL4pHbK^(w&7V$0tce*s2IBYzC_bPw27!&bB0!5L2mDkmkR_pZ|o6QE(=@jGf7>mUM ztZlbj%;$3qheP!HeK{j{IvsSoT|uwcgWBzOxL&Wg-|x8HZo-epL)fw`TrL-writV6 zi2Z(#!{GqKFa&Y|JF?qyxs)z+!p`K$WFi=iMuORFChzZWTCEmTHk(DG(EvFd4nxy4 z8?jhS5Rb=gP?JulQ79A;jYgsJ`Mh){`+Pq9J?agLQmK?=^3I7)Xx+}BSS-o`ITDH3 zo#=qfnlq>K`Ha))^vR%HF3W6Wzu)h2z#8p3b7BT`Y-d30bU^;);G09CkmOaVR6ZH3 zRx7z65D2&&RI63!y6&n`LoMwm5(%hMsU#N3Uj70dP|KxCCX+7*Oqm=E23_6i^*RV= zjT&m(?Y8_O*9cxRpi63hj_{oU7pzvRxoXt>JA&5?sI^DP<#HGd1|WZD&}=qAIBV2U p%Uxg-mC0meS;$^9p!QYM@C5Eh|E?oOCXE09002ovPDHLkV1lj+>8k($ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/right.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager/right.png new file mode 100644 index 0000000000000000000000000000000000000000..ec8e1f3be055b75f74023870b9b5f44054367999 GIT binary patch literal 574 zcmV-E0>S->P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00FK^L_t(IPmNOBszFf{U4J1D@*u(%CAmdO zF8PJ+R_>R*N&ZE7J0w1;Lf04ucKP6I(p=M zweV{OPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00Cb~L_t(IPo0uo%KT2u&!sW-Z_b{X{mpq3rBVr%N(I$w70qT7 ztyT-|b{m~ehwVnAfqK2pwq;qYTCK)=E|-JocDuOW@2uzZ$s+rDy&?z#TrL-!PA41= z2i9`A#B4UhVzH2bUa!YLL?RI+5{a)wcRkNTKA)En(5rOtx5PK1yYu-Rg+c*>a{UD` z8jU2twr#v#FJ*x5`!WTp?&Iku?N z$Kz2M(C_z=&1Pi^=kxg|Kq{4jD3{ATVXA=fc#L>F4pA%?v0ks00h`SRu~-a(D(Ske z@+j|iI~f60(s3LNheHmFW}L>9`b;+YNR!EgA6l(e*zfn)Znua=qYzYxbUMu~`N%K~ l7Wp+zeM}Q)7{B2Mia3?whHTEu>7XF(-SzsxRjMi1GO8A9Dca#skLz1n@p|QYjDprE z3e&h`l1cnvkO_`~MixIJ!|$1>F^bA`&MAIH#3-UTRE#><6{zzM<0W_R`#$gUd!FC( zb?eM&Uycro4uc?Qv@un05!bPScSMNz-B9LKiOU4RU=z|ghfqNC0MgmHYycZsItN$) zZ7<9_4U!;e$V!*hCfH1~H4Mkf=zxyQ$9hCG1SQSzd1xjV2yiyYak;g~Jtor|!*1_jqQsP;KH7ugG7M$eKwSOWUcmzXr}0j0ueHzv zPz&&K`8*@m!!bDs7IXK0M*&5Vjb;w-5{p7F)pJZf3*3THuSLWgncZdAsFegk$|;J{ zt0^2es7M1vC1N@qrBmYsp;HHKybDXH<(L5{^pwG%3t$rsDg}iplzJtpOjKirAlB&i z3bdO6LBB51?;w_XFIGeGfEGC3%5h7B9bk5H0_Syd9+;x~D-KKMyWDoJz#A7R(Lls{ zz`MQy_7t9D;r<+JT<_qJP0$SOkTX&TNi$NlL*bBSlO!XxJ5&m_+QDS2NjWlzx4)IU zfgTklVjP|z9SwmwRB{r-qzq6IQXB^=DG7jDYNtt3MF6>yuoDO>QbYr7^Hv)LMPhFT zwr_?)JiHkz;1*|z7l)?)>h5O{6q0Y$>#V-3R*T8`kuK_bW#x5K<2F@BeAI)Nt3%oP zx^XSD4EIkkojRR0a_HRZPp&1$+3F;9X33Hs0I24)hAwDZx(%w|jxonJZ;@Zv8S!;;Km_>&c zW-eIx!m>H)1895x#ps5)=i`zlEwWyk4GXB?e=4A}(}$)17{;>0{jBxmhP?JsCGPv3 zH(ULeT3hgfp5b9f z8}3$}%#&^lx%Ya}tPk(B-72&7oZfYC+P^uguOwt0;F`~`EBWr#is+SnnaP*NZ)uyp zsha?C7nX-^eN@@KYRb;zv3sDOS|VQVPT1L=aPLXyKUK^h4b;R*v0aLsIpL}63pIW9 z_g{rVT?%tdY{bYqD!1nAm>s33hD0NY)u@tx)U>N2vupA0*OQMy9aHHuAC~rp2Y&fR LLz=!Jd2#W7+y7@g diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_back_connected_glow.png.mcmeta b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_back_connected_glow.png.mcmeta deleted file mode 100644 index eea6c1fe1..000000000 --- a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_back_connected_glow.png.mcmeta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ctm": { - "ctm_version": 1, - "layer": "CUTOUT", - "extra": { - "light": 15 - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_back_disconnected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_back_disconnected.png deleted file mode 100644 index 31023c88cb9ea4cc0d99142e9099fa7543effd71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1371 zcmbVMeN5bR814p3PBvg!Ccy87-T|jOz~dMYQCHgDU4?$oE8HEj z8NjI%924{(BMWBnBOznD7;qA@2oZ2bP`2qdqb$KqWiHG_-28~~cfg^4ko{qk_V@KZ z&-?t|j~*#6Ely6_kpw|dvb)6T1>@G(YuE_B$6g6q!Em4Ms@5wMzaC~a0dnw4odCNf zHXwKfmX9`mD&#>>f-L%~^=i*Pic=&L8?!M*Bo&|`D6b%*vRu8O!*xPHlxbvfG2R3841;t1d$BYjojO<}^MXaN)_NfO1(sM%};7RFFi*4cYS|npB!_HKQy_vc{yO9)~h4T$0R z=%3wxb&{Ro2a!ytV{6T})`{ZZh|wYTa{hLrZ((q7`qGInr-p9cSo)(ifAit7sDsTvN3yJJyTozHQiUby=#&irwtn~ zeW0K2Z+!jj*6R?0cxNx{+tu4L`gh-^-4Abm^IUqO_vNA!zK5jY$C=NXNA7n$mNEI& z9;z?p!&;N&e1rAi+}zFPiD>c3{Y=%4iqzSA`Mh0iSEHGM@zSaG$YJC8@W>PD`_=Cj z4qWUx_59O6eSFBro}KH6RBXDObMUDxL-(9^u;V{2wcI&A^F#E;g{j#?!xJxl^w#J8 zg#81R-)>91GXMQj7TM-b8{4~K%XscGW??iXfCe%+JVec-!52XB+^$mRVBvxGe*o4}=HdVV diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_connected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_connected.png deleted file mode 100644 index 4ace03c7dfbd9fdafd64955847a75a5dfdb516b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1506 zcmaJ>eM}Q)7(XOaG;^{|+2))(PE25Oy}KU0dN(R*uSLo%V{J2-8I0@Qd-TNi>h-jR z&FPRC{7Q5~BEb+1Q!{nCxoO?hEPi6A%uQk#qR~{{CLvV9J{&W;D^TYj#!K$r_kG^y z_dLJn>(-Q(%%41I`XmT~CfkdwPHjz3ylLaK@5W7DN?Tr1ZRM&<7S#}^0LU!J9st{Y zTs3e4PN-cH1^Ez^x>9nNtL2Ub3@`h1TtY_|_60OF1mzcm0~}uiRM-QmCBF%YANd}E zCBcN0863DHzyhySRHpz}U5T5otKn$@DVPW6hZ)U)52zd*_AT}YnXm~NvCC-tgcw8M z5f!z@gp86Zca*}ctN_@cqfnk82-ryL2*X@bZ^(u9IAOqW8Y6HNCl~@}^f)~BAeuKt z5E-YnaLku>G9g}74KNrM3WanbQYS0b7(vrChU+oC9@R9^V69)}!l*wuD`~+Bg1jOH zR7v*335%RZUaFc9jp=9zzJSB=(6B!^mMAS{SeOf7gbv4izC>Ij+CkL`{-^O+?V!6h z05B&A%1aeqtA{u%3D$D=WJd`_jScgrB56h87F%V0sSo&7yVZnfH#$KQ7^8tCX+6ub zRwGLgHj1{f>|ESzX3a)|B+bU8jmKdPBu(f^Dv!0<%p+I>VX)8^mMWwuE0t$SV(tE* z%K3Sa^ebt8$FSrRu?(vKPL&n6EH6%WK&e+&<)Bv%z$`mbaX7n7@(Xe(n3E{cXv9{a zNXvjwsK`EeB*%>O7!Dqi<2g~!qaw}ms8P%lQ4dY?s31~#Mx)4kjIC^u@InkZRanGf` zaDH3KuJyz>nT?^{f4nbDKiUE8EObaeOTQ!r*#nCbGkA|6%#HNba1qNP2s* zDE3nK0&{a+*B2d}uAabec8WtQdNb3;bu2m2vfcemh2u)-s{e-_GQC+zpfj+^OY;s zgHAnJ)B5xMw&9GdcqHX+bynEb-aoYKExFpNu%}Kh8K{U(ytKK>of5#G`}O#W6s)0X ze)I2xL&B}|v5tYRz#S#xgJ ismd)K9fia5SEfMuy_Ixz%ziKN*R|V9totlg_5T5W%QSuf diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_connected_glow.png.mcmeta b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_connected_glow.png.mcmeta deleted file mode 100644 index eea6c1fe1..000000000 --- a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_connected_glow.png.mcmeta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ctm": { - "ctm_version": 1, - "layer": "CUTOUT", - "extra": { - "light": 15 - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_disconnected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_front_disconnected.png deleted file mode 100644 index 7b66c492175eeb8e95402f3cac8a40786f8f8dea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1330 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 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_left_connected_glow.png.mcmeta b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_left_connected_glow.png.mcmeta deleted file mode 100644 index eea6c1fe1..000000000 --- a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_left_connected_glow.png.mcmeta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ctm": { - "ctm_version": 1, - "layer": "CUTOUT", - "extra": { - "light": 15 - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_left_disconnected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_left_disconnected.png deleted file mode 100644 index 46362cc93c6bc43afba4b4792b75533b68cb29bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1366 zcmbVMZA{!`9Pfrkh66ES#v2|h#Sbp-uI+XA(uNxzy#p@U@p3!E+d}NM&v6yn9&Onj z=bSQ=%{SP~2T@D_Goy)9SvKG1md!ZXB%9IklA&Y+5n&s$?E{2_#Kq@;LqCvxuu1zo zPy7G<{=ffQ-zYCFPEXsMh9F3~x5Vv-Yi8n3T@Rm!kA!V-G3cHueU}o_qnrv5m!Jdz z>Xo>9;0K)0($o*~5hO(x166vJZzsbml9@}`m}61|q7fv&AQs{H2B4!sP%p|(?CzQK z7%B=*tkUWud=VCe#ge!RcEw8re7u3D1*~8Pnjd2zfdq68jY*BN#>AZ15-$VyiPt!W zE}7^JPHb6Jm9HFS6&0XXv(3blB#GK-Gih~D7V9?DLXcLRpmCBg5hOzrjD$bBb z>9NrsmUR#=7wfW<6y>rfIo84ww4J2ww2k%Hs06mqLsLbCHmhs9)#D~?)+E*|YdRzZRNI;;(Q?FYpo)8d zP^2mnx|Cx^TtfrJhb)5NpiK5qNH9^tcHYE=Lcru8sbJ8~+iBhcV_3!u|0j1i6oe<5 z~?QK zUq{2UH?h8PAN>_^1ad|;Y|QLE0T%lO_4Mwc9M`$QTY;R( z^(VJH-(yJ4o_u!p;05l?^&7K$Hl>J%)6=pq>P+9li(mR@g3ag0vai=1A09ACU)P=( zyL)-l!>Moks^|0Q)@tMT&#l{S?wCk>JU3A5KlW+0v(c8F*w4kH*K1_o}|R bzkxuSzA8LY;B1>n{OP=&QupVDFYNyZaKP)f diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_connected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_connected.png deleted file mode 100644 index 9a5948e0cf2d0cd7fa99236a19a6946166231c39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1637 zcmaJ>c~BE)6pvS>c!0KpNG)AgP#D={50bDe5t2sHHFp zDAc2Pq4C6yNRd{NR;gBd*iuVd5C#Wi)Uhp7FGQ&ws>N=ASpRU`nceUE-uHg*{ob{u zNr~@H@(%EpNFx2qqs8ymZDxhIOc!)1!b098@HT5KX(B8iN0+9*1c6@YX$gR`o@-o~#$fMZl( zvRn`AZ6s^vV)N|m!n{NyotH`D3>Y;Zh;$O70ShZofYXv?br4P!IAoU)_inKa1cp?E zOcgjxDn*|Jki4A*4Kkp~pL*%=dI z(8i4T5>G17EC@D2Cd+4h-ku>ta2%Jxs0>9RQ3G=1S_R4pSsk-H7PPE`wsSUt zm?zo1u9fE=VpTJYTKHE-<^)SuyfW_Rs+L2pPWJ4^lb7E1bEG1 zdsLK&ao9X`2n;qUP#lIKnpI#Bg0Kn*XIUl0P&lr@SX7QN7$_4d%G_=9LK}HRVsE;) z&xb-hJRd98D$bH!9GaBaPmW6@qx0jmYNNB$XwaMAQ2Tf9adkJZ=&IVbn|nQNZD?IR<1Tz@S;z1D#vBRp z2FI9fwxo{iyP(eoP5Y|$lVS0pom;OqSo~vZ7n3C6G9Byb>G|Nb;O;cwaiq`pvA#1~ zD^_ja?u-m9)kZI_HXdBbt-l@Do-N5mS?Ix$aOy>G%bwqG}TcpZwSsTvBwl<7c!AdrwK^xE%(u);-?V*ESJ!*%>pA!NF1cO4{>FntDIGPX6L$Y} z`pK39mMqJObwB@-P#Bn2NoMNH@il`j{b!Fu&Q@E%!UM#-Ag}hSn$AUjlM4e$J~9Zs zX|F!{Hu+7IUcR&U>7B!PzK`TuZC`71O?Z9P(!9Z{2kFw9kd2wQ zvgrP@pyRV=EWeQ&;H@cne`i+mud_;HpH;h_Onz8=>*~|&zJ@(ZcVtfZt8IqlS*j-7 zs7an*acVRB-IX(wn*V8jv|kh66uM1PA9isIS6Q-e!jvxk<9CuD2j0t_S5$Xq?ZdMt z_p@jI9^~srUFe8@Yr4OG0Z~6#aoKpKFE^Sz8vR@R+-ZrbYb_sst{F%!7$vz2S;5c~ SW8ZWC_~Uem+7p_Uh5rGb{cIBe diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_connected_glow.png.mcmeta b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_connected_glow.png.mcmeta deleted file mode 100644 index eea6c1fe1..000000000 --- a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_connected_glow.png.mcmeta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ctm": { - "ctm_version": 1, - "layer": "CUTOUT", - "extra": { - "light": 15 - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_disconnected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_right_disconnected.png deleted file mode 100644 index 6c7f2bd4c124ce95cdbf4bda755d6c2eb6799d4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1403 zcmbVMeM}p57(Rv{gGfSgnh9~9H;0?j-WUD2OUu^YwOftFT1Zx>QLcAadO+`v>p=^m zVQe~KbW<@9MVXOIgAUEcSim{Afs^1&7D;qYvMgijTqYZ87{eOlwNUgAvOm1!?)UXR z&-?t|k8AaoZqCWh&jtV>$GwI2X=85kUAaR0zWQ3oqz(6}PQO|v1=T2{@PM6@0zBvr zGnKrLXSjyiao!35nW9kcSN)#HNmdFQn52y%7M3+M09ZH1WQMKgRWQI;3Zf0Ve)Kp5 z3Y-nvYV;r;nc_pjmPUmyYb-5i8>?A@gEp3c))=V~gn5+#W8oSxLdI-RikH;p$!!<{ zQzmM)4O$T8_jo}{Qh3m4FzHzoML{!RK#dk0GZujuf*N6jfKfz`pd^Zr7y>RnkmgO{ zf~1djE&9?{HYlX3G6}=cXw(qJ4U$p`qXa>~2nJ)AUbE0g8bpBY#}Gy}~?SVfRk zK@!0vBNLG7R2!rzUARJ6_IQ?v#mHiyw2;9uMut%X0*AxNd!?)+s*nFy#a zP}FH6oD^k2>~_j-MseJ3PID}WMJWn(78etg(}bt6Cc;5G9JtegP=t}Pr?GA^qB0`O zr~L|=-$ktDmROQfct(|!a!IO5SAaJpsZt~)$sk3gG7hfaDu|pEjciD!XyL{*uL$)# z=Tf9Fn2IqeETaKugBZtIaJ@MgT8n(siF5)$Mz5Q;m&bmnd40TX#GC8vI14}WrA~LM zsTmr&TfO|i{O+lV_>hmTeK5OaNdC?;>;5pY!E@aC6S?P) zdrBM^=Eg()*XI(`^}S<9m_x6f4WU&UIwPOr<4_mn<-N8_=c z!fPt2X7-KTIdgUPz4je^>w!G)QC}Z7@YIPL30na-c)0CM?^~yTn)>Z#)!;$aoZ-*RM5GyE_=q+eGcq;Y2Ygk8{8I;1HIkd*XlJD zzMhdWr z+$O=z=z#W+zvy1ST9EVO$rr3^q{sfc-BmldZ5@#x|N3%b*Te@e&o}+Od9*t(Hg-vu z=-Zz2{Y5!cTrq#6{oHKhJJY{Tz2e#-VEGeQiZ8UyJl&iDWLq|UzG8cGYw~yKc9zl~ IJ1ScK0Wu)}l>h($ diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_top_connected.png b/src/main/resources/assets/refinedstorage/textures/blocks/security_manager_top_connected.png deleted file mode 100644 index 27f027928e701d313b27453033460baf47a336ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1579 zcmaJ>eN5D57;l(NJm-cY2r64GMo{eai~A}Z?5=mpISPr&AADfoR}HoM5pTk=lsLirhVV{>GOM@ z-}BWiu7br=G&3~-08DY@+uZ6JA9>kWC6jd|;i7oAyPFEWEC0=1uJ-&44I)(yQI30h!F@J zRZ&)(p)pd$P8UcC5)10Idf10y7-%qQF`bdXbqhfp#dHX2LNF9YF%m;b90kWONcAQ$ ze$s7QH1111nW2E9h$MnkS66GR39TTNA(+WzLQovRaah%W_WjKa3=m^4uQxs)0 zP#9*{o9q;2L@gG|V!#N(Vu;#!78bRkb_=n{PTB3I2-Zqvse2ucsfDnjxIKz>@UlYl zJ~rx?Q~i!(ZO_G$l*H1CAbA9#BH972fS?F+KoCKS8m%~(QN;0#P%Y1olxQqs8!K^D zEVD=wg5YS5N$wdO2wZP85`+)-F*FM^coqs9{RTZu>%3XGo-lgV8yd$mPvvf`M^%X$ zhZvlc7)# zPsWPn)mf6%p;__+5DNe?7KhE^30+?6HV39#rZ?|y>gv4uRp-1_f7WFrY0AH|S|_~k zntU?To!WW|3ZzWf3x0^@=TFT~FXrBBY1z~$#wF={63aD~_^sRfI#ul6rlyqcvq%4! zE(~( zw&cAnaBbGi#zb-C-$$0?%a&wPFA=5ZH@`lqZA=qq96vBj!iLd>y{Owf&&Bz|z1wT=(xUZRq+|uGRXX<)uXj)BrS$H&J7{6d zFmT3~1RWpP#xeuOk<4VwVK%dF$Op_4m6K|=&_wW`eod)jKka$7>?6>NJ2>P`#LKoZyznoc%qmXP*fIlBVfXT>Cj z=2Yy22b(7q3D%*aZUWRnaJWp)z+w1cF0lBRHq7HCRfD0Jb%pf^*A z2_awQf-iXTU~$_v1d>dpQbdX+bhCk^d7dXJhGZBVYT#C@W=m;Yvo_={_<$vws$r|T zhGs2FQN7vrV36s22uULtTr{j%3yFd$Bh!*W(gZ~&li9d(+Lj#x|I=7f+X}ZDfD8dk zZ#HFEkJyGh80PNrj09bOe@) zaSTsUxC}TJr)j|9JOEByk$9eC0pnm579$}=GTSzfv{7CJdo#OT913_?94nx~Su)|! z49~`D5u{*Wz~>F8C)#_0-JLsDzBiEcJ>9i-pRu+jb4&QSd#h30(ogq4II`~I8F?dn z{rKt3Yc{OIL^A_@ci5p9g_+$=5r}&Yr#U_xf<}t-sPU|5n_eduV>MBRVk1-5FFb%`GcI zJ|0xd{7NbM!TB4SqoTKKOQ-#5x$x!TQ)iBK)irE>c~{UnfX0uk7()+LNBvuu?|h}; z+$V#9EpO68cM7iTy>V}ZHZntV_rRs|2UlGC!|pkF{r*T||FiT==GUorGlL&JvFd8= zc%=IKCf`%o=;~sj=J$Bj@q$f7Gu^J?%w%n>D4pml-R*g1j=0=(sObg$L}lO6yM?dy zJ{(;$aqaWvMC+*p5vjiW%fzbkim!egBMQInn9Q_1dHS=&`2M%?53!Tq6+MqgldE1N T-OruK{?h{f8sE^)1D*c?lAhT6