WIP: create TiedUpRigConstants, replace EpicFightMod/SharedConstants refs

- Nouveau TiedUpRigConstants.java : centralise MODID/LOGGER/identifier/prefix,
  constantes runtime (IS_DEV_ENV, A_TICK, GENERAL_ANIMATION_TRANSITION_TIME,
  MAX_JOINTS), factory ANIMATOR_PROVIDER (client/server split) + helpers
  stacktraceIfDevSide/logAndStacktraceIfDevSide.

- sed global : EpicFightMod.* → TiedUpRigConstants.*
- sed global : EpicFightSharedConstants.* → TiedUpRigConstants.*
- sed global : EpicFightRenderTypes → TiedUpRenderTypes (class rename upstream)
- Fix package declarations : Armature.java + TiedUpRenderTypes.java

Résidus yesman.epicfight : 115 → 86 (-29)
Reste : gameasset/physics/network/world/config/skill (combat deps à strip) +
combat mode refs dans patch/LocalPlayerPatch + ClientPlayerPatch (Phase 2).
This commit is contained in:
NotEvil
2026-04-22 00:33:39 +02:00
parent e4dd32fe05
commit 0891edffac
70 changed files with 320 additions and 213 deletions

View File

@@ -0,0 +1,114 @@
/*
* Derived from Epic Fight (https://github.com/Epic-Fight/epicfight)
* by the Epic Fight Team, licensed under GPLv3.
* Modifications © 2026 TiedUp! Remake Contributors, distributed under GPLv3.
*/
package com.tiedup.remake.rig;
import com.mojang.logging.LogUtils;
import com.tiedup.remake.core.TiedUpMod;
import com.tiedup.remake.rig.anim.Animator;
import com.tiedup.remake.rig.anim.ServerAnimator;
import com.tiedup.remake.rig.patch.LivingEntityPatch;
import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.fml.loading.FMLEnvironment;
import org.slf4j.Logger;
import java.util.function.Function;
/**
* Remplace {@code yesman.epicfight.main.EpicFightMod} + {@code EpicFightSharedConstants}
* du fork upstream. Expose les singletons nécessaires au runtime RIG :
*
* <ul>
* <li>{@link #MODID} — ID du mod TiedUp (tiedup)</li>
* <li>{@link #LOGGER} — logger commun RIG</li>
* <li>{@link #identifier(String)} — helper ResourceLocation</li>
* <li>{@link #ANIMATOR_PROVIDER} — factory client/server split pour instancier l'Animator</li>
* <li>{@link #isPhysicalClient()} — détection side runtime</li>
* </ul>
*
* <p>Pattern lazy method-ref : {@code ClientAnimator::getAnimator} n'est chargé
* que si {@link #isPhysicalClient()} est true. Sur serveur dedié, la classe
* client n'est jamais référencée, donc jamais chargée → pas de
* {@code NoClassDefFoundError}.</p>
*/
public final class TiedUpRigConstants {
public static final String MODID = TiedUpMod.MOD_ID;
public static final Logger LOGGER = LogUtils.getLogger();
/** Détection dev env (Gradle runClient) — utilisé pour les logs debug EF. */
public static final boolean IS_DEV_ENV = !FMLEnvironment.production;
/** Durée d'un tick MC en secondes (20 TPS). */
public static final float A_TICK = 1.0F / 20.0F;
/** Durée de transition inter-animation par défaut (en ticks). */
public static final int GENERAL_ANIMATION_TRANSITION_TIME = 6;
/** Nombre max de joints supportés par une armature (limite matrice pool). */
public static final int MAX_JOINTS = 128;
/**
* Factory lazy : crée un Animator approprié au side runtime courant.
* Client → ClientAnimator (à créer Phase 2)
* Server → ServerAnimator (forké verbatim EF)
*
* <p><b>Note Phase 0</b> : ClientAnimator n'est pas encore forké/créé
* (Phase 2). Tant que c'est le cas, on retourne ServerAnimator des deux
* côtés. Remplacer par {@code ClientAnimator::getAnimator} quand
* disponible.</p>
*/
public static final Function<LivingEntityPatch<?>, Animator> ANIMATOR_PROVIDER =
isPhysicalClient()
? ServerAnimator::getAnimator // TODO Phase 2 : ClientAnimator::getAnimator
: ServerAnimator::getAnimator;
private TiedUpRigConstants() {}
public static ResourceLocation identifier(String path) {
return ResourceLocation.fromNamespaceAndPath(MODID, path);
}
/** Alias d'{@link #identifier(String)} — équivalent TiedUpRigConstants.prefix upstream. */
public static ResourceLocation prefix(String path) {
return identifier(path);
}
public static boolean isPhysicalClient() {
return FMLEnvironment.dist == Dist.CLIENT;
}
/**
* En dev env : log un message + throw l'exception fournie.
* En prod : log WARN seulement. Équivalent EF {@code TiedUpRigConstants.stacktraceIfDevSide}.
*/
public static <E extends RuntimeException> void stacktraceIfDevSide(
String message,
java.util.function.Function<String, E> exceptionFactory
) {
if (IS_DEV_ENV) {
throw exceptionFactory.apply(message);
} else {
LOGGER.warn(message);
}
}
/**
* En dev env : log via le consumer + throw l'exception.
* En prod : log seulement. Équivalent EF {@code TiedUpRigConstants.logAndStacktraceIfDevSide}.
*/
public static <E extends RuntimeException> void logAndStacktraceIfDevSide(
java.util.function.BiConsumer<Logger, String> logAction,
String message,
java.util.function.Function<String, E> exceptionFactory
) {
logAction.accept(LOGGER, message);
if (IS_DEV_ENV) {
throw exceptionFactory.apply(message);
}
}
}

View File

@@ -62,8 +62,7 @@ import com.tiedup.remake.rig.util.InstantiateInvoker;
import com.tiedup.remake.rig.util.MutableBoolean; import com.tiedup.remake.rig.util.MutableBoolean;
import yesman.epicfight.gameasset.Animations; import yesman.epicfight.gameasset.Animations;
import yesman.epicfight.gameasset.Armatures; import yesman.epicfight.gameasset.Armatures;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.main.EpicFightSharedConstants;
import yesman.epicfight.network.EpicFightNetworkManager; import yesman.epicfight.network.EpicFightNetworkManager;
import yesman.epicfight.network.client.CPCheckAnimationRegistryMatches; import yesman.epicfight.network.client.CPCheckAnimationRegistryMatches;
import yesman.epicfight.network.server.SPDatapackSync; import yesman.epicfight.network.server.SPDatapackSync;
@@ -87,9 +86,9 @@ public class AnimationManager extends SimplePreparableReloadListener<List<Resour
public static boolean checkNull(AssetAccessor<? extends StaticAnimation> animation) { public static boolean checkNull(AssetAccessor<? extends StaticAnimation> animation) {
if (animation == null || animation.isEmpty()) { if (animation == null || animation.isEmpty()) {
if (animation != null) { if (animation != null) {
EpicFightMod.stacktraceIfDevSide("Empty animation accessor: " + animation.registryName(), NoSuchElementException::new); TiedUpRigConstants.stacktraceIfDevSide("Empty animation accessor: " + animation.registryName(), NoSuchElementException::new);
} else { } else {
EpicFightMod.stacktraceIfDevSide("Null animation accessor", NoSuchElementException::new); TiedUpRigConstants.stacktraceIfDevSide("Null animation accessor", NoSuchElementException::new);
} }
return true; return true;
@@ -151,7 +150,7 @@ public class AnimationManager extends SimplePreparableReloadListener<List<Resour
@Override @Override
protected List<ResourceLocation> prepare(ResourceManager resourceManager, ProfilerFiller profilerIn) { protected List<ResourceLocation> prepare(ResourceManager resourceManager, ProfilerFiller profilerIn) {
if (!EpicFightSharedConstants.isPhysicalClient() && serverResourceManager == null) { if (!TiedUpRigConstants.isPhysicalClient() && serverResourceManager == null) {
serverResourceManager = resourceManager; serverResourceManager = resourceManager;
} }
@@ -206,9 +205,9 @@ public class AnimationManager extends SimplePreparableReloadListener<List<Resour
JsonElement jsonelement = GsonHelper.fromJson(GSON, reader, JsonElement.class); JsonElement jsonelement = GsonHelper.fromJson(GSON, reader, JsonElement.class);
this.readResourcepackAnimation(animId, jsonelement.getAsJsonObject()); this.readResourcepackAnimation(animId, jsonelement.getAsJsonObject());
} catch (IOException | JsonParseException | IllegalArgumentException resourceReadException) { } catch (IOException | JsonParseException | IllegalArgumentException resourceReadException) {
EpicFightMod.LOGGER.error("Couldn't parse animation data from {}", animId, resourceReadException); TiedUpRigConstants.LOGGER.error("Couldn't parse animation data from {}", animId, resourceReadException);
} catch (Exception e) { } catch (Exception e) {
EpicFightMod.LOGGER.error("Failed at constructing {}", animId, e); TiedUpRigConstants.LOGGER.error("Failed at constructing {}", animId, e);
} }
}); });
@@ -221,13 +220,13 @@ public class AnimationManager extends SimplePreparableReloadListener<List<Resour
MutableBoolean init = new MutableBoolean(true); MutableBoolean init = new MutableBoolean(true);
if (entry.getValue() == null || entry.getValue().getAccessor() == null) { if (entry.getValue() == null || entry.getValue().getAccessor() == null) {
EpicFightMod.logAndStacktraceIfDevSide(Logger::error, "Invalid animation implementation: " + entry.getKey(), AssetLoadingException::new); TiedUpRigConstants.logAndStacktraceIfDevSide(Logger::error, "Invalid animation implementation: " + entry.getKey(), AssetLoadingException::new);
init.set(false); init.set(false);
} }
entry.getValue().getSubAnimations().forEach((subAnimation) -> { entry.getValue().getSubAnimations().forEach((subAnimation) -> {
if (subAnimation == null || subAnimation.get() == null) { if (subAnimation == null || subAnimation.get() == null) {
EpicFightMod.logAndStacktraceIfDevSide(Logger::error, "Invalid sub animation implementation: " + entry.getKey(), AssetLoadingException::new); TiedUpRigConstants.logAndStacktraceIfDevSide(Logger::error, "Invalid sub animation implementation: " + entry.getKey(), AssetLoadingException::new);
init.set(false); init.set(false);
} }
}); });
@@ -247,7 +246,7 @@ public class AnimationManager extends SimplePreparableReloadListener<List<Resour
.forEach(accessor -> { .forEach(accessor -> {
accessor.doOrThrow(StaticAnimation::postInit); accessor.doOrThrow(StaticAnimation::postInit);
if (EpicFightSharedConstants.isPhysicalClient()) { if (TiedUpRigConstants.isPhysicalClient()) {
AnimationManager.readAnimationProperties(accessor.get()); AnimationManager.readAnimationProperties(accessor.get());
} }
}); });
@@ -278,7 +277,7 @@ public class AnimationManager extends SimplePreparableReloadListener<List<Resour
} }
public static ResourceManager getAnimationResourceManager() { public static ResourceManager getAnimationResourceManager() {
return EpicFightSharedConstants.isPhysicalClient() ? Minecraft.getInstance().getResourceManager() : serverResourceManager; return TiedUpRigConstants.isPhysicalClient() ? Minecraft.getInstance().getResourceManager() : serverResourceManager;
} }
public int getResourcepackAnimationCount() { public int getResourcepackAnimationCount() {
@@ -317,7 +316,7 @@ public class AnimationManager extends SimplePreparableReloadListener<List<Resour
try { try {
return InstantiateInvoker.invoke(invocationCommand, StaticAnimation.class).getResult(); return InstantiateInvoker.invoke(invocationCommand, StaticAnimation.class).getResult();
} catch (Exception e) { } catch (Exception e) {
EpicFightMod.LOGGER.warn("Failed at creating animation from server resource pack"); TiedUpRigConstants.LOGGER.warn("Failed at creating animation from server resource pack");
e.printStackTrace(); e.printStackTrace();
return Animations.EMPTY_ANIMATION; return Animations.EMPTY_ANIMATION;
} }
@@ -401,7 +400,7 @@ public class AnimationManager extends SimplePreparableReloadListener<List<Resour
if (NO_WARNING_MODID.contains(rl.getNamespace())) { if (NO_WARNING_MODID.contains(rl.getNamespace())) {
return; return;
} else { } else {
EpicFightMod.logAndStacktraceIfDevSide( TiedUpRigConstants.logAndStacktraceIfDevSide(
Logger::error Logger::error
, "Datapack animation reading failed: No constructor information has provided: " + rl , "Datapack animation reading failed: No constructor information has provided: " + rl
, IllegalStateException::new , IllegalStateException::new

View File

@@ -15,7 +15,7 @@ import com.tiedup.remake.rig.anim.types.DynamicAnimation;
import com.tiedup.remake.rig.anim.types.StaticAnimation; import com.tiedup.remake.rig.anim.types.StaticAnimation;
import com.tiedup.remake.rig.asset.AssetAccessor; import com.tiedup.remake.rig.asset.AssetAccessor;
import yesman.epicfight.gameasset.Animations; import yesman.epicfight.gameasset.Animations;
import yesman.epicfight.main.EpicFightSharedConstants; import com.tiedup.remake.rig.TiedUpRigConstants;
import com.tiedup.remake.rig.patch.LivingEntityPatch; import com.tiedup.remake.rig.patch.LivingEntityPatch;
public class AnimationPlayer { public class AnimationPlayer {
@@ -42,7 +42,7 @@ public class AnimationPlayer {
playbackSpeed = playSpeedModifier.modify(currentPlay, entitypatch, playbackSpeed, this.prevElapsedTime, this.elapsedTime); playbackSpeed = playSpeedModifier.modify(currentPlay, entitypatch, playbackSpeed, this.prevElapsedTime, this.elapsedTime);
} }
this.elapsedTime += EpicFightSharedConstants.A_TICK * playbackSpeed * (this.isReversed() && currentPlay.canBePlayedReverse() ? -1.0F : 1.0F); this.elapsedTime += TiedUpRigConstants.A_TICK * playbackSpeed * (this.isReversed() && currentPlay.canBePlayedReverse() ? -1.0F : 1.0F);
PlaybackTimeModifier playTimeModifier = currentPlayStatic.getProperty(StaticAnimationProperty.ELAPSED_TIME_MODIFIER).orElse(null); PlaybackTimeModifier playTimeModifier = currentPlayStatic.getProperty(StaticAnimationProperty.ELAPSED_TIME_MODIFIER).orElse(null);
if (playTimeModifier != null) { if (playTimeModifier != null) {

View File

@@ -22,7 +22,7 @@ import com.tiedup.remake.rig.anim.types.StaticAnimation;
import com.tiedup.remake.rig.asset.AssetAccessor; import com.tiedup.remake.rig.asset.AssetAccessor;
import com.tiedup.remake.rig.event.InitAnimatorEvent; import com.tiedup.remake.rig.event.InitAnimatorEvent;
import yesman.epicfight.gameasset.Animations; import yesman.epicfight.gameasset.Animations;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import com.tiedup.remake.rig.patch.LivingEntityPatch; import com.tiedup.remake.rig.patch.LivingEntityPatch;
public abstract class Animator { public abstract class Animator {
@@ -116,7 +116,7 @@ public abstract class Animator {
public void addLivingAnimation(LivingMotion livingMotion, AssetAccessor<? extends StaticAnimation> animation) { public void addLivingAnimation(LivingMotion livingMotion, AssetAccessor<? extends StaticAnimation> animation) {
if (AnimationManager.checkNull(animation)) { if (AnimationManager.checkNull(animation)) {
EpicFightMod.LOGGER.warn("Unable to put an empty animation for " + livingMotion); TiedUpRigConstants.LOGGER.warn("Unable to put an empty animation for " + livingMotion);
return; return;
} }

View File

@@ -21,7 +21,7 @@ import com.tiedup.remake.rig.anim.types.StaticAnimation;
import com.tiedup.remake.rig.asset.AssetAccessor; import com.tiedup.remake.rig.asset.AssetAccessor;
import com.tiedup.remake.rig.util.PacketBufferCodec; import com.tiedup.remake.rig.util.PacketBufferCodec;
import com.tiedup.remake.rig.util.datastruct.ClearableIdMapper; import com.tiedup.remake.rig.util.datastruct.ClearableIdMapper;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.network.EpicFightNetworkManager; import yesman.epicfight.network.EpicFightNetworkManager;
import yesman.epicfight.network.client.CPAnimationVariablePacket; import yesman.epicfight.network.client.CPAnimationVariablePacket;
import yesman.epicfight.network.common.AnimationVariablePacket; import yesman.epicfight.network.common.AnimationVariablePacket;
@@ -37,7 +37,7 @@ public interface SynchedAnimationVariableKey<T> {
return new SynchedIndependentAnimationVariableKey<> (defaultValueSupplier, mutable, codec); return new SynchedIndependentAnimationVariableKey<> (defaultValueSupplier, mutable, codec);
} }
public static final ResourceLocation BY_ID_REGISTRY = EpicFightMod.identifier("variablekeytoid"); public static final ResourceLocation BY_ID_REGISTRY = TiedUpRigConstants.identifier("variablekeytoid");
public static class SynchedAnimationVariableKeyCallbacks implements IForgeRegistry.BakeCallback<SynchedAnimationVariableKey<?>>, IForgeRegistry.CreateCallback<SynchedAnimationVariableKey<?>>, IForgeRegistry.ClearCallback<SynchedAnimationVariableKey<?>> { public static class SynchedAnimationVariableKeyCallbacks implements IForgeRegistry.BakeCallback<SynchedAnimationVariableKey<?>>, IForgeRegistry.CreateCallback<SynchedAnimationVariableKey<?>>, IForgeRegistry.ClearCallback<SynchedAnimationVariableKey<?>> {
private static final SynchedAnimationVariableKeyCallbacks INSTANCE = new SynchedAnimationVariableKeyCallbacks(); private static final SynchedAnimationVariableKeyCallbacks INSTANCE = new SynchedAnimationVariableKeyCallbacks();

View File

@@ -16,12 +16,12 @@ import net.minecraftforge.registries.RegistryBuilder;
import net.minecraftforge.registries.RegistryObject; import net.minecraftforge.registries.RegistryObject;
import com.tiedup.remake.rig.anim.SynchedAnimationVariableKey.SynchedIndependentAnimationVariableKey; import com.tiedup.remake.rig.anim.SynchedAnimationVariableKey.SynchedIndependentAnimationVariableKey;
import com.tiedup.remake.rig.util.PacketBufferCodec; import com.tiedup.remake.rig.util.PacketBufferCodec;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
public class SynchedAnimationVariableKeys { public class SynchedAnimationVariableKeys {
private static final Supplier<RegistryBuilder<SynchedAnimationVariableKey<?>>> BUILDER = () -> new RegistryBuilder<SynchedAnimationVariableKey<?>>().addCallback(SynchedAnimationVariableKey.getRegistryCallback()); private static final Supplier<RegistryBuilder<SynchedAnimationVariableKey<?>>> BUILDER = () -> new RegistryBuilder<SynchedAnimationVariableKey<?>>().addCallback(SynchedAnimationVariableKey.getRegistryCallback());
public static final DeferredRegister<SynchedAnimationVariableKey<?>> SYNCHED_ANIMATION_VARIABLE_KEYS = DeferredRegister.create(EpicFightMod.identifier("synched_animation_variable_keys"), EpicFightMod.MODID); public static final DeferredRegister<SynchedAnimationVariableKey<?>> SYNCHED_ANIMATION_VARIABLE_KEYS = DeferredRegister.create(TiedUpRigConstants.identifier("synched_animation_variable_keys"), TiedUpRigConstants.MODID);
public static final Supplier<IForgeRegistry<SynchedAnimationVariableKey<?>>> REGISTRY = SYNCHED_ANIMATION_VARIABLE_KEYS.makeRegistry(BUILDER); public static final Supplier<IForgeRegistry<SynchedAnimationVariableKey<?>>> REGISTRY = SYNCHED_ANIMATION_VARIABLE_KEYS.makeRegistry(BUILDER);
public static final RegistryObject<SynchedIndependentAnimationVariableKey<Vec3>> DESTINATION = SYNCHED_ANIMATION_VARIABLE_KEYS.register("destination", () -> public static final RegistryObject<SynchedIndependentAnimationVariableKey<Vec3>> DESTINATION = SYNCHED_ANIMATION_VARIABLE_KEYS.register("destination", () ->

View File

@@ -45,7 +45,7 @@ import com.tiedup.remake.rig.anim.client.property.LayerInfo;
import com.tiedup.remake.rig.anim.client.property.TrailInfo; import com.tiedup.remake.rig.anim.client.property.TrailInfo;
import com.tiedup.remake.rig.exception.AssetLoadingException; import com.tiedup.remake.rig.exception.AssetLoadingException;
import com.tiedup.remake.rig.util.ParseUtil; import com.tiedup.remake.rig.util.ParseUtil;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import com.tiedup.remake.rig.patch.LivingEntityPatch; import com.tiedup.remake.rig.patch.LivingEntityPatch;
public class AnimationSubFileReader { public class AnimationSubFileReader {
@@ -66,7 +66,7 @@ public class AnimationSubFileReader {
try { try {
subFileType.apply(inputstream, animation); subFileType.apply(inputstream, animation);
} catch (JsonParseException e) { } catch (JsonParseException e) {
EpicFightMod.LOGGER.warn("Can't read sub file " + subFileType.directory + " for " + animation); TiedUpRigConstants.LOGGER.warn("Can't read sub file " + subFileType.directory + " for " + animation);
e.printStackTrace(); e.printStackTrace();
} }
} }
@@ -175,7 +175,7 @@ public class AnimationSubFileReader {
String type = GsonHelper.getAsString(jointMaskEntry, "type"); String type = GsonHelper.getAsString(jointMaskEntry, "type");
if (!type.contains(":")) { if (!type.contains(":")) {
type = (new StringBuilder(EpicFightMod.MODID)).append(":").append(type).toString(); type = (new StringBuilder(TiedUpRigConstants.MODID)).append(":").append(type).toString();
} }
if (livingMotionName.equals("ALL")) { if (livingMotionName.equals("ALL")) {

View File

@@ -45,7 +45,7 @@ import com.tiedup.remake.rig.anim.client.property.JointMask.JointMaskSet;
import com.tiedup.remake.rig.anim.client.property.JointMaskEntry; import com.tiedup.remake.rig.anim.client.property.JointMaskEntry;
import com.tiedup.remake.rig.util.datastruct.TypeFlexibleHashMap; import com.tiedup.remake.rig.util.datastruct.TypeFlexibleHashMap;
import yesman.epicfight.gameasset.Animations; import yesman.epicfight.gameasset.Animations;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.network.common.AnimatorControlPacket; import yesman.epicfight.network.common.AnimatorControlPacket;
import com.tiedup.remake.rig.patch.LivingEntityPatch; import com.tiedup.remake.rig.patch.LivingEntityPatch;
@@ -141,7 +141,7 @@ public class ClientAnimator extends Animator {
@Override @Override
public void addLivingAnimation(LivingMotion livingMotion, AssetAccessor<? extends StaticAnimation> animation) { public void addLivingAnimation(LivingMotion livingMotion, AssetAccessor<? extends StaticAnimation> animation) {
if (AnimationManager.checkNull(animation)) { if (AnimationManager.checkNull(animation)) {
EpicFightMod.LOGGER.warn("Unable to put an empty animation for " + livingMotion); TiedUpRigConstants.LOGGER.warn("Unable to put an empty animation for " + livingMotion);
return; return;
} }

View File

@@ -24,12 +24,12 @@ import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener;
import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.util.profiling.ProfilerFiller;
import com.tiedup.remake.rig.anim.client.property.JointMask.BindModifier; import com.tiedup.remake.rig.anim.client.property.JointMask.BindModifier;
import com.tiedup.remake.rig.anim.client.property.JointMask.JointMaskSet; import com.tiedup.remake.rig.anim.client.property.JointMask.JointMaskSet;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
public class JointMaskReloadListener extends SimpleJsonResourceReloadListener { public class JointMaskReloadListener extends SimpleJsonResourceReloadListener {
private static final BiMap<ResourceLocation, JointMaskSet> JOINT_MASKS = HashBiMap.create(); private static final BiMap<ResourceLocation, JointMaskSet> JOINT_MASKS = HashBiMap.create();
private static final Map<String, JointMask.BindModifier> BIND_MODIFIERS = Maps.newHashMap(); private static final Map<String, JointMask.BindModifier> BIND_MODIFIERS = Maps.newHashMap();
private static final ResourceLocation NONE_MASK = EpicFightMod.identifier("none"); private static final ResourceLocation NONE_MASK = TiedUpRigConstants.identifier("none");
static { static {
BIND_MODIFIERS.put("keep_child_locrot", JointMask.KEEP_CHILD_LOCROT); BIND_MODIFIERS.put("keep_child_locrot", JointMask.KEEP_CHILD_LOCROT);

View File

@@ -41,7 +41,7 @@ import yesman.epicfight.api.physics.ik.InverseKinematicsSimulator.InverseKinemat
import com.tiedup.remake.rig.util.HitEntityList.Priority; import com.tiedup.remake.rig.util.HitEntityList.Priority;
import com.tiedup.remake.rig.util.TimePairList; import com.tiedup.remake.rig.util.TimePairList;
import com.tiedup.remake.rig.math.ValueModifier; import com.tiedup.remake.rig.math.ValueModifier;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.particle.HitParticleType; import yesman.epicfight.particle.HitParticleType;
import yesman.epicfight.skill.BasicAttack; import yesman.epicfight.skill.BasicAttack;
import com.tiedup.remake.rig.patch.LivingEntityPatch; import com.tiedup.remake.rig.patch.LivingEntityPatch;
@@ -82,7 +82,7 @@ public abstract class AnimationProperty<T> {
} }
public T parseFrom(JsonElement e) { public T parseFrom(JsonElement e) {
return this.codecs.parse(JsonOps.INSTANCE, e).resultOrPartial((errm) -> EpicFightMod.LOGGER.warn("Failed to parse property " + this.name + " because of " + errm)).orElseThrow(); return this.codecs.parse(JsonOps.INSTANCE, e).resultOrPartial((errm) -> TiedUpRigConstants.LOGGER.warn("Failed to parse property " + this.name + " because of " + errm)).orElseThrow();
} }
public Codec<T> getCodecs() { public Codec<T> getCodecs() {

View File

@@ -43,7 +43,7 @@ import com.tiedup.remake.rig.math.MathUtils;
import com.tiedup.remake.rig.math.OpenMatrix4f; import com.tiedup.remake.rig.math.OpenMatrix4f;
import com.tiedup.remake.rig.math.Vec3f; import com.tiedup.remake.rig.math.Vec3f;
import com.tiedup.remake.rig.patch.LocalPlayerPatch; import com.tiedup.remake.rig.patch.LocalPlayerPatch;
import yesman.epicfight.main.EpicFightSharedConstants; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.network.EpicFightNetworkManager; import yesman.epicfight.network.EpicFightNetworkManager;
import yesman.epicfight.network.client.CPSyncPlayerAnimationPosition; import yesman.epicfight.network.client.CPSyncPlayerAnimationPosition;
import yesman.epicfight.network.server.SPSyncAnimationPosition; import yesman.epicfight.network.server.SPSyncAnimationPosition;
@@ -237,7 +237,7 @@ public class ActionAnimation extends MainFrameAnimation {
playTime = playSpeedModifier.modify(this, entitypatch, playTime, 0.0F, playTime); playTime = playSpeedModifier.modify(this, entitypatch, playTime, 0.0F, playTime);
} }
playTime = Math.abs(playTime) * EpicFightSharedConstants.A_TICK; playTime = Math.abs(playTime) * TiedUpRigConstants.A_TICK;
float linkTime = (transitionTimeModifier > 0.0F) ? transitionTimeModifier + this.transitionTime : this.transitionTime; float linkTime = (transitionTimeModifier > 0.0F) ? transitionTimeModifier + this.transitionTime : this.transitionTime;
float totalTime = playTime * (int)Math.ceil(linkTime / playTime); float totalTime = playTime * (int)Math.ceil(linkTime / playTime);

View File

@@ -51,7 +51,7 @@ import com.tiedup.remake.rig.util.AttackResult;
import com.tiedup.remake.rig.util.HitEntityList; import com.tiedup.remake.rig.util.HitEntityList;
import com.tiedup.remake.rig.math.MathUtils; import com.tiedup.remake.rig.math.MathUtils;
import com.tiedup.remake.rig.math.ValueModifier; import com.tiedup.remake.rig.math.ValueModifier;
import yesman.epicfight.main.EpicFightSharedConstants; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.particle.HitParticleType; import yesman.epicfight.particle.HitParticleType;
import com.tiedup.remake.rig.patch.HumanoidMobPatch; import com.tiedup.remake.rig.patch.HumanoidMobPatch;
import com.tiedup.remake.rig.patch.LivingEntityPatch; import com.tiedup.remake.rig.patch.LivingEntityPatch;
@@ -426,7 +426,7 @@ public class AttackAnimation extends ActionAnimation {
@Override @Override
public Object getModifiedLinkState(StateFactor<?> factor, Object val, LivingEntityPatch<?> entitypatch, float elapsedTime) { public Object getModifiedLinkState(StateFactor<?> factor, Object val, LivingEntityPatch<?> entitypatch, float elapsedTime) {
if (factor == EntityState.ATTACKING && elapsedTime < this.getPlaySpeed(entitypatch, this) * EpicFightSharedConstants.A_TICK) { if (factor == EntityState.ATTACKING && elapsedTime < this.getPlaySpeed(entitypatch, this) * TiedUpRigConstants.A_TICK) {
return false; return false;
} }

View File

@@ -27,8 +27,7 @@ import com.tiedup.remake.rig.anim.types.EntityState.StateFactor;
import com.tiedup.remake.rig.asset.AssetAccessor; import com.tiedup.remake.rig.asset.AssetAccessor;
import com.tiedup.remake.rig.anim.client.property.JointMaskEntry; import com.tiedup.remake.rig.anim.client.property.JointMaskEntry;
import com.tiedup.remake.rig.util.datastruct.TypeFlexibleHashMap; import com.tiedup.remake.rig.util.datastruct.TypeFlexibleHashMap;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.main.EpicFightSharedConstants;
import com.tiedup.remake.rig.patch.LivingEntityPatch; import com.tiedup.remake.rig.patch.LivingEntityPatch;
public abstract class DynamicAnimation { public abstract class DynamicAnimation {
@@ -37,7 +36,7 @@ public abstract class DynamicAnimation {
protected AnimationClip animationClip; protected AnimationClip animationClip;
public DynamicAnimation() { public DynamicAnimation() {
this(EpicFightSharedConstants.GENERAL_ANIMATION_TRANSITION_TIME, false); this(TiedUpRigConstants.GENERAL_ANIMATION_TRANSITION_TIME, false);
} }
public DynamicAnimation(float transitionTime, boolean isRepeat) { public DynamicAnimation(float transitionTime, boolean isRepeat) {
@@ -148,7 +147,7 @@ public abstract class DynamicAnimation {
} }
public ResourceLocation getRegistryName() { public ResourceLocation getRegistryName() {
return EpicFightMod.identifier(""); return TiedUpRigConstants.identifier("");
} }
public int getId() { public int getId() {

View File

@@ -9,12 +9,12 @@ package com.tiedup.remake.rig.anim.types;
import com.tiedup.remake.rig.anim.AnimationManager.AnimationAccessor; import com.tiedup.remake.rig.anim.AnimationManager.AnimationAccessor;
import com.tiedup.remake.rig.asset.AssetAccessor; import com.tiedup.remake.rig.asset.AssetAccessor;
import com.tiedup.remake.rig.armature.Armature; import com.tiedup.remake.rig.armature.Armature;
import yesman.epicfight.main.EpicFightSharedConstants; import com.tiedup.remake.rig.TiedUpRigConstants;
import com.tiedup.remake.rig.patch.LivingEntityPatch; import com.tiedup.remake.rig.patch.LivingEntityPatch;
public class MovementAnimation extends StaticAnimation { public class MovementAnimation extends StaticAnimation {
public MovementAnimation(boolean isRepeat, AnimationAccessor<? extends MovementAnimation> accessor, AssetAccessor<? extends Armature> armature) { public MovementAnimation(boolean isRepeat, AnimationAccessor<? extends MovementAnimation> accessor, AssetAccessor<? extends Armature> armature) {
super(EpicFightSharedConstants.GENERAL_ANIMATION_TRANSITION_TIME, isRepeat, accessor, armature); super(TiedUpRigConstants.GENERAL_ANIMATION_TRANSITION_TIME, isRepeat, accessor, armature);
} }
public MovementAnimation(float transitionTime, boolean isRepeat, AnimationAccessor<? extends MovementAnimation> accessor, AssetAccessor<? extends Armature> armature) { public MovementAnimation(float transitionTime, boolean isRepeat, AnimationAccessor<? extends MovementAnimation> accessor, AssetAccessor<? extends Armature> armature) {

View File

@@ -65,8 +65,7 @@ import com.tiedup.remake.rig.render.TiedUpRenderTypes;
import yesman.epicfight.client.renderer.RenderingTool; import yesman.epicfight.client.renderer.RenderingTool;
import com.tiedup.remake.rig.render.item.RenderItemBase; import com.tiedup.remake.rig.render.item.RenderItemBase;
import yesman.epicfight.gameasset.Animations; import yesman.epicfight.gameasset.Animations;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.main.EpicFightSharedConstants;
import com.tiedup.remake.rig.patch.LivingEntityPatch; import com.tiedup.remake.rig.patch.LivingEntityPatch;
import com.tiedup.remake.rig.patch.PlayerPatch; import com.tiedup.remake.rig.patch.PlayerPatch;
import yesman.epicfight.world.entity.eventlistener.AnimationBeginEvent; import yesman.epicfight.world.entity.eventlistener.AnimationBeginEvent;
@@ -104,13 +103,13 @@ public class StaticAnimation extends DynamicAnimation implements InverseKinemati
public StaticAnimation() { public StaticAnimation() {
super(0.0F, true); super(0.0F, true);
this.resourceLocation = EpicFightMod.identifier("emtpy"); this.resourceLocation = TiedUpRigConstants.identifier("emtpy");
this.armature = null; this.armature = null;
this.filehash = StringUtil.EMPTY_STRING; this.filehash = StringUtil.EMPTY_STRING;
} }
public StaticAnimation(boolean isRepeat, AnimationAccessor<? extends StaticAnimation> accessor, AssetAccessor<? extends Armature> armature) { public StaticAnimation(boolean isRepeat, AnimationAccessor<? extends StaticAnimation> accessor, AssetAccessor<? extends Armature> armature) {
this(EpicFightSharedConstants.GENERAL_ANIMATION_TRANSITION_TIME, isRepeat, accessor, armature); this(TiedUpRigConstants.GENERAL_ANIMATION_TRANSITION_TIME, isRepeat, accessor, armature);
} }
public StaticAnimation(float transitionTime, boolean isRepeat, AnimationAccessor<? extends StaticAnimation> accessor, AssetAccessor<? extends Armature> armature) { public StaticAnimation(float transitionTime, boolean isRepeat, AnimationAccessor<? extends StaticAnimation> accessor, AssetAccessor<? extends Armature> armature) {
@@ -193,7 +192,7 @@ public class StaticAnimation extends DynamicAnimation implements InverseKinemati
} }
playTime = Math.abs(playTime); playTime = Math.abs(playTime);
playTime *= EpicFightSharedConstants.A_TICK; playTime *= TiedUpRigConstants.A_TICK;
float linkTime = transitionTimeModifier > 0.0F ? transitionTimeModifier + this.transitionTime : this.transitionTime; float linkTime = transitionTimeModifier > 0.0F ? transitionTimeModifier + this.transitionTime : this.transitionTime;
float totalTime = playTime * (int)Math.ceil(linkTime / playTime); float totalTime = playTime * (int)Math.ceil(linkTime / playTime);
@@ -620,7 +619,7 @@ public class StaticAnimation extends DynamicAnimation implements InverseKinemati
for (BakedInverseKinematicsDefinition bakedIKInfo : this.getProperty(StaticAnimationProperty.BAKED_IK_DEFINITION).orElse(null)) { for (BakedInverseKinematicsDefinition bakedIKInfo : this.getProperty(StaticAnimationProperty.BAKED_IK_DEFINITION).orElse(null)) {
ikSimulatable.getIKSimulator().getRunningObject(bakedIKInfo.endJoint()).ifPresent((ikObjet) -> { ikSimulatable.getIKSimulator().getRunningObject(bakedIKInfo.endJoint()).ifPresent((ikObjet) -> {
VertexConsumer vertexBuilder = buffer.getBuffer(EpicFightRenderTypes.debugQuads()); VertexConsumer vertexBuilder = buffer.getBuffer(TiedUpRenderTypes.debugQuads());
Vec3f worldtargetpos = ikObjet.getDestination(); Vec3f worldtargetpos = ikObjet.getDestination();
Vec3f modeltargetpos = OpenMatrix4f.transform3v(toModelPos, worldtargetpos, null).multiply(-1.0F, 1.0F, -1.0F); Vec3f modeltargetpos = OpenMatrix4f.transform3v(toModelPos, worldtargetpos, null).multiply(-1.0F, 1.0F, -1.0F);
RenderingTool.drawQuad(poseStack, vertexBuilder, modeltargetpos, 0.5F, 1.0F, 0.0F, 0.0F); RenderingTool.drawQuad(poseStack, vertexBuilder, modeltargetpos, 0.5F, 1.0F, 0.0F, 0.0F);

View File

@@ -23,8 +23,7 @@ import com.tiedup.remake.rig.armature.JointTransform;
import com.tiedup.remake.rig.anim.Pose; import com.tiedup.remake.rig.anim.Pose;
import com.tiedup.remake.rig.asset.JsonAssetLoader; import com.tiedup.remake.rig.asset.JsonAssetLoader;
import com.tiedup.remake.rig.math.OpenMatrix4f; import com.tiedup.remake.rig.math.OpenMatrix4f;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.main.EpicFightSharedConstants;
public class Armature { public class Armature {
private final String name; private final String name;
@@ -52,8 +51,8 @@ public class Armature {
protected Joint getOrLogException(Map<String, Joint> jointMap, String name) { protected Joint getOrLogException(Map<String, Joint> jointMap, String name) {
if (!jointMap.containsKey(name)) { if (!jointMap.containsKey(name)) {
if (EpicFightSharedConstants.IS_DEV_ENV) { if (TiedUpRigConstants.IS_DEV_ENV) {
EpicFightMod.LOGGER.debug("Cannot find the joint named " + name + " in " + this.getClass().getCanonicalName()); TiedUpRigConstants.LOGGER.debug("Cannot find the joint named " + name + " in " + this.getClass().getCanonicalName());
} }
return Joint.EMPTY; return Joint.EMPTY;

View File

@@ -71,8 +71,7 @@ import com.tiedup.remake.rig.math.OpenMatrix4f;
import com.tiedup.remake.rig.math.Vec3f; import com.tiedup.remake.rig.math.Vec3f;
import com.tiedup.remake.rig.math.Vec4f; import com.tiedup.remake.rig.math.Vec4f;
import yesman.epicfight.gameasset.Armatures.ArmatureContructor; import yesman.epicfight.gameasset.Armatures.ArmatureContructor;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.main.EpicFightSharedConstants;
public class JsonAssetLoader { public class JsonAssetLoader {
public static final OpenMatrix4f BLENDER_TO_MINECRAFT_COORD = OpenMatrix4f.createRotatorDeg(-90.0F, Vec3f.X_AXIS); public static final OpenMatrix4f BLENDER_TO_MINECRAFT_COORD = OpenMatrix4f.createRotatorDeg(-90.0F, Vec3f.X_AXIS);
@@ -111,7 +110,7 @@ public class JsonAssetLoader {
InputStream inputStream = modClass.getResourceAsStream("/assets/" + resourceLocation.getNamespace() + "/" + resourceLocation.getPath()); InputStream inputStream = modClass.getResourceAsStream("/assets/" + resourceLocation.getNamespace() + "/" + resourceLocation.getPath());
if (inputStream == null) { if (inputStream == null) {
modClass = ModList.get().getModObjectById(EpicFightMod.MODID).get().getClass(); modClass = ModList.get().getModObjectById(TiedUpRigConstants.MODID).get().getClass();
inputStream = modClass.getResourceAsStream("/assets/" + resourceLocation.getNamespace() + "/" + resourceLocation.getPath()); inputStream = modClass.getResourceAsStream("/assets/" + resourceLocation.getNamespace() + "/" + resourceLocation.getPath());
} }
@@ -576,7 +575,7 @@ public class JsonAssetLoader {
} }
if (animation.getArmature() == null) { if (animation.getArmature() == null) {
EpicFightMod.LOGGER.error("Animation " + animation + " doesn't have an armature."); TiedUpRigConstants.LOGGER.error("Animation " + animation + " doesn't have an armature.");
} }
TransformFormat format = getAsTransformFormatOrDefault(this.rootJson, "format"); TransformFormat format = getAsTransformFormatOrDefault(this.rootJson, "format");
@@ -625,7 +624,7 @@ public class JsonAssetLoader {
root = false; root = false;
continue; continue;
} else { } else {
EpicFightMod.LOGGER.debug("[EpicFightMod] No joint named " + name + " in " + animation); TiedUpRigConstants.LOGGER.debug("[EpicFightMod] No joint named " + name + " in " + animation);
continue; continue;
} }
} }
@@ -654,7 +653,7 @@ public class JsonAssetLoader {
boolean root = true; boolean root = true;
if (animation.getArmature() == null) { if (animation.getArmature() == null) {
EpicFightMod.LOGGER.error("Animation " + animation + " doesn't have an armature."); TiedUpRigConstants.LOGGER.error("Animation " + animation + " doesn't have an armature.");
} }
Armature armature = animation.getArmature().get(); Armature armature = animation.getArmature().get();
@@ -666,8 +665,8 @@ public class JsonAssetLoader {
Joint joint = armature.searchJointByName(name); Joint joint = armature.searchJointByName(name);
if (joint == null) { if (joint == null) {
if (EpicFightSharedConstants.IS_DEV_ENV) { if (TiedUpRigConstants.IS_DEV_ENV) {
EpicFightMod.LOGGER.debug(animation.getRegistryName() + ": No joint named " + name + " in armature"); TiedUpRigConstants.LOGGER.debug(animation.getRegistryName() + ": No joint named " + name + " in armature");
} }
continue; continue;

View File

@@ -54,8 +54,7 @@ import yesman.epicfight.api.physics.SimulationObject;
import com.tiedup.remake.rig.math.MathUtils; import com.tiedup.remake.rig.math.MathUtils;
import com.tiedup.remake.rig.math.OpenMatrix4f; import com.tiedup.remake.rig.math.OpenMatrix4f;
import com.tiedup.remake.rig.math.Vec3f; import com.tiedup.remake.rig.math.Vec3f;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.main.EpicFightSharedConstants;
/** /**
* Referred to Matthias Müller's Ten minuates physics tutorial video number 14, 15 * Referred to Matthias Müller's Ten minuates physics tutorial video number 14, 15
@@ -65,8 +64,8 @@ import yesman.epicfight.main.EpicFightSharedConstants;
* https://www.youtube.com/@TenMinutePhysics * https://www.youtube.com/@TenMinutePhysics
**/ **/
public class ClothSimulator extends AbstractSimulator<ResourceLocation, ClothObjectBuilder, SoftBodyTranslatable, ClothSimulatable, ClothSimulator.ClothObject> { public class ClothSimulator extends AbstractSimulator<ResourceLocation, ClothObjectBuilder, SoftBodyTranslatable, ClothSimulatable, ClothSimulator.ClothObject> {
public static final ResourceLocation PLAYER_CLOAK = EpicFightMod.identifier("ingame_cloak"); public static final ResourceLocation PLAYER_CLOAK = TiedUpRigConstants.identifier("ingame_cloak");
public static final ResourceLocation MODELPREVIEWER_CLOAK = EpicFightMod.identifier("previewer_cloak"); public static final ResourceLocation MODELPREVIEWER_CLOAK = TiedUpRigConstants.identifier("previewer_cloak");
private static final float SPATIAL_HASH_SPACING = 0.05F; private static final float SPATIAL_HASH_SPACING = 0.05F;
public static class ClothObjectBuilder extends SimulationObject.SimulationObjectBuilder { public static class ClothObjectBuilder extends SimulationObject.SimulationObjectBuilder {
@@ -99,7 +98,7 @@ public class ClothSimulator extends AbstractSimulator<ResourceLocation, ClothObj
private static boolean DRAW_OUTLINES = false; private static boolean DRAW_OUTLINES = false;
public static void drawMeshColliders(boolean flag) { public static void drawMeshColliders(boolean flag) {
if (!EpicFightSharedConstants.IS_DEV_ENV) { if (!TiedUpRigConstants.IS_DEV_ENV) {
throw new IllegalStateException("Can't switch developer configuration in product environment."); throw new IllegalStateException("Can't switch developer configuration in product environment.");
} }
@@ -107,7 +106,7 @@ public class ClothSimulator extends AbstractSimulator<ResourceLocation, ClothObj
} }
public static void drawNormalOffset(boolean flag) { public static void drawNormalOffset(boolean flag) {
if (!EpicFightSharedConstants.IS_DEV_ENV) { if (!TiedUpRigConstants.IS_DEV_ENV) {
throw new IllegalStateException("Can't switch developer configuration in product environment."); throw new IllegalStateException("Can't switch developer configuration in product environment.");
} }
@@ -115,7 +114,7 @@ public class ClothSimulator extends AbstractSimulator<ResourceLocation, ClothObj
} }
public static void drawOutlines(boolean flag) { public static void drawOutlines(boolean flag) {
if (!EpicFightSharedConstants.IS_DEV_ENV) { if (!TiedUpRigConstants.IS_DEV_ENV) {
throw new IllegalStateException("Can't switch developer configuration in product environment."); throw new IllegalStateException("Can't switch developer configuration in product environment.");
} }
@@ -208,7 +207,7 @@ public class ClothSimulator extends AbstractSimulator<ResourceLocation, ClothObj
private static final Vec3f CENTRIFUGAL = new Vec3f(); private static final Vec3f CENTRIFUGAL = new Vec3f();
private static final Vec3f CIRCULAR = new Vec3f(); private static final Vec3f CIRCULAR = new Vec3f();
private static final OpenMatrix4f[] BOUND_ANIMATION_TRANSFORM = OpenMatrix4f.allocateMatrixArray(EpicFightSharedConstants.MAX_JOINTS); private static final OpenMatrix4f[] BOUND_ANIMATION_TRANSFORM = OpenMatrix4f.allocateMatrixArray(TiedUpRigConstants.MAX_JOINTS);
private static final OpenMatrix4f COLLIDER_TRANSFORM = new OpenMatrix4f(); private static final OpenMatrix4f COLLIDER_TRANSFORM = new OpenMatrix4f();
private static final OpenMatrix4f TO_CENTRIFUGAL = new OpenMatrix4f(); private static final OpenMatrix4f TO_CENTRIFUGAL = new OpenMatrix4f();
private static final OpenMatrix4f OBJECT_TRANSFORM = new OpenMatrix4f(); private static final OpenMatrix4f OBJECT_TRANSFORM = new OpenMatrix4f();
@@ -243,7 +242,7 @@ public class ClothSimulator extends AbstractSimulator<ResourceLocation, ClothObj
float deltaFrameTime = Minecraft.getInstance().getDeltaFrameTime(); float deltaFrameTime = Minecraft.getInstance().getDeltaFrameTime();
float subStebInvert = 1.0F / SUB_STEPS; float subStebInvert = 1.0F / SUB_STEPS;
float subSteppingDeltaTime = deltaFrameTime * subStebInvert; float subSteppingDeltaTime = deltaFrameTime * subStebInvert;
float gravity = simulatableObj.getGravity() * subSteppingDeltaTime * EpicFightSharedConstants.A_TICK; float gravity = simulatableObj.getGravity() * subSteppingDeltaTime * TiedUpRigConstants.A_TICK;
// Update circular force // Update circular force
float yRot = Mth.wrapDegrees(Mth.rotLerp(partialTick, Mth.wrapDegrees(simulatableObj.getYRotO()), Mth.wrapDegrees(simulatableObj.getYRot()))); float yRot = Mth.wrapDegrees(Mth.rotLerp(partialTick, Mth.wrapDegrees(simulatableObj.getYRotO()), Mth.wrapDegrees(simulatableObj.getYRot())));

View File

@@ -13,7 +13,7 @@ import org.joml.Quaternionf;
import org.joml.Vector3f; import org.joml.Vector3f;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
public class Vec3f extends Vec2f { public class Vec3f extends Vec2f {
public static final Vec3f X_AXIS = new Vec3f(1.0F, 0.0F, 0.0F); public static final Vec3f X_AXIS = new Vec3f(1.0F, 0.0F, 0.0F);
@@ -238,7 +238,7 @@ public class Vec3f extends Vec2f {
float dotDivLength = Vec3f.dot(a, b) / (a.length() * b.length()); float dotDivLength = Vec3f.dot(a, b) / (a.length() * b.length());
if (!Float.isFinite(dotDivLength)) { if (!Float.isFinite(dotDivLength)) {
EpicFightMod.LOGGER.info("Warning : given vector's length is zero"); TiedUpRigConstants.LOGGER.info("Warning : given vector's length is zero");
(new IllegalArgumentException()).printStackTrace(); (new IllegalArgumentException()).printStackTrace();
dotDivLength = 1.0F; dotDivLength = 1.0F;
} }

View File

@@ -24,7 +24,7 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
import com.tiedup.remake.rig.mesh.ClassicMesh.ClassicMeshPart; import com.tiedup.remake.rig.mesh.ClassicMesh.ClassicMeshPart;
import com.tiedup.remake.rig.armature.Armature; import com.tiedup.remake.rig.armature.Armature;
import com.tiedup.remake.rig.math.OpenMatrix4f; import com.tiedup.remake.rig.math.OpenMatrix4f;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
public class ClassicMesh extends StaticMesh<ClassicMeshPart> { public class ClassicMesh extends StaticMesh<ClassicMeshPart> {
public ClassicMesh(Map<String, Number[]> arrayMap, Map<MeshPartDefinition, List<VertexBuilder>> partBuilders, ClassicMesh parent, RenderProperties properties) { public ClassicMesh(Map<String, Number[]> arrayMap, Map<MeshPartDefinition, List<VertexBuilder>> partBuilders, ClassicMesh parent, RenderProperties properties) {
@@ -45,7 +45,7 @@ public class ClassicMesh extends StaticMesh<ClassicMeshPart> {
@Override @Override
protected ClassicMeshPart getOrLogException(Map<String, ClassicMeshPart> parts, String name) { protected ClassicMeshPart getOrLogException(Map<String, ClassicMeshPart> parts, String name) {
if (!parts.containsKey(name)) { if (!parts.containsKey(name)) {
EpicFightMod.LOGGER.debug("Can not find the mesh part named " + name + " in " + this.getClass().getCanonicalName()); TiedUpRigConstants.LOGGER.debug("Can not find the mesh part named " + name + " in " + this.getClass().getCanonicalName());
return null; return null;
} }

View File

@@ -45,7 +45,7 @@ public interface Mesh {
/* Universal method */ /* Universal method */
default void draw(PoseStack poseStack, MultiBufferSource bufferSources, RenderType renderType, Mesh.DrawingFunction drawingFunction, int packedLight, float r, float g, float b, float a, int overlay, @Nullable Armature armature, OpenMatrix4f[] poses) { default void draw(PoseStack poseStack, MultiBufferSource bufferSources, RenderType renderType, Mesh.DrawingFunction drawingFunction, int packedLight, float r, float g, float b, float a, int overlay, @Nullable Armature armature, OpenMatrix4f[] poses) {
this.drawPosed(poseStack, bufferSources.getBuffer(EpicFightRenderTypes.getTriangulated(renderType)), drawingFunction, packedLight, r, g, b, a, overlay, armature, poses); this.drawPosed(poseStack, bufferSources.getBuffer(TiedUpRenderTypes.getTriangulated(renderType)), drawingFunction, packedLight, r, g, b, a, overlay, armature, poses);
} }
public static record RenderProperties(ResourceLocation customTexturePath, Vec3f customColor, boolean isTransparent) { public static record RenderProperties(ResourceLocation customTexturePath, Vec3f customColor, boolean isTransparent) {

View File

@@ -57,7 +57,7 @@ public abstract class MeshPart {
public VertexConsumer getBufferBuilder(RenderType renderType, MultiBufferSource bufferSource) { public VertexConsumer getBufferBuilder(RenderType renderType, MultiBufferSource bufferSource) {
if (this.renderProperties.customTexturePath() != null) { if (this.renderProperties.customTexturePath() != null) {
return bufferSource.getBuffer(EpicFightRenderTypes.replaceTexture(this.renderProperties.customTexturePath(), renderType)); return bufferSource.getBuffer(TiedUpRenderTypes.replaceTexture(this.renderProperties.customTexturePath(), renderType));
} }
return bufferSource.getBuffer(renderType); return bufferSource.getBuffer(renderType);

View File

@@ -40,7 +40,7 @@ import com.tiedup.remake.rig.mesh.SpiderMesh;
import com.tiedup.remake.rig.mesh.VexMesh; import com.tiedup.remake.rig.mesh.VexMesh;
import com.tiedup.remake.rig.mesh.VillagerMesh; import com.tiedup.remake.rig.mesh.VillagerMesh;
import com.tiedup.remake.rig.mesh.WitherMesh; import com.tiedup.remake.rig.mesh.WitherMesh;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
public class Meshes implements PreparableReloadListener { public class Meshes implements PreparableReloadListener {
private static final Map<ResourceLocation, MeshAccessor<? extends Mesh>> ACCESSORS = Maps.newHashMap(); private static final Map<ResourceLocation, MeshAccessor<? extends Mesh>> ACCESSORS = Maps.newHashMap();
@@ -51,40 +51,40 @@ public class Meshes implements PreparableReloadListener {
public static final Meshes INSTANCE = new Meshes(); public static final Meshes INSTANCE = new Meshes();
// Entities // Entities
public static final MeshAccessor<HumanoidMesh> ALEX = MeshAccessor.create(EpicFightMod.MODID, "entity/biped_slim_arm", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HumanoidMesh::new)); public static final MeshAccessor<HumanoidMesh> ALEX = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/biped_slim_arm", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HumanoidMesh::new));
public static final MeshAccessor<HumanoidMesh> BIPED = MeshAccessor.create(EpicFightMod.MODID, "entity/biped", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HumanoidMesh::new)); public static final MeshAccessor<HumanoidMesh> BIPED = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/biped", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HumanoidMesh::new));
public static final MeshAccessor<HumanoidMesh> BIPED_OLD_TEX = MeshAccessor.create(EpicFightMod.MODID, "entity/biped_old_texture", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HumanoidMesh::new)); public static final MeshAccessor<HumanoidMesh> BIPED_OLD_TEX = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/biped_old_texture", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HumanoidMesh::new));
public static final MeshAccessor<HumanoidMesh> BIPED_OUTLAYER = MeshAccessor.create(EpicFightMod.MODID, "entity/biped_outlayer", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HumanoidMesh::new)); public static final MeshAccessor<HumanoidMesh> BIPED_OUTLAYER = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/biped_outlayer", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HumanoidMesh::new));
public static final MeshAccessor<VillagerMesh> VILLAGER_ZOMBIE = MeshAccessor.create(EpicFightMod.MODID, "entity/zombie_villager", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(VillagerMesh::new)); public static final MeshAccessor<VillagerMesh> VILLAGER_ZOMBIE = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/zombie_villager", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(VillagerMesh::new));
public static final MeshAccessor<CreeperMesh> CREEPER = MeshAccessor.create(EpicFightMod.MODID, "entity/creeper", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(CreeperMesh::new)); public static final MeshAccessor<CreeperMesh> CREEPER = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/creeper", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(CreeperMesh::new));
public static final MeshAccessor<EndermanMesh> ENDERMAN = MeshAccessor.create(EpicFightMod.MODID, "entity/enderman", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(EndermanMesh::new)); public static final MeshAccessor<EndermanMesh> ENDERMAN = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/enderman", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(EndermanMesh::new));
public static final MeshAccessor<HumanoidMesh> SKELETON = MeshAccessor.create(EpicFightMod.MODID, "entity/skeleton", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HumanoidMesh::new)); public static final MeshAccessor<HumanoidMesh> SKELETON = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/skeleton", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HumanoidMesh::new));
public static final MeshAccessor<SpiderMesh> SPIDER = MeshAccessor.create(EpicFightMod.MODID, "entity/spider", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SpiderMesh::new)); public static final MeshAccessor<SpiderMesh> SPIDER = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/spider", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SpiderMesh::new));
public static final MeshAccessor<IronGolemMesh> IRON_GOLEM = MeshAccessor.create(EpicFightMod.MODID, "entity/iron_golem", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(IronGolemMesh::new)); public static final MeshAccessor<IronGolemMesh> IRON_GOLEM = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/iron_golem", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(IronGolemMesh::new));
public static final MeshAccessor<HumanoidMesh> ILLAGER = MeshAccessor.create(EpicFightMod.MODID, "entity/illager", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(VillagerMesh::new)); public static final MeshAccessor<HumanoidMesh> ILLAGER = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/illager", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(VillagerMesh::new));
public static final MeshAccessor<VillagerMesh> WITCH = MeshAccessor.create(EpicFightMod.MODID, "entity/witch", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(VillagerMesh::new)); public static final MeshAccessor<VillagerMesh> WITCH = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/witch", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(VillagerMesh::new));
public static final MeshAccessor<RavagerMesh> RAVAGER = MeshAccessor.create(EpicFightMod.MODID, "entity/ravager",(jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(RavagerMesh::new)); public static final MeshAccessor<RavagerMesh> RAVAGER = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/ravager",(jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(RavagerMesh::new));
public static final MeshAccessor<VexMesh> VEX = MeshAccessor.create(EpicFightMod.MODID, "entity/vex", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(VexMesh::new)); public static final MeshAccessor<VexMesh> VEX = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/vex", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(VexMesh::new));
public static final MeshAccessor<PiglinMesh> PIGLIN = MeshAccessor.create(EpicFightMod.MODID, "entity/piglin", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(PiglinMesh::new)); public static final MeshAccessor<PiglinMesh> PIGLIN = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/piglin", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(PiglinMesh::new));
public static final MeshAccessor<HoglinMesh> HOGLIN = MeshAccessor.create(EpicFightMod.MODID, "entity/hoglin", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HoglinMesh::new)); public static final MeshAccessor<HoglinMesh> HOGLIN = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/hoglin", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(HoglinMesh::new));
public static final MeshAccessor<DragonMesh> DRAGON = MeshAccessor.create(EpicFightMod.MODID, "entity/dragon", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(DragonMesh::new)); public static final MeshAccessor<DragonMesh> DRAGON = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/dragon", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(DragonMesh::new));
public static final MeshAccessor<WitherMesh> WITHER = MeshAccessor.create(EpicFightMod.MODID, "entity/wither", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(WitherMesh::new)); public static final MeshAccessor<WitherMesh> WITHER = MeshAccessor.create(TiedUpRigConstants.MODID, "entity/wither", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(WitherMesh::new));
// Armors // Armors
public static final MeshAccessor<SkinnedMesh> HELMET = MeshAccessor.create(EpicFightMod.MODID, "armor/helmet", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new)); public static final MeshAccessor<SkinnedMesh> HELMET = MeshAccessor.create(TiedUpRigConstants.MODID, "armor/helmet", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new));
public static final MeshAccessor<SkinnedMesh> HELMET_PIGLIN = MeshAccessor.create(EpicFightMod.MODID, "armor/piglin_helmet", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new)); public static final MeshAccessor<SkinnedMesh> HELMET_PIGLIN = MeshAccessor.create(TiedUpRigConstants.MODID, "armor/piglin_helmet", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new));
public static final MeshAccessor<SkinnedMesh> HELMET_VILLAGER = MeshAccessor.create(EpicFightMod.MODID, "armor/villager_helmet", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new)); public static final MeshAccessor<SkinnedMesh> HELMET_VILLAGER = MeshAccessor.create(TiedUpRigConstants.MODID, "armor/villager_helmet", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new));
public static final MeshAccessor<SkinnedMesh> CHESTPLATE = MeshAccessor.create(EpicFightMod.MODID, "armor/chestplate", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new)); public static final MeshAccessor<SkinnedMesh> CHESTPLATE = MeshAccessor.create(TiedUpRigConstants.MODID, "armor/chestplate", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new));
public static final MeshAccessor<SkinnedMesh> LEGGINS = MeshAccessor.create(EpicFightMod.MODID, "armor/leggins", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new)); public static final MeshAccessor<SkinnedMesh> LEGGINS = MeshAccessor.create(TiedUpRigConstants.MODID, "armor/leggins", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new));
public static final MeshAccessor<SkinnedMesh> BOOTS = MeshAccessor.create(EpicFightMod.MODID, "armor/boots", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new)); public static final MeshAccessor<SkinnedMesh> BOOTS = MeshAccessor.create(TiedUpRigConstants.MODID, "armor/boots", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new));
// Particles // Particles
public static final MeshAccessor<ClassicMesh> AIR_BURST = MeshAccessor.create(EpicFightMod.MODID, "particle/air_burst", (jsonModelLoader) -> jsonModelLoader.loadClassicMesh(ClassicMesh::new)); public static final MeshAccessor<ClassicMesh> AIR_BURST = MeshAccessor.create(TiedUpRigConstants.MODID, "particle/air_burst", (jsonModelLoader) -> jsonModelLoader.loadClassicMesh(ClassicMesh::new));
public static final MeshAccessor<ClassicMesh> FORCE_FIELD = MeshAccessor.create(EpicFightMod.MODID, "particle/force_field", (jsonModelLoader) -> jsonModelLoader.loadClassicMesh(ClassicMesh::new)); public static final MeshAccessor<ClassicMesh> FORCE_FIELD = MeshAccessor.create(TiedUpRigConstants.MODID, "particle/force_field", (jsonModelLoader) -> jsonModelLoader.loadClassicMesh(ClassicMesh::new));
public static final MeshAccessor<ClassicMesh> LASER = MeshAccessor.create(EpicFightMod.MODID, "particle/laser", (jsonModelLoader) -> jsonModelLoader.loadClassicMesh(ClassicMesh::new)); public static final MeshAccessor<ClassicMesh> LASER = MeshAccessor.create(TiedUpRigConstants.MODID, "particle/laser", (jsonModelLoader) -> jsonModelLoader.loadClassicMesh(ClassicMesh::new));
// Layers // Layers
public static final MeshAccessor<SkinnedMesh> CAPE_DEFAULT = MeshAccessor.create(EpicFightMod.MODID, "layer/default_cape", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new)); public static final MeshAccessor<SkinnedMesh> CAPE_DEFAULT = MeshAccessor.create(TiedUpRigConstants.MODID, "layer/default_cape", (jsonModelLoader) -> jsonModelLoader.loadSkinnedMesh(SkinnedMesh::new));
public static void reload(ResourceManager resourceManager) { public static void reload(ResourceManager resourceManager) {
Meshes.resourceManager = resourceManager; Meshes.resourceManager = resourceManager;

View File

@@ -37,8 +37,7 @@ import com.tiedup.remake.rig.render.TiedUpRenderTypes;
import yesman.epicfight.client.renderer.shader.compute.ComputeShaderSetup; import yesman.epicfight.client.renderer.shader.compute.ComputeShaderSetup;
import yesman.epicfight.client.renderer.shader.compute.loader.ComputeShaderProvider; import yesman.epicfight.client.renderer.shader.compute.loader.ComputeShaderProvider;
import yesman.epicfight.config.ClientConfig; import yesman.epicfight.config.ClientConfig;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.main.EpicFightSharedConstants;
public class SkinnedMesh extends StaticMesh<SkinnedMeshPart> { public class SkinnedMesh extends StaticMesh<SkinnedMeshPart> {
protected final float[] weights; protected final float[] weights;
@@ -133,8 +132,8 @@ public class SkinnedMesh extends StaticMesh<SkinnedMeshPart> {
@Override @Override
protected SkinnedMeshPart getOrLogException(Map<String, SkinnedMeshPart> parts, String name) { protected SkinnedMeshPart getOrLogException(Map<String, SkinnedMeshPart> parts, String name) {
if (!parts.containsKey(name)) { if (!parts.containsKey(name)) {
if (EpicFightSharedConstants.IS_DEV_ENV) { if (TiedUpRigConstants.IS_DEV_ENV) {
EpicFightMod.LOGGER.debug("Cannot find the mesh part named " + name + " in " + this.getClass().getCanonicalName()); TiedUpRigConstants.LOGGER.debug("Cannot find the mesh part named " + name + " in " + this.getClass().getCanonicalName());
} }
return null; return null;
@@ -248,9 +247,9 @@ public class SkinnedMesh extends StaticMesh<SkinnedMeshPart> {
@Override @Override
public void draw(PoseStack poseStack, MultiBufferSource bufferSources, RenderType renderType, Mesh.DrawingFunction drawingFunction, int packedLight, float r, float g, float b, float a, int overlay, @Nullable Armature armature, OpenMatrix4f[] poses) { public void draw(PoseStack poseStack, MultiBufferSource bufferSources, RenderType renderType, Mesh.DrawingFunction drawingFunction, int packedLight, float r, float g, float b, float a, int overlay, @Nullable Armature armature, OpenMatrix4f[] poses) {
if (ClientConfig.activateComputeShader && this.computerShaderSetup != null) { if (ClientConfig.activateComputeShader && this.computerShaderSetup != null) {
this.computerShaderSetup.drawWithShader(this, poseStack, bufferSources, EpicFightRenderTypes.getTriangulated(renderType), packedLight, r, g, b, a, overlay, armature, poses); this.computerShaderSetup.drawWithShader(this, poseStack, bufferSources, TiedUpRenderTypes.getTriangulated(renderType), packedLight, r, g, b, a, overlay, armature, poses);
} else { } else {
this.drawPosed(poseStack, bufferSources.getBuffer(EpicFightRenderTypes.getTriangulated(renderType)), drawingFunction, packedLight, r, g, b, a, overlay, armature, poses); this.drawPosed(poseStack, bufferSources.getBuffer(TiedUpRenderTypes.getTriangulated(renderType)), drawingFunction, packedLight, r, g, b, a, overlay, armature, poses);
} }
} }

View File

@@ -48,7 +48,7 @@ import yesman.epicfight.client.events.engine.RenderEngine;
import yesman.epicfight.client.gui.screen.SkillBookScreen; import yesman.epicfight.client.gui.screen.SkillBookScreen;
import yesman.epicfight.config.ClientConfig; import yesman.epicfight.config.ClientConfig;
import yesman.epicfight.gameasset.Animations; import yesman.epicfight.gameasset.Animations;
import yesman.epicfight.main.EpicFightSharedConstants; import com.tiedup.remake.rig.TiedUpRigConstants;
import yesman.epicfight.network.EpicFightNetworkManager; import yesman.epicfight.network.EpicFightNetworkManager;
import yesman.epicfight.network.client.CPAnimatorControl; import yesman.epicfight.network.client.CPAnimatorControl;
import yesman.epicfight.network.client.CPChangePlayerMode; import yesman.epicfight.network.client.CPChangePlayerMode;
@@ -537,7 +537,7 @@ public class LocalPlayerPatch extends AbstractClientPlayerPatch<LocalPlayer> {
if (LocalPlayerPatch.this.povSettings != null && LocalPlayerPatch.this.povSettings.cameraTransform() != null) { if (LocalPlayerPatch.this.povSettings != null && LocalPlayerPatch.this.povSettings.cameraTransform() != null) {
this.linkCameraTransform.getKeyframes()[0].transform().copyFrom(LocalPlayerPatch.this.povSettings.cameraTransform().getInterpolatedTransform(this.animationPlayer.getElapsedTime())); this.linkCameraTransform.getKeyframes()[0].transform().copyFrom(LocalPlayerPatch.this.povSettings.cameraTransform().getInterpolatedTransform(this.animationPlayer.getElapsedTime()));
this.linkCameraTransform.getKeyframes()[1].transform().copyFrom(JointTransform.empty()); this.linkCameraTransform.getKeyframes()[1].transform().copyFrom(JointTransform.empty());
this.linkCameraTransform.getKeyframes()[1].setTime(EpicFightSharedConstants.GENERAL_ANIMATION_TRANSITION_TIME); this.linkCameraTransform.getKeyframes()[1].setTime(TiedUpRigConstants.GENERAL_ANIMATION_TRANSITION_TIME);
} }
super.off(LocalPlayerPatch.this); super.off(LocalPlayerPatch.this);

View File

@@ -30,9 +30,9 @@ import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Entity;
import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.inventory.InventoryMenu;
import yesman.epicfight.main.EpicFightMod; import com.tiedup.remake.rig.TiedUpRigConstants;
public final class EpicFightRenderTypes extends RenderType { public final class TiedUpRenderTypes extends RenderType {
public static RenderType makeTriangulated(RenderType renderType) { public static RenderType makeTriangulated(RenderType renderType) {
if (renderType.mode() == VertexFormat.Mode.TRIANGLES) { if (renderType.mode() == VertexFormat.Mode.TRIANGLES) {
return renderType; return renderType;
@@ -48,7 +48,7 @@ public final class EpicFightRenderTypes extends RenderType {
private static final BiFunction<ResourceLocation, RenderStateShard.CullStateShard, RenderType> TRIANGULATED_OUTLINE = private static final BiFunction<ResourceLocation, RenderStateShard.CullStateShard, RenderType> TRIANGULATED_OUTLINE =
Util.memoize((texLocation, cullStateShard) -> { Util.memoize((texLocation, cullStateShard) -> {
return RenderType.create( return RenderType.create(
EpicFightMod.prefix("outline"), TiedUpRigConstants.prefix("outline"),
DefaultVertexFormat.POSITION_COLOR_TEX, DefaultVertexFormat.POSITION_COLOR_TEX,
VertexFormat.Mode.TRIANGLES, VertexFormat.Mode.TRIANGLES,
256, 256,
@@ -177,8 +177,8 @@ public final class EpicFightRenderTypes extends RenderType {
this.shaderColorState.setColor(r, g, b, a); this.shaderColorState.setColor(r, g, b, a);
} }
public static EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder mutableStateBuilder() { public static TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder mutableStateBuilder() {
return new EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder(); return new TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder();
} }
public static class MutableCompositeStateBuilder { public static class MutableCompositeStateBuilder {
@@ -196,77 +196,77 @@ public final class EpicFightRenderTypes extends RenderType {
private RenderStateShard.LineStateShard lineState = RenderStateShard.DEFAULT_LINE; private RenderStateShard.LineStateShard lineState = RenderStateShard.DEFAULT_LINE;
private RenderStateShard.ColorLogicStateShard colorLogicState = RenderStateShard.NO_COLOR_LOGIC; private RenderStateShard.ColorLogicStateShard colorLogicState = RenderStateShard.NO_COLOR_LOGIC;
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setTextureState(RenderStateShard.EmptyTextureStateShard pTextureState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setTextureState(RenderStateShard.EmptyTextureStateShard pTextureState) {
this.textureState = pTextureState; this.textureState = pTextureState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setShaderState(RenderStateShard.ShaderStateShard pShaderState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setShaderState(RenderStateShard.ShaderStateShard pShaderState) {
this.shaderState = pShaderState; this.shaderState = pShaderState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setTransparencyState(RenderStateShard.TransparencyStateShard pTransparencyState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setTransparencyState(RenderStateShard.TransparencyStateShard pTransparencyState) {
this.transparencyState = pTransparencyState; this.transparencyState = pTransparencyState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setDepthTestState(RenderStateShard.DepthTestStateShard pDepthTestState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setDepthTestState(RenderStateShard.DepthTestStateShard pDepthTestState) {
this.depthTestState = pDepthTestState; this.depthTestState = pDepthTestState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setCullState(RenderStateShard.CullStateShard pCullState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setCullState(RenderStateShard.CullStateShard pCullState) {
this.cullState = pCullState; this.cullState = pCullState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setLightmapState(RenderStateShard.LightmapStateShard pLightmapState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setLightmapState(RenderStateShard.LightmapStateShard pLightmapState) {
this.lightmapState = pLightmapState; this.lightmapState = pLightmapState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setOverlayState(RenderStateShard.OverlayStateShard pOverlayState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setOverlayState(RenderStateShard.OverlayStateShard pOverlayState) {
this.overlayState = pOverlayState; this.overlayState = pOverlayState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setLayeringState(RenderStateShard.LayeringStateShard pLayerState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setLayeringState(RenderStateShard.LayeringStateShard pLayerState) {
this.layeringState = pLayerState; this.layeringState = pLayerState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setOutputState(RenderStateShard.OutputStateShard pOutputState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setOutputState(RenderStateShard.OutputStateShard pOutputState) {
this.outputState = pOutputState; this.outputState = pOutputState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setTexturingState(RenderStateShard.TexturingStateShard pTexturingState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setTexturingState(RenderStateShard.TexturingStateShard pTexturingState) {
this.texturingState = pTexturingState; this.texturingState = pTexturingState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setWriteMaskState(RenderStateShard.WriteMaskStateShard pWriteMaskState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setWriteMaskState(RenderStateShard.WriteMaskStateShard pWriteMaskState) {
this.writeMaskState = pWriteMaskState; this.writeMaskState = pWriteMaskState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setLineState(RenderStateShard.LineStateShard pLineState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setLineState(RenderStateShard.LineStateShard pLineState) {
this.lineState = pLineState; this.lineState = pLineState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setColorLogicState(RenderStateShard.ColorLogicStateShard pColorLogicState) { public TiedUpRenderTypes.MutableCompositeState.MutableCompositeStateBuilder setColorLogicState(RenderStateShard.ColorLogicStateShard pColorLogicState) {
this.colorLogicState = pColorLogicState; this.colorLogicState = pColorLogicState;
return this; return this;
} }
public EpicFightRenderTypes.MutableCompositeState createCompositeState(boolean pOutline) { public TiedUpRenderTypes.MutableCompositeState createCompositeState(boolean pOutline) {
return this.createCompositeState(pOutline ? RenderType.OutlineProperty.AFFECTS_OUTLINE : RenderType.OutlineProperty.NONE); return this.createCompositeState(pOutline ? RenderType.OutlineProperty.AFFECTS_OUTLINE : RenderType.OutlineProperty.NONE);
} }
public EpicFightRenderTypes.MutableCompositeState createCompositeState(RenderType.OutlineProperty pOutlineState) { public TiedUpRenderTypes.MutableCompositeState createCompositeState(RenderType.OutlineProperty pOutlineState) {
return new EpicFightRenderTypes.MutableCompositeState( return new TiedUpRenderTypes.MutableCompositeState(
this.textureState, this.textureState,
this.shaderState, this.shaderState,
this.transparencyState, this.transparencyState,
@@ -288,7 +288,7 @@ public final class EpicFightRenderTypes extends RenderType {
private static final RenderType ENTITY_UI_COLORED = private static final RenderType ENTITY_UI_COLORED =
create( create(
EpicFightMod.prefix("ui_color") TiedUpRigConstants.prefix("ui_color")
, DefaultVertexFormat.POSITION_COLOR , DefaultVertexFormat.POSITION_COLOR
, VertexFormat.Mode.QUADS , VertexFormat.Mode.QUADS
, 256 , 256
@@ -304,7 +304,7 @@ public final class EpicFightRenderTypes extends RenderType {
private static final Function<ResourceLocation, RenderType> ENTITY_UI_TEXTURE = Util.memoize( private static final Function<ResourceLocation, RenderType> ENTITY_UI_TEXTURE = Util.memoize(
(textureLocation) -> create( (textureLocation) -> create(
EpicFightMod.prefix("ui_texture") TiedUpRigConstants.prefix("ui_texture")
, DefaultVertexFormat.POSITION_TEX , DefaultVertexFormat.POSITION_TEX
, VertexFormat.Mode.QUADS , VertexFormat.Mode.QUADS
, 256 , 256
@@ -321,7 +321,7 @@ public final class EpicFightRenderTypes extends RenderType {
); );
private static final RenderType OBB = create( private static final RenderType OBB = create(
EpicFightMod.prefix("debug_collider") TiedUpRigConstants.prefix("debug_collider")
, DefaultVertexFormat.POSITION_COLOR_NORMAL , DefaultVertexFormat.POSITION_COLOR_NORMAL
, VertexFormat.Mode.LINE_STRIP , VertexFormat.Mode.LINE_STRIP
, 256 , 256
@@ -339,7 +339,7 @@ public final class EpicFightRenderTypes extends RenderType {
); );
private static final RenderType DEBUG_QUADS = create( private static final RenderType DEBUG_QUADS = create(
EpicFightMod.prefix("debug_quad") TiedUpRigConstants.prefix("debug_quad")
, DefaultVertexFormat.POSITION_COLOR , DefaultVertexFormat.POSITION_COLOR
, VertexFormat.Mode.QUADS , VertexFormat.Mode.QUADS
, 256 , 256
@@ -355,7 +355,7 @@ public final class EpicFightRenderTypes extends RenderType {
); );
private static final RenderType GUI_TRIANGLE = create( private static final RenderType GUI_TRIANGLE = create(
EpicFightMod.prefix("gui_triangle") TiedUpRigConstants.prefix("gui_triangle")
, DefaultVertexFormat.POSITION_COLOR , DefaultVertexFormat.POSITION_COLOR
, VertexFormat.Mode.TRIANGLES , VertexFormat.Mode.TRIANGLES
, 256 , 256
@@ -370,7 +370,7 @@ public final class EpicFightRenderTypes extends RenderType {
private static final Function<ResourceLocation, RenderType> OVERLAY_MODEL = Util.memoize(texLocation -> { private static final Function<ResourceLocation, RenderType> OVERLAY_MODEL = Util.memoize(texLocation -> {
return create( return create(
EpicFightMod.prefix("overlay_model"), TiedUpRigConstants.prefix("overlay_model"),
DefaultVertexFormat.NEW_ENTITY, DefaultVertexFormat.NEW_ENTITY,
VertexFormat.Mode.TRIANGLES, VertexFormat.Mode.TRIANGLES,
256, 256,
@@ -391,7 +391,7 @@ public final class EpicFightRenderTypes extends RenderType {
private static final RenderType ENTITY_AFTERIMAGE_WHITE = private static final RenderType ENTITY_AFTERIMAGE_WHITE =
create( create(
EpicFightMod.prefix("entity_afterimage"), TiedUpRigConstants.prefix("entity_afterimage"),
DefaultVertexFormat.PARTICLE, DefaultVertexFormat.PARTICLE,
VertexFormat.Mode.TRIANGLES, VertexFormat.Mode.TRIANGLES,
256, 256,
@@ -399,7 +399,7 @@ public final class EpicFightRenderTypes extends RenderType {
true, true,
RenderType.CompositeState.builder() RenderType.CompositeState.builder()
.setShaderState(PARTICLE_SHADER) .setShaderState(PARTICLE_SHADER)
.setTextureState(new RenderStateShard.TextureStateShard(EpicFightMod.identifier("textures/common/white.png"), false, false)) .setTextureState(new RenderStateShard.TextureStateShard(TiedUpRigConstants.identifier("textures/common/white.png"), false, false))
.setCullState(NO_CULL) .setCullState(NO_CULL)
.setWriteMaskState(COLOR_WRITE) .setWriteMaskState(COLOR_WRITE)
.setDepthTestState(EQUAL_DEPTH_TEST) .setDepthTestState(EQUAL_DEPTH_TEST)
@@ -410,7 +410,7 @@ public final class EpicFightRenderTypes extends RenderType {
private static final RenderType ITEM_AFTERIMAGE_WHITE = private static final RenderType ITEM_AFTERIMAGE_WHITE =
create( create(
EpicFightMod.prefix("item_afterimage"), TiedUpRigConstants.prefix("item_afterimage"),
DefaultVertexFormat.PARTICLE, DefaultVertexFormat.PARTICLE,
VertexFormat.Mode.QUADS, VertexFormat.Mode.QUADS,
256, 256,
@@ -418,7 +418,7 @@ public final class EpicFightRenderTypes extends RenderType {
true, true,
RenderType.CompositeState.builder() RenderType.CompositeState.builder()
.setShaderState(PARTICLE_SHADER) .setShaderState(PARTICLE_SHADER)
.setTextureState(new RenderStateShard.TextureStateShard(EpicFightMod.identifier("textures/common/white.png"), false, false)) .setTextureState(new RenderStateShard.TextureStateShard(TiedUpRigConstants.identifier("textures/common/white.png"), false, false))
.setCullState(NO_CULL) .setCullState(NO_CULL)
.setWriteMaskState(COLOR_WRITE) .setWriteMaskState(COLOR_WRITE)
.setDepthTestState(EQUAL_DEPTH_TEST) .setDepthTestState(EQUAL_DEPTH_TEST)
@@ -429,7 +429,7 @@ public final class EpicFightRenderTypes extends RenderType {
private static final Function<ResourceLocation, RenderType> ENTITY_PARTICLE = Util.memoize(texLocation -> { private static final Function<ResourceLocation, RenderType> ENTITY_PARTICLE = Util.memoize(texLocation -> {
return create( return create(
EpicFightMod.prefix("entity_particle"), TiedUpRigConstants.prefix("entity_particle"),
DefaultVertexFormat.NEW_ENTITY, DefaultVertexFormat.NEW_ENTITY,
VertexFormat.Mode.TRIANGLES, VertexFormat.Mode.TRIANGLES,
256, 256,
@@ -449,7 +449,7 @@ public final class EpicFightRenderTypes extends RenderType {
private static final RenderType ITEM_PARTICLE = private static final RenderType ITEM_PARTICLE =
create( create(
EpicFightMod.prefix("item_particle"), TiedUpRigConstants.prefix("item_particle"),
DefaultVertexFormat.NEW_ENTITY, DefaultVertexFormat.NEW_ENTITY,
VertexFormat.Mode.QUADS, VertexFormat.Mode.QUADS,
256, 256,
@@ -468,7 +468,7 @@ public final class EpicFightRenderTypes extends RenderType {
private static final Function<ResourceLocation, RenderType> ENTITY_PARTICLE_STENCIL = Util.memoize(texLocation -> { private static final Function<ResourceLocation, RenderType> ENTITY_PARTICLE_STENCIL = Util.memoize(texLocation -> {
return create( return create(
EpicFightMod.prefix("entity_particle_stencil"), TiedUpRigConstants.prefix("entity_particle_stencil"),
DefaultVertexFormat.POSITION_TEX, DefaultVertexFormat.POSITION_TEX,
VertexFormat.Mode.TRIANGLES, VertexFormat.Mode.TRIANGLES,
256, 256,
@@ -484,7 +484,7 @@ public final class EpicFightRenderTypes extends RenderType {
private static final RenderType ITEM_PARTICLE_STENCIL = private static final RenderType ITEM_PARTICLE_STENCIL =
create( create(
EpicFightMod.prefix("item_particle_stencil"), TiedUpRigConstants.prefix("item_particle_stencil"),
DefaultVertexFormat.POSITION_TEX, DefaultVertexFormat.POSITION_TEX,
VertexFormat.Mode.QUADS, VertexFormat.Mode.QUADS,
256, 256,
@@ -499,14 +499,14 @@ public final class EpicFightRenderTypes extends RenderType {
private static final RenderType.CompositeRenderType BLOCK_HIGHLIGHT = private static final RenderType.CompositeRenderType BLOCK_HIGHLIGHT =
create( create(
EpicFightMod.prefix("block_highlight"), TiedUpRigConstants.prefix("block_highlight"),
DefaultVertexFormat.BLOCK, DefaultVertexFormat.BLOCK,
VertexFormat.Mode.QUADS, VertexFormat.Mode.QUADS,
256, 256,
false, false,
true, true,
RenderType.CompositeState.builder() RenderType.CompositeState.builder()
.setTextureState(new RenderStateShard.TextureStateShard(EpicFightMod.identifier("textures/common/white.png"), false, false)) .setTextureState(new RenderStateShard.TextureStateShard(TiedUpRigConstants.identifier("textures/common/white.png"), false, false))
.setLightmapState(LIGHTMAP) .setLightmapState(LIGHTMAP)
.setShaderState(RENDERTYPE_TRANSLUCENT_SHADER) .setShaderState(RENDERTYPE_TRANSLUCENT_SHADER)
.setTransparencyState(TRANSLUCENT_TRANSPARENCY) .setTransparencyState(TRANSLUCENT_TRANSPARENCY)
@@ -627,15 +627,15 @@ public final class EpicFightRenderTypes extends RenderType {
CompositeRenderType glintRenderType = WORLD_RENDERTYPES_COLORED_GLINT.computeIfAbsent( CompositeRenderType glintRenderType = WORLD_RENDERTYPES_COLORED_GLINT.computeIfAbsent(
owner, owner,
k -> create( k -> create(
EpicFightMod.prefix("colored_glint"), TiedUpRigConstants.prefix("colored_glint"),
DefaultVertexFormat.POSITION_TEX, DefaultVertexFormat.POSITION_TEX,
VertexFormat.Mode.TRIANGLES, VertexFormat.Mode.TRIANGLES,
256, 256,
false, false,
false, false,
EpicFightRenderTypes.MutableCompositeState.mutableStateBuilder() TiedUpRenderTypes.MutableCompositeState.mutableStateBuilder()
.setShaderState(RENDERTYPE_ARMOR_ENTITY_GLINT_SHADER) .setShaderState(RENDERTYPE_ARMOR_ENTITY_GLINT_SHADER)
.setTextureState(new RenderStateShard.TextureStateShard(EpicFightMod.identifier("textures/entity/overlay/glint_white.png"), true, false)) .setTextureState(new RenderStateShard.TextureStateShard(TiedUpRigConstants.identifier("textures/entity/overlay/glint_white.png"), true, false))
.setWriteMaskState(COLOR_WRITE) .setWriteMaskState(COLOR_WRITE)
.setCullState(NO_CULL) .setCullState(NO_CULL)
.setDepthTestState(EQUAL_DEPTH_TEST) .setDepthTestState(EQUAL_DEPTH_TEST)
@@ -654,7 +654,7 @@ public final class EpicFightRenderTypes extends RenderType {
} }
//Util class //Util class
private EpicFightRenderTypes() { private TiedUpRenderTypes() {
super(null, null, null, -1, false, false, null, null); super(null, null, null, -1, false, false, null, null);
} }
} }