Fixed block preview shader dissolve effect. Fixed reach upgrade item icons.
This commit is contained in:
@@ -51,9 +51,9 @@ public class EffortlessBuilding {
|
|||||||
private static final DeferredRegister<MenuType<?>> CONTAINERS = DeferredRegister.create(ForgeRegistries.CONTAINERS, EffortlessBuilding.MODID);
|
private static final DeferredRegister<MenuType<?>> CONTAINERS = DeferredRegister.create(ForgeRegistries.CONTAINERS, EffortlessBuilding.MODID);
|
||||||
|
|
||||||
public static final RegistryObject<Item> RANDOMIZER_BAG_ITEM = ITEMS.register("randomizer_bag", RandomizerBagItem::new);
|
public static final RegistryObject<Item> RANDOMIZER_BAG_ITEM = ITEMS.register("randomizer_bag", RandomizerBagItem::new);
|
||||||
public static final RegistryObject<Item> REACH_UPGRADE_1_ITEM = ITEMS.register("reach_upgrade_1", ReachUpgrade1Item::new);
|
public static final RegistryObject<Item> REACH_UPGRADE_1_ITEM = ITEMS.register("reach_upgrade1", ReachUpgrade1Item::new);
|
||||||
public static final RegistryObject<Item> REACH_UPGRADE_2_ITEM = ITEMS.register("reach_upgrade_2", ReachUpgrade2Item::new);
|
public static final RegistryObject<Item> REACH_UPGRADE_2_ITEM = ITEMS.register("reach_upgrade2", ReachUpgrade2Item::new);
|
||||||
public static final RegistryObject<Item> REACH_UPGRADE_3_ITEM = ITEMS.register("reach_upgrade_3", ReachUpgrade3Item::new);
|
public static final RegistryObject<Item> REACH_UPGRADE_3_ITEM = ITEMS.register("reach_upgrade3", ReachUpgrade3Item::new);
|
||||||
|
|
||||||
public static final RegistryObject<MenuType<RandomizerBagContainer>> RANDOMIZER_BAG_CONTAINER = CONTAINERS.register("randomizer_bag", () -> registerContainer(RandomizerBagContainer::new));
|
public static final RegistryObject<MenuType<RandomizerBagContainer>> RANDOMIZER_BAG_CONTAINER = CONTAINERS.register("randomizer_bag", () -> registerContainer(RandomizerBagContainer::new));
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class BuildRenderTypes extends RenderType {
|
|||||||
|
|
||||||
//Between 0 and 7, but dont override vanilla textures
|
//Between 0 and 7, but dont override vanilla textures
|
||||||
//Also update dissolve.fsh SamplerX
|
//Also update dissolve.fsh SamplerX
|
||||||
private static final int maskTextureIndex = 7;
|
private static final int maskTextureIndex = 2;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
final LineStateShard LINE = new LineStateShard(OptionalDouble.of(2.0));
|
final LineStateShard LINE = new LineStateShard(OptionalDouble.of(2.0));
|
||||||
@@ -78,29 +78,20 @@ public class BuildRenderTypes extends RenderType {
|
|||||||
|
|
||||||
public static RenderType getBlockPreviewRenderType(float dissolve, BlockPos blockPos, BlockPos firstPos, BlockPos secondPos, boolean red) {
|
public static RenderType getBlockPreviewRenderType(float dissolve, BlockPos blockPos, BlockPos firstPos, BlockPos secondPos, boolean red) {
|
||||||
|
|
||||||
Boolean useShaders = BuildConfig.visuals.useShaders.get();
|
|
||||||
//TODO 1.17 don't use shaders if config says no
|
|
||||||
|
|
||||||
String stateName = "eb_texturing_" + dissolve + "_" + blockPos + "_" + firstPos + "_" + secondPos + "_" + red;
|
String stateName = "eb_texturing_" + dissolve + "_" + blockPos + "_" + firstPos + "_" + secondPos + "_" + red;
|
||||||
TexturingStateShard MY_TEXTURING = new TexturingStateShard(stateName, () -> {
|
TexturingStateShard MY_TEXTURING = new TexturingStateShard(stateName, () -> {
|
||||||
setShaderParameters(dissolveShaderInstance, dissolve, Vec3.atLowerCornerOf(blockPos), Vec3.atLowerCornerOf(firstPos), Vec3.atLowerCornerOf(secondPos), blockPos == secondPos, red);
|
setShaderParameters(dissolveShaderInstance, dissolve, Vec3.atLowerCornerOf(blockPos), Vec3.atLowerCornerOf(firstPos), Vec3.atLowerCornerOf(secondPos), blockPos == secondPos, red);
|
||||||
// RenderSystem.setShaderColor(1f, 1f, 1f, 0.8f);
|
RenderSystem.setShaderColor(1f, 1f, 1f, 0.8f);
|
||||||
}, () -> {});
|
}, () -> {});
|
||||||
|
|
||||||
RenderType.CompositeState renderState = RenderType.CompositeState.builder()
|
RenderType.CompositeState renderState = RenderType.CompositeState.builder()
|
||||||
.setShaderState(RENDERTYPE_DISSOLVE_SHADER)
|
.setShaderState(RENDERTYPE_DISSOLVE_SHADER)
|
||||||
// .setTexturingState(MY_TEXTURING)
|
.setTexturingState(MY_TEXTURING)
|
||||||
// .setTextureState(new RenderStateShard.TextureStateShard(shaderMaskTextureLocation, false, false))
|
|
||||||
.setTextureState(RenderStateShard.BLOCK_SHEET_MIPPED)
|
.setTextureState(RenderStateShard.BLOCK_SHEET_MIPPED)
|
||||||
.setTransparencyState(TRANSLUCENT_TRANSPARENCY)
|
.setTransparencyState(TRANSLUCENT_TRANSPARENCY)
|
||||||
.setLightmapState(RenderStateShard.NO_LIGHTMAP)
|
.setLightmapState(RenderStateShard.NO_LIGHTMAP)
|
||||||
|
.setCullState(RenderStateShard.CULL)
|
||||||
.setOutputState(RenderStateShard.TRANSLUCENT_TARGET)
|
.setOutputState(RenderStateShard.TRANSLUCENT_TARGET)
|
||||||
//TODO 1.17
|
|
||||||
// .setDiffuseLightingState(DIFFUSE_LIGHTING_DISABLED)
|
|
||||||
// .setAlphaState(DEFAULT_ALPHA)
|
|
||||||
// .setCullState(new RenderStateShard.CullStateShard(true))
|
|
||||||
// .setLightmapState(new RenderStateShard.LightmapStateShard(false))
|
|
||||||
// .setOverlayState(new RenderStateShard.OverlayStateShard(false))
|
|
||||||
.createCompositeState(true);
|
.createCompositeState(true);
|
||||||
//Unique name for every combination, otherwise it will reuse the previous one
|
//Unique name for every combination, otherwise it will reuse the previous one
|
||||||
String name = "eb_block_previews_" + dissolve + "_" + blockPos + "_" + firstPos + "_" + secondPos + "_" + red;
|
String name = "eb_block_previews_" + dissolve + "_" + blockPos + "_" + firstPos + "_" + secondPos + "_" + red;
|
||||||
@@ -118,25 +109,15 @@ public class BuildRenderTypes extends RenderType {
|
|||||||
Uniform firstposUniform = shader.getUniform("firstpos");
|
Uniform firstposUniform = shader.getUniform("firstpos");
|
||||||
Uniform secondposUniform = shader.getUniform("secondpos");
|
Uniform secondposUniform = shader.getUniform("secondpos");
|
||||||
|
|
||||||
RenderSystem.setShaderTexture(0, TextureAtlas.LOCATION_BLOCKS);
|
|
||||||
RenderSystem.setShaderTexture(maskTextureIndex, shaderMaskTextureLocation);
|
RenderSystem.setShaderTexture(maskTextureIndex, shaderMaskTextureLocation);
|
||||||
|
|
||||||
// percentileUniform.set(dissolve);
|
if (percentileUniform != null) percentileUniform.set(dissolve); else EffortlessBuilding.log("percentileUniform is null");
|
||||||
// highlightUniform.set(highlight ? 1 : 0);
|
if (highlightUniform != null) highlightUniform.set(highlight ? 1 : 0); else EffortlessBuilding.log("highlightUniform is null");
|
||||||
// redUniform.set(red ? 1 : 0);
|
if (redUniform != null) redUniform.set(red ? 1 : 0); else EffortlessBuilding.log("redUniform is null");
|
||||||
//
|
|
||||||
// blockposUniform.set((float) blockpos.x, (float) blockpos.y, (float) blockpos.z);
|
|
||||||
// firstposUniform.set((float) firstpos.x, (float) firstpos.y, (float) firstpos.z);
|
|
||||||
// secondposUniform.set((float) secondpos.x, (float) secondpos.y, (float) secondpos.z);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void glActiveTexture(int texture) {
|
|
||||||
if (GL.getCapabilities().GL_ARB_multitexture && !GL.getCapabilities().OpenGL13) {
|
|
||||||
ARBMultitexture.glActiveTextureARB(texture);
|
|
||||||
} else {
|
|
||||||
GL13.glActiveTexture(texture);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (blockposUniform != null) blockposUniform.set((float) blockpos.x, (float) blockpos.y, (float) blockpos.z); else EffortlessBuilding.log("blockposUniform is null");
|
||||||
|
if (firstposUniform != null) firstposUniform.set((float) firstpos.x, (float) firstpos.y, (float) firstpos.z); else EffortlessBuilding.log("firstposUniform is null");
|
||||||
|
if (secondposUniform != null) secondposUniform.set((float) secondpos.x, (float) secondpos.y, (float) secondpos.z); else EffortlessBuilding.log("secondposUniform is null");
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ShaderInfo {
|
private class ShaderInfo {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
#moj_import <fog.glsl>
|
#moj_import <fog.glsl>
|
||||||
|
|
||||||
uniform sampler2D Sampler0;
|
uniform sampler2D Sampler0;
|
||||||
uniform sampler2D Sampler7;
|
uniform sampler2D Sampler2;
|
||||||
|
|
||||||
uniform float GameTime;
|
uniform float GameTime;
|
||||||
uniform vec4 ColorModulator;
|
uniform vec4 ColorModulator;
|
||||||
@@ -27,10 +27,6 @@ in vec4 normal;
|
|||||||
out vec4 fragColor;
|
out vec4 fragColor;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
vec4 color2 = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
|
|
||||||
fragColor = linear_fog(color2, vertexDistance, FogStart, FogEnd, FogColor);
|
|
||||||
return;
|
|
||||||
|
|
||||||
//convert gametime to seconds (roughly)
|
//convert gametime to seconds (roughly)
|
||||||
float time = GameTime * 1200;
|
float time = GameTime * 1200;
|
||||||
|
|
||||||
@@ -58,7 +54,7 @@ void main() {
|
|||||||
maskcoord = vec2(worldpos.x, worldpos.y);
|
maskcoord = vec2(worldpos.x, worldpos.y);
|
||||||
|
|
||||||
maskcoord /= 20.0;
|
maskcoord /= 20.0;
|
||||||
vec4 maskColor = texture2D(Sampler7, maskcoord);
|
vec4 maskColor = texture2D(Sampler2, maskcoord);
|
||||||
float maskgs = maskColor.r;
|
float maskgs = maskColor.r;
|
||||||
|
|
||||||
color.rgb *= vertexColor.rgb;
|
color.rgb *= vertexColor.rgb;
|
||||||
|
|||||||
Reference in New Issue
Block a user