Added missing resources.
Modified mods.toml. Fixed crash and double rendering of modifiers.
12
build.gradle
@@ -4,7 +4,7 @@ plugins {
|
|||||||
id 'net.minecraftforge.gradle' version '5.1.+'
|
id 'net.minecraftforge.gradle' version '5.1.+'
|
||||||
}
|
}
|
||||||
|
|
||||||
version = '1.19-2.38'
|
version = '1.19-2.40'
|
||||||
group = 'nl.requios.effortlessbuilding'
|
group = 'nl.requios.effortlessbuilding'
|
||||||
archivesBaseName = 'effortlessbuilding'
|
archivesBaseName = 'effortlessbuilding'
|
||||||
|
|
||||||
@@ -36,7 +36,11 @@ minecraft {
|
|||||||
|
|
||||||
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
|
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
|
||||||
property 'forge.enabledGameTestNamespaces', 'effortlessbuilding'
|
property 'forge.enabledGameTestNamespaces', 'effortlessbuilding'
|
||||||
|
|
||||||
|
// Flywheel
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
|
||||||
|
|
||||||
mods {
|
mods {
|
||||||
effortlessbuilding {
|
effortlessbuilding {
|
||||||
source sourceSets.main
|
source sourceSets.main
|
||||||
@@ -53,6 +57,10 @@ minecraft {
|
|||||||
|
|
||||||
property 'forge.enabledGameTestNamespaces', 'effortlessbuilding'
|
property 'forge.enabledGameTestNamespaces', 'effortlessbuilding'
|
||||||
|
|
||||||
|
// Flywheel
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
|
||||||
|
|
||||||
mods {
|
mods {
|
||||||
effortlessbuilding {
|
effortlessbuilding {
|
||||||
source sourceSets.main
|
source sourceSets.main
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public class EffortlessBuilding {
|
|||||||
|
|
||||||
modEventBus.addListener(EffortlessBuilding::setup);
|
modEventBus.addListener(EffortlessBuilding::setup);
|
||||||
|
|
||||||
DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> () -> EffortlessBuildingClient.onConstructorClient(modEventBus, forgeEventBus));
|
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> EffortlessBuildingClient.onConstructorClient(modEventBus, forgeEventBus));
|
||||||
|
|
||||||
ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus());
|
ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus());
|
||||||
CONTAINERS.register(FMLJavaModLoadingContext.get().getModEventBus());
|
CONTAINERS.register(FMLJavaModLoadingContext.get().getModEventBus());
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package nl.requios.effortlessbuilding.render;
|
package nl.requios.effortlessbuilding.render;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
|
||||||
import com.mojang.blaze3d.vertex.BufferBuilder;
|
import com.mojang.blaze3d.vertex.BufferBuilder;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import com.mojang.blaze3d.vertex.Tesselator;
|
import com.mojang.blaze3d.vertex.Tesselator;
|
||||||
@@ -20,20 +19,14 @@ import net.minecraft.world.phys.AABB;
|
|||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
|
import net.minecraftforge.client.event.RenderLevelLastEvent;
|
||||||
import net.minecraftforge.client.event.RenderLevelStageEvent;
|
import net.minecraftforge.client.event.RenderLevelStageEvent;
|
||||||
import net.minecraftforge.client.model.data.ModelData;
|
import net.minecraftforge.client.model.data.ModelData;
|
||||||
import net.minecraftforge.eventbus.api.EventPriority;
|
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
||||||
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
import nl.requios.effortlessbuilding.EffortlessBuilding;
|
||||||
import nl.requios.effortlessbuilding.EffortlessBuildingClient;
|
|
||||||
import nl.requios.effortlessbuilding.buildmode.ModeSettingsManager;
|
import nl.requios.effortlessbuilding.buildmode.ModeSettingsManager;
|
||||||
import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager;
|
import nl.requios.effortlessbuilding.buildmodifier.ModifierSettingsManager;
|
||||||
import nl.requios.effortlessbuilding.create.CreateClient;
|
|
||||||
import nl.requios.effortlessbuilding.create.foundation.render.SuperRenderTypeBuffer;
|
|
||||||
import nl.requios.effortlessbuilding.create.foundation.utility.AnimationTickHolder;
|
|
||||||
|
|
||||||
import static net.minecraftforge.client.event.RenderLevelStageEvent.Stage.AFTER_PARTICLES;
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* Main render class for Effortless Building
|
* Main render class for Effortless Building
|
||||||
@@ -42,7 +35,7 @@ import static net.minecraftforge.client.event.RenderLevelStageEvent.Stage.AFTER_
|
|||||||
public class RenderHandler {
|
public class RenderHandler {
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onRender(RenderLevelStageEvent event) {
|
public static void onRender(RenderLevelLastEvent event) {
|
||||||
Vec3 cameraPos = Minecraft.getInstance().gameRenderer.getMainCamera().getPosition();
|
Vec3 cameraPos = Minecraft.getInstance().gameRenderer.getMainCamera().getPosition();
|
||||||
// float pt = AnimationTickHolder.getPartialTicks();
|
// float pt = AnimationTickHolder.getPartialTicks();
|
||||||
|
|
||||||
|
|||||||
@@ -20,13 +20,20 @@ Makes building easier by providing tools like mirrors, arrays, build modes and a
|
|||||||
[[dependencies.effortlessbuilding]]
|
[[dependencies.effortlessbuilding]]
|
||||||
modId="forge"
|
modId="forge"
|
||||||
mandatory=true
|
mandatory=true
|
||||||
versionRange="[41,)"
|
versionRange="[43.0.0,)"
|
||||||
ordering="NONE"
|
ordering="NONE"
|
||||||
side="BOTH"
|
side="BOTH"
|
||||||
|
|
||||||
[[dependencies.effortlessbuilding]]
|
[[dependencies.effortlessbuilding]]
|
||||||
modId="minecraft"
|
modId="minecraft"
|
||||||
mandatory=true
|
mandatory=true
|
||||||
versionRange="[1.18.1,1.20)"
|
versionRange="[1.19.1,1.20)"
|
||||||
ordering="NONE"
|
ordering="NONE"
|
||||||
side="BOTH"
|
side="BOTH"
|
||||||
|
|
||||||
|
[[dependencies.effortlessbuilding]]
|
||||||
|
modId="flywheel"
|
||||||
|
mandatory=true
|
||||||
|
versionRange="[0.6.8,0.6.9)"
|
||||||
|
ordering="AFTER"
|
||||||
|
side="CLIENT"
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
#version 150
|
||||||
|
|
||||||
|
#moj_import <fog.glsl>
|
||||||
|
|
||||||
|
uniform sampler2D Sampler0;
|
||||||
|
|
||||||
|
uniform vec4 ColorModulator;
|
||||||
|
uniform float FogStart;
|
||||||
|
uniform float FogEnd;
|
||||||
|
uniform vec4 FogColor;
|
||||||
|
|
||||||
|
in float vertexDistance;
|
||||||
|
in vec4 vertexColor;
|
||||||
|
in vec4 lightMapColor;
|
||||||
|
in vec2 texCoord0;
|
||||||
|
in vec4 normal;
|
||||||
|
|
||||||
|
out vec4 fragColor;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
|
||||||
|
color *= lightMapColor;
|
||||||
|
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"blend": {
|
||||||
|
"func": "add",
|
||||||
|
"srcrgb": "srcalpha",
|
||||||
|
"dstrgb": "1-srcalpha"
|
||||||
|
},
|
||||||
|
"vertex": "effortlessbuilding:glowing_shader",
|
||||||
|
"fragment": "effortlessbuilding:glowing_shader",
|
||||||
|
"attributes": [
|
||||||
|
"Position",
|
||||||
|
"Color",
|
||||||
|
"UV0",
|
||||||
|
"UV1",
|
||||||
|
"UV2",
|
||||||
|
"Normal"
|
||||||
|
],
|
||||||
|
"samplers": [
|
||||||
|
{ "name": "Sampler0" },
|
||||||
|
{ "name": "Sampler2" }
|
||||||
|
],
|
||||||
|
"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": "IViewRotMat", "type": "matrix3x3", "count": 9, "values": [ 1.0, 0.0, 0.0, 0.0, 1.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": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
#version 150
|
||||||
|
|
||||||
|
#moj_import <fog.glsl>
|
||||||
|
|
||||||
|
in vec3 Position;
|
||||||
|
in vec4 Color;
|
||||||
|
in vec2 UV0;
|
||||||
|
in vec2 UV1;
|
||||||
|
in ivec2 UV2;
|
||||||
|
in vec3 Normal;
|
||||||
|
|
||||||
|
uniform sampler2D Sampler1;
|
||||||
|
uniform sampler2D Sampler2;
|
||||||
|
|
||||||
|
uniform mat4 ModelViewMat;
|
||||||
|
uniform mat4 ProjMat;
|
||||||
|
uniform mat3 IViewRotMat;
|
||||||
|
uniform int FogShape;
|
||||||
|
|
||||||
|
out float vertexDistance;
|
||||||
|
out vec4 vertexColor;
|
||||||
|
out vec4 lightMapColor;
|
||||||
|
out vec2 texCoord0;
|
||||||
|
out vec2 texCoord1;
|
||||||
|
out vec4 normal;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||||
|
|
||||||
|
vertexDistance = fog_distance(ModelViewMat, IViewRotMat * Position, FogShape);
|
||||||
|
vertexColor = Color;
|
||||||
|
lightMapColor = texelFetch(Sampler2, UV2 / 16, 0);
|
||||||
|
texCoord0 = UV0;
|
||||||
|
texCoord1 = UV1;
|
||||||
|
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 99 B |
|
After Width: | Height: | Size: 120 B |
|
After Width: | Height: | Size: 121 B |
|
After Width: | Height: | Size: 223 B |
|
After Width: | Height: | Size: 120 B |
|
After Width: | Height: | Size: 147 B |
|
After Width: | Height: | Size: 121 B |