Compare commits

...

7 commits

Author SHA1 Message Date
Lea ac2046ec1c Merge pull request 'Add Recipe Book' (#2) from lucy/ponk:recipe-book into master
All checks were successful
Create zip and upload release / release (push) Successful in 30s
Reviewed-on: #2
2023-08-26 10:50:53 +00:00
BlackDemonFire c2796dd977
Add Recipe Book 2023-08-26 09:57:27 +02:00
Lea 7c63a7566e Add pack icon and update description
All checks were successful
Create zip and upload release / release (push) Successful in 10s
2023-07-12 00:56:31 +02:00
Lea d42f72771e bees but epic
All checks were successful
Create zip and upload release / release (push) Successful in 45s
2023-07-11 21:55:42 +02:00
Lea 33c45de449 add image to readme
All checks were successful
Create zip and upload release / release (push) Successful in 45s
2023-07-11 21:20:27 +02:00
Lea 6715f690ba pink-ify end portal shader
All checks were successful
Create zip and upload release / release (push) Successful in 40s
2023-07-11 21:17:07 +02:00
Lea 05a4a49de6 clean up shaders, change xp orb colour 2023-07-11 20:46:15 +02:00
15 changed files with 206 additions and 30 deletions

View file

@ -3,7 +3,8 @@
## Screenshots ## Screenshots
<img src="assets/creative-inventory.png" height=300 /> <img src="assets/survival-inventory.png" height=300 /> \ <img src="assets/creative-inventory.png" height=300 /> <img src="assets/survival-inventory.png" height=300 /> \
<img src="assets/hotbar.png" width=680 /> <img src="assets/hotbar.png" width=680 /> \
<img src="assets/beacon-portal-armor.png" width=680 />
## Download ## Download

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 KiB

View file

@ -9,13 +9,16 @@ uniform vec4 ColorModulator;
uniform float FogStart; uniform float FogStart;
uniform float FogEnd; uniform float FogEnd;
uniform vec4 FogColor; uniform vec4 FogColor;
uniform vec4 Pink;
in vec4 vertexColor; in vec4 vertexColor;
in vec2 texCoord0; in vec2 texCoord0;
out vec4 fragColor; out vec4 fragColor;
vec4 pink = vec4(0.957, 0.722, 0.859, 1);
// This file slightly alters the colour of the beacon beam
void main() { void main() {
vec4 color = texture(Sampler0, texCoord0); vec4 color = texture(Sampler0, texCoord0);
color *= vertexColor * ColorModulator; color *= vertexColor * ColorModulator;
@ -34,6 +37,6 @@ void main() {
nuts /= 3; nuts /= 3;
nuts += 0.25; nuts += 0.25;
color.rgb = mix(color.rgb, Pink.rgb, nuts); color.rgb = mix(color.rgb, pink.rgb, nuts);
fragColor = linear_fog(color, fragmentDistance, FogStart, FogEnd, FogColor); fragColor = linear_fog(color, fragmentDistance, FogStart, FogEnd, FogColor);
} }

View file

@ -1,26 +0,0 @@
{
"blend": {
"func": "add",
"srcrgb": "srcalpha",
"dstrgb": "1-srcalpha"
},
"vertex": "rendertype_beacon_beam",
"fragment": "rendertype_beacon_beam",
"attributes": [
"Position",
"Color",
"UV0"
],
"samplers": [
{ "name": "Sampler0" }
],
"uniforms": [
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
{ "name": "Pink", "type": "float", "count": 4, "values": [ 0.957, 0.722, 0.859, 1 ] }
]
}

View file

@ -0,0 +1,74 @@
#version 150
#moj_import <matrix.glsl>
uniform sampler2D Sampler0;
uniform sampler2D Sampler1;
uniform float GameTime;
uniform int EndPortalLayers;
in vec4 texProj0;
// removed the `const` keyword here because we're going to modify these values in main()
vec3[] COLORS = vec3[](
vec3(0.022087, 0.098399, 0.110818), // weird foreground layer?
vec3(0.011892, 0.095924, 0.089485), // stars in background
vec3(0.027636, 0.101689, 0.100326), // also stars
vec3(0.046564, 0.109883, 0.114838), // more stars
vec3(0.064901, 0.117696, 0.097189), // the stars are getting bigger
vec3(0.063761, 0.086895, 0.123646), // take a guess
vec3(0.084817, 0.111994, 0.166380), // bigger stars
vec3(0.097489, 0.154120, 0.091064), // would almost consider them foreground objects now
vec3(0.106152, 0.131144, 0.195191), // .
vec3(0.097721, 0.110188, 0.187229), // .
vec3(0.133516, 0.138278, 0.148582), // !
vec3(0.070006, 0.243332, 0.235792), // !!
vec3(0.196766, 0.142899, 0.214696), // !!!
vec3(0.047281, 0.315338, 0.321970), // the turquoise thingies going from left to right
vec3(0.204675, 0.390010, 0.302066), // green things going from top to bottom
vec3(0.080955, 0.314821, 0.661491) // blue things going from right to left
);
const vec3 PINK = vec3(0.898, 0.541, 0.749);
const mat4 SCALE_TRANSLATE = mat4(
0.5, 0.0, 0.0, 0.25,
0.0, 0.5, 0.0, 0.25,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0
);
mat4 end_portal_layer(float layer) {
mat4 translate = mat4(
1.0, 0.0, 0.0, 17.0 / layer,
0.0, 1.0, 0.0, (2.0 + layer / 1.5) * (GameTime * 1.5),
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0
);
mat2 rotate = mat2_rotate_z(radians((layer * layer * 4321.0 + layer * 9.0) * 2.0));
mat2 scale = mat2((4.5 - layer / 4.0) * 2.0);
return mat4(scale * rotate) * translate * SCALE_TRANSLATE;
}
out vec4 fragColor;
void main() {
// start at 1 because we don't want to change the foreground noise here
for (int i = 1; i < 16; i++) {
float intensity = float(i) / 16.0;
COLORS[i] = mix(COLORS[i], PINK, intensity * 0.7);
}
// slightly shift foreground to pink as well :3
COLORS[0] = mix(COLORS[0], PINK, 0.15);
vec3 color = textureProj(Sampler0, texProj0).rgb * COLORS[0];
for (int i = 0; i < EndPortalLayers; i++) {
color += textureProj(Sampler1, texProj0 * end_portal_layer(float(i + 1))).rgb * COLORS[i];
}
fragColor = vec4(color, 1.0);
}

View file

@ -0,0 +1,50 @@
#version 150
#moj_import <fog.glsl>
#moj_import <hue_shift.glsl>
uniform sampler2D Sampler0;
uniform vec4 ColorModulator;
uniform float FogStart;
uniform float FogEnd;
uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec2 texCoord0;
in vec2 texCoord1;
in vec4 normal;
in vec4 tintColour;
out vec4 fragColor;
/**
* This changes the colour of XP orbs.
*
* I stole some of the code from this funky individual (planet minecraft, point and laugh):
* https://www.planetminecraft.com/texture-pack/rainbow-xp-vanilla/
*
* Simply hue shifting the XP colours worked sufficiently well for me, but if I wanted
* better control over the resulting colours I'd have to put more effort into this.
* The resulting colour pulses between purple and dark pink.
*/
void main() {
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
if (color.a < 0.1) {
discard;
}
// detect xp orbs using their tint colour
vec4 col255 = tintColour * 255;
if(
0 <= col255.r && col255.r <= 255 &&
253 <= col255.g && col255.g <= 255 &&
0 <= col255.b && col255.b <= 51
) {
color = vec4(hueShift(color.rgb, 160), color.a);
}
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
}

View file

@ -0,0 +1,43 @@
#version 150
#moj_import <light.glsl>
#moj_import <fog.glsl>
in vec3 Position;
in vec4 Color;
in vec2 UV0;
in vec2 UV1;
in ivec2 UV2;
in vec3 Normal;
uniform sampler2D Sampler2;
uniform mat4 ModelViewMat;
uniform mat4 ProjMat;
uniform mat3 IViewRotMat;
uniform int FogShape;
uniform vec3 Light0_Direction;
uniform vec3 Light1_Direction;
out float vertexDistance;
out vec4 vertexColor;
out vec2 texCoord0;
out vec2 texCoord1;
out vec2 texCoord2;
out vec4 normal;
out vec4 tintColour;
// This file is modified to pass `tintColour` as output.
void main() {
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
vertexDistance = fog_distance(ModelViewMat, IViewRotMat * Position, FogShape);
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color) * texelFetch(Sampler2, UV2 / 16, 0);
tintColour = Color;
texCoord0 = UV0;
texCoord1 = UV1;
texCoord2 = UV2;
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
}

View file

@ -0,0 +1,28 @@
#version 150
// https://gist.github.com/mairod/a75e7b44f68110e1576d77419d608786
vec3 hueShift( vec3 color, float hueAdjust ) {
const vec3 kRGBToYPrime = vec3 (0.299, 0.587, 0.114);
const vec3 kRGBToI = vec3 (0.596, -0.275, -0.321);
const vec3 kRGBToQ = vec3 (0.212, -0.523, 0.311);
const vec3 kYIQToR = vec3 (1.0, 0.956, 0.621);
const vec3 kYIQToG = vec3 (1.0, -0.272, -0.647);
const vec3 kYIQToB = vec3 (1.0, -1.107, 1.704);
float YPrime = dot (color, kRGBToYPrime);
float I = dot (color, kRGBToI);
float Q = dot (color, kRGBToQ);
float hue = atan (Q, I);
float chroma = sqrt (I * I + Q * Q);
hue += hueAdjust;
Q = chroma * sin (hue);
I = chroma * cos (hue);
vec3 yIQ = vec3 (YPrime, I, Q);
return vec3( dot (yIQ, kYIQToR), dot (yIQ, kYIQToG), dot (yIQ, kYIQToB) );
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View file

@ -1,6 +1,9 @@
{ {
"pack": { "pack": {
"pack_format": 13, "pack_format": 13,
"description": ":3" "description": {
"text": "~w~",
"color": "#FDE4F2"
}
} }
} }

BIN
pack/pack.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB