Skip to content

Commit

Permalink
Change AnimationUtils
Browse files Browse the repository at this point in the history
  • Loading branch information
FirstMegaGame4 committed Apr 7, 2024
1 parent 81b65f6 commit f2fca56
Show file tree
Hide file tree
Showing 16 changed files with 67 additions and 22 deletions.
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ modmenu = { module = "com.terraformersmc:modmenu", version.ref = "modmenu" }
# example = ["example-a", "example-b", "example-c"]

[plugins]
quilt_loom = { id = "org.quiltmc.loom", version = "1.0.+" }
quilt_loom = { id = "org.quiltmc.loom", version = "1.6.+" }
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.mmodding.mmodding_lib.client;

import com.mmodding.mmodding_lib.MModdingLib;
import com.mmodding.mmodding_lib.colors.ARGB;
import com.mmodding.mmodding_lib.colors.Color;
import com.mmodding.mmodding_lib.library.colors.ARGB;
import com.mmodding.mmodding_lib.library.colors.Color;
import com.mmodding.mmodding_lib.library.config.client.screen.ConfigScreen;
import com.mmodding.mmodding_lib.library.utils.TextureLocation;
import com.mojang.blaze3d.systems.RenderSystem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,25 +96,40 @@ public BlockState getStateForNeighborUpdate(BlockState state, Direction directio
}

private BlockState updateDistanceFromLogs(BlockState state, WorldAccess world, BlockPos pos) {
int i = this.getMaxDistance();
int distance = this.getMaxDistance();
BlockPos.Mutable mutable = new BlockPos.Mutable();

for (Direction direction : Direction.values()) {
mutable.set(pos, direction);
i = Math.min(i, this.getDistanceFromLog(world.getBlockState(mutable)) + 1);
if (i == 1) {
break;
if (this.hasSeparatedLeaves()) {
for (int i = -1; i <= 1; i++) {
for (int j = -1; j <= 1; j++) {
for (int k = -1; k <= 1; k++) {
mutable.set(pos.add(i, j, k));
distance = Math.min(distance, this.getDistanceFromLog(world.getBlockState(mutable)) + 1);
if (distance == 1) {
break;
}
}
}
}
}
else {
for (Direction direction : Direction.values()) {
mutable.set(pos, direction);
distance = Math.min(distance, this.getDistanceFromLog(world.getBlockState(mutable)) + 1);
if (distance == 1) {
break;
}
}
}

return state.with(this.getDistanceProperty(), i);
return state.with(this.getDistanceProperty(), distance);
}

private int getDistanceFromLog(BlockState state) {
if (this.isLogValid(state)) {
return 0;
}
else if (state.getBlock() instanceof CustomLeavesBlock || this.hasSeparatedLeaves()) {
else if (state.isOf(this)) {
return state.get(this.getDistanceProperty());
}
else {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.mmodding.mmodding_lib.library.client.render;

import com.mmodding.mmodding_lib.colors.Color;
import com.mmodding.mmodding_lib.library.colors.Color;
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
package com.mmodding.mmodding_lib.library.client.utils;

import com.mmodding.mmodding_lib.mixin.accessors.SinglePartEntityModelAccessor;
import net.minecraft.client.render.animation.Animation;
import net.minecraft.client.render.animation.Animator;
import net.minecraft.client.render.entity.model.SinglePartEntityModel;
import net.minecraft.entity.AnimationState;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
Expand All @@ -17,4 +22,13 @@ public static boolean isMoving(LivingEntity livingEntity, float limbDistance, fl
float averageVelocity = (MathHelper.abs((float) velocity.x) + MathHelper.abs((float) velocity.z)) / 2f;
return averageVelocity >= motionThreshold && limbDistance != 0;
}

public static void updateAnimation(SinglePartEntityModel<?> model, Animation animation, AnimationState state, float animationProgress) {
AnimationUtils.updateAnimation(model, animation, state, animationProgress, 1.0f);
}

public static void updateAnimation(SinglePartEntityModel<?> model, Animation animation, AnimationState state, float animationProgress, float speedFactor) {
state.method_43686(animationProgress, speedFactor);
state.animateIfValid(current -> Animator.animate(model, animation, current.method_43687(), 1.0F, SinglePartEntityModelAccessor.getField39195()));
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.mmodding.mmodding_lib.colors;
package com.mmodding.mmodding_lib.library.colors;

import net.minecraft.client.util.ColorUtil;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.mmodding.mmodding_lib.colors;
package com.mmodding.mmodding_lib.library.colors;

import net.minecraft.client.util.ColorUtil;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.mmodding.mmodding_lib.colors;
package com.mmodding.mmodding_lib.library.colors;

import net.minecraft.util.math.MathHelper;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.mmodding.mmodding_lib.colors;
package com.mmodding.mmodding_lib.library.colors;

import net.minecraft.client.util.ColorUtil;
import net.minecraft.util.math.MathHelper;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.mmodding.mmodding_lib.library.fluids;

import com.mmodding.mmodding_lib.colors.Color;
import com.mmodding.mmodding_lib.library.colors.Color;
import com.mmodding.mmodding_lib.library.fluids.collisions.FluidCollisionHandler;
import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandler;
import net.minecraft.particle.DefaultParticleType;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.mmodding.mmodding_lib.library.integrations.modmenu;

import com.mmodding.mmodding_lib.colors.Color;
import com.mmodding.mmodding_lib.library.colors.Color;
import com.mmodding.mmodding_lib.library.utils.BiList;
import org.quiltmc.loader.api.QuiltLoader;
import org.quiltmc.loader.api.entrypoint.EntrypointContainer;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.mmodding.mmodding_lib.library.integrations.modmenu;

import com.mmodding.mmodding_lib.MModdingLib;
import com.mmodding.mmodding_lib.colors.Color;
import com.mmodding.mmodding_lib.library.colors.Color;
import com.mmodding.mmodding_lib.library.base.MModdingBootstrapInitializer;
import com.mmodding.mmodding_lib.library.base.MModdingClientModInitializer;
import com.mmodding.mmodding_lib.library.base.MModdingModInitializer;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.mmodding.mmodding_lib.mixin.accessors;

import net.minecraft.client.render.entity.model.SinglePartEntityModel;
import net.minecraft.util.math.Vec3f;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

@Mixin(SinglePartEntityModel.class)
public interface SinglePartEntityModelAccessor {

@Accessor("field_39195")
static Vec3f getField39195() {
throw new IllegalStateException();
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.mmodding.mmodding_lib.mixin.injectors.client;

import com.mmodding.mmodding_lib.colors.Color;
import com.mmodding.mmodding_lib.colors.RGB;
import com.mmodding.mmodding_lib.library.colors.Color;
import com.mmodding.mmodding_lib.library.colors.RGB;
import com.mmodding.mmodding_lib.library.fluids.FluidExtensions;
import net.minecraft.client.render.BackgroundRenderer;
import net.minecraft.client.render.Camera;
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/mmodding_lib.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
"injectors.WorldMixin"
],
"client": [
"accessors.SinglePartEntityModelAccessor",
"accessors.client.BufferBuilderStorageAccessor",
"accessors.client.RenderLayerFirstAccessor",
"accessors.client.RenderLayerSecondAccessor",
Expand Down

0 comments on commit f2fca56

Please sign in to comment.