Skip to content

Commit

Permalink
im a genius. temporal dilation works!!!
Browse files Browse the repository at this point in the history
  • Loading branch information
CammiePone committed Jan 20, 2025
1 parent e54dac4 commit 6ca723b
Show file tree
Hide file tree
Showing 80 changed files with 488 additions and 545 deletions.
6 changes: 3 additions & 3 deletions src/main/generated/assets/arcanuscontinuum/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,12 @@
"arcanuscontinuum.spell_component.arcanuscontinuum.electric_effect": "Electric Effect",
"arcanuscontinuum.spell_component.arcanuscontinuum.empty": "EMPTY",
"arcanuscontinuum.spell_component.arcanuscontinuum.enlarge_effect": "Enlarge Effect",
"arcanuscontinuum.spell_component.arcanuscontinuum.entangled_orb_shape": "Entangled Orb Shape",
"arcanuscontinuum.spell_component.arcanuscontinuum.feather_effect": "Feather Effect",
"arcanuscontinuum.spell_component.arcanuscontinuum.fire_effect": "Fire Effect",
"arcanuscontinuum.spell_component.arcanuscontinuum.float_effect": "Float Effect",
"arcanuscontinuum.spell_component.arcanuscontinuum.fortify_effect": "Fortify Effect",
"arcanuscontinuum.spell_component.arcanuscontinuum.growth_effect": "Growth Effect",
"arcanuscontinuum.spell_component.arcanuscontinuum.guardian_orb_shape": "Guardian Orb Shape",
"arcanuscontinuum.spell_component.arcanuscontinuum.guided_shot_shape": "Guided Shot Shape",
"arcanuscontinuum.spell_component.arcanuscontinuum.haste_effect": "Haste Effect",
"arcanuscontinuum.spell_component.arcanuscontinuum.heal_effect": "Heal Effect",
Expand Down Expand Up @@ -147,12 +147,12 @@
"config.arcanuscontinuum.enabled": "Enabled (Requires Restart)",
"config.arcanuscontinuum.enchantments_category": "Enchantments",
"config.arcanuscontinuum.enlargeEffectProperties": "Enlarge Effect",
"config.arcanuscontinuum.entangledOrbShapeProperties": "Entangled Orb Shape",
"config.arcanuscontinuum.featherEffectProperties": "Feather Effect",
"config.arcanuscontinuum.fireEffectProperties": "Fire Effect",
"config.arcanuscontinuum.floatEffectProperties": "Float Effect",
"config.arcanuscontinuum.fortifyEffectProperties": "Fortify Effect",
"config.arcanuscontinuum.growthEffectProperties": "Growth Effect",
"config.arcanuscontinuum.guardianOrbShapeProperties": "Guardian Orb Shape",
"config.arcanuscontinuum.hasteEffectProperties": "Haste Effect",
"config.arcanuscontinuum.healEffectProperties": "Heal Effect",
"config.arcanuscontinuum.iceEffectProperties": "Ice Effect",
Expand Down Expand Up @@ -240,7 +240,7 @@
"entity.arcanuscontinuum.aggressorb": "Aggressorb",
"entity.arcanuscontinuum.area_of_effect": "Area Of Effect",
"entity.arcanuscontinuum.beam": "Beam",
"entity.arcanuscontinuum.guardian_orb": "Guardian Orb",
"entity.arcanuscontinuum.entangled_orb": "Entangled Orb",
"entity.arcanuscontinuum.magic_projectile": "Magic Projectile",
"entity.arcanuscontinuum.magic_rune": "Magic Rune",
"entity.arcanuscontinuum.mana_shield": "Mana Shield",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"values": [
"arcanuscontinuum:aggressorb",
"arcanuscontinuum:area_of_effect",
"arcanuscontinuum:guardian_orb",
"arcanuscontinuum:entangled_orb",
"arcanuscontinuum:magic_rune",
"arcanuscontinuum:mana_shield",
"arcanuscontinuum:necro_skeleton",
Expand Down
28 changes: 0 additions & 28 deletions src/main/java/dev/cammiescorner/arcanuscontinuum/Arcanus.java
Original file line number Diff line number Diff line change
Expand Up @@ -124,18 +124,9 @@ public void onInitialize() {
SyncStatusEffectPacket.sendToAll(handler.player, ArcanusMobEffects.ANONYMITY.get(), handler.player.hasEffect(ArcanusMobEffects.ANONYMITY.get()));
});

ServerPlayConnectionEvents.DISCONNECT.register((handler, server) -> {
if(ArcanusComponents.areUpdatesBlocked(handler.player))
ArcanusComponents.setBlockUpdates(handler.player, false);
});

EntityTrackingEvents.START_TRACKING.register((trackedEntity, player) -> {
if(trackedEntity instanceof ServerPlayer playerEntity)
SyncStatusEffectPacket.sendTo(player, playerEntity, ArcanusMobEffects.ANONYMITY.get(), playerEntity.hasEffect(ArcanusMobEffects.ANONYMITY.get()));

// FIXME temporal dilation no worky
// if(trackedEntity instanceof LivingEntity livingEntity)
// SyncStatusEffectPacket.sendTo(player, livingEntity, ArcanusStatusEffects.TEMPORAL_DILATION.get(), livingEntity.hasStatusEffect(ArcanusStatusEffects.TEMPORAL_DILATION.get()));
});

EntitySleepEvents.STOP_SLEEPING.register((entity, sleepingPos) -> {
Expand Down Expand Up @@ -185,25 +176,6 @@ public void onInitialize() {

return InteractionResult.PASS;
});

// FIXME temporal dilation no worky
// ServerWorldTickEvents.END.register((server, world) -> {
// List<Entity> loadedEntityList = new ArrayList<>();
// world.iterateEntities().forEach(loadedEntityList::add);
// StatusEffect statusEffect = ArcanusStatusEffects.TEMPORAL_DILATION.get();
// float radius = 3;
//
// for(Entity entity : loadedEntityList) {
// if(ArcanusComponents.isTimeSlowed(entity)) {
// List<Entity> targets = world.getOtherEntities(entity, new Box(-radius, -radius, -radius, radius, radius, radius).offset(entity.getPos()), target -> target.squaredDistanceTo(entity) <= radius * radius);
//
// if(targets.stream().noneMatch(target -> target instanceof LivingEntity livingTarget && livingTarget.hasStatusEffect(statusEffect))) {
// ArcanusComponents.setSlowTime(entity, false);
// ArcanusComponents.setBlockUpdates(entity, false);
// }
// }
// }
// });
}

public static ResourceLocation id(String name) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -393,8 +393,8 @@ public static final class SmiteShapeProperties {
public static double potencyModifier = 0.5;
}

@Category(id = "guardianOrbShapeProperties", translation = "config.arcanuscontinuum.guardianOrbShapeProperties", sortOrder = 11)
public static final class GuardianOrbShapeProperties {
@Category(id = "entangledOrbShapeProperties", translation = "config.arcanuscontinuum.entangledOrbShapeProperties", sortOrder = 11)
public static final class EntangledOrbShapeProperties {
@ConfigEntry(id = "enabled", type = EntryType.BOOLEAN, translation = "config.arcanuscontinuum.enabled")
public static boolean enabled = true;

Expand Down Expand Up @@ -967,11 +967,10 @@ public static final class DangerSenseEffectProperties {
public static double baseChanceToActivate = 0.035;
}

// TODO uncomment this when we get temporal dilation working & set enabled to true
// @Category(id = "temporalDilationEffectProperties", translation = "config.arcanuscontinuum.temporalDilationEffectProperties", sortOrder = 7)
@Category(id = "temporalDilationEffectProperties", translation = "config.arcanuscontinuum.temporalDilationEffectProperties", sortOrder = 7)
public static final class TemporalDilationEffectProperties {
@ConfigEntry(id = "enabled", type = EntryType.BOOLEAN, translation = "config.arcanuscontinuum.enabled")
public static boolean enabled = false;
public static boolean enabled = true;

@ConfigEntry(id = "weight", type = EntryType.ENUM, translation = "config.arcanuscontinuum.weight")
public static Weight weight = Weight.NONE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public static SpellGroup fromNbt(CompoundTag tag) {
String nbtId = nbtEffects.getString(i);
ResourceLocation correctedId = switch(nbtId) {
case "arcanuscontinuum:explosion_shape" -> ArcanusSpellComponents.BURST.getId();
case "arcanuscontinuum:guardian_orb_shape" -> ArcanusSpellComponents.GUARDIAN_ORB.getId();
case "arcanuscontinuum:guardian_orb_shape" -> ArcanusSpellComponents.ENTANGLED_ORB.getId();
case "arcanuscontinuum:aggressorb_shape" -> ArcanusSpellComponents.AGGRESSORB.getId();
default -> new ResourceLocation(nbtId);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
import dev.cammiescorner.arcanuscontinuum.client.gui.screens.SpellcraftScreen;
import dev.cammiescorner.arcanuscontinuum.client.models.armour.BattleMageArmourModel;
import dev.cammiescorner.arcanuscontinuum.client.models.armour.WizardArmourModel;
import dev.cammiescorner.arcanuscontinuum.client.models.entity.living.OpossumEntityModel;
import dev.cammiescorner.arcanuscontinuum.client.models.entity.living.WizardEntityModel;
import dev.cammiescorner.arcanuscontinuum.client.models.entity.living.OpossumModel;
import dev.cammiescorner.arcanuscontinuum.client.models.entity.living.WizardModel;
import dev.cammiescorner.arcanuscontinuum.client.models.entity.magic.*;
import dev.cammiescorner.arcanuscontinuum.client.models.feature.HaloModel;
import dev.cammiescorner.arcanuscontinuum.client.models.feature.SpellPatternModel;
Expand Down Expand Up @@ -102,18 +102,19 @@ public void onInitializeClient() {

EntityModelLayerRegistry.registerModelLayer(WizardArmourModel.MODEL_LAYER, WizardArmourModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(BattleMageArmourModel.MODEL_LAYER, BattleMageArmourModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(WizardEntityModel.MODEL_LAYER, WizardEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(OpossumEntityModel.MODEL_LAYER, OpossumEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(MagicLobEntityModel.MODEL_LAYER, MagicLobEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(MagicProjectileEntityModel.MODEL_LAYER, MagicProjectileEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(MagicRuneEntityModel.MODEL_LAYER, MagicRuneEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(AreaOfEffectEntityModel.MODEL_LAYER, AreaOfEffectEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(WizardModel.MODEL_LAYER, WizardModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(OpossumModel.MODEL_LAYER, OpossumModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(MagicLobModel.MODEL_LAYER, MagicLobModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(MagicProjectileModel.MODEL_LAYER, MagicProjectileModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(MagicRuneModel.MODEL_LAYER, MagicRuneModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(AreaOfEffectModel.MODEL_LAYER, AreaOfEffectModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(SpellPatternModel.MODEL_LAYER, SpellPatternModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(HaloModel.MODEL_LAYER, HaloModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(GuardianOrbEntityModel.MODEL_LAYER, GuardianOrbEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(PocketDimensionPortalEntityModel.MODEL_LAYER, PocketDimensionPortalEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(SpatialRiftEntitySigilModel.MODEL_LAYER, SpatialRiftEntitySigilModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(AggressorbEntityModel.MODEL_LAYER, AggressorbEntityModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(EntangledOrbModel.MODEL_LAYER, EntangledOrbModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(PocketDimensionPortalModel.MODEL_LAYER, PocketDimensionPortalModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(SpatialRiftSigilModel.MODEL_LAYER, SpatialRiftSigilModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(AggressorbModel.MODEL_LAYER, AggressorbModel::getTexturedModelData);
EntityModelLayerRegistry.registerModelLayer(TemporalDilationFieldModel.MODEL_LAYER, TemporalDilationFieldModel::getTexturedModelData);

EntityRendererRegistry.register(ArcanusEntities.WIZARD.get(), WizardEntityRenderer::new);
EntityRendererRegistry.register(ArcanusEntities.OPOSSUM.get(), OpossumEntityRenderer::new);
Expand All @@ -124,9 +125,10 @@ public void onInitializeClient() {
EntityRendererRegistry.register(ArcanusEntities.SMITE.get(), SmiteEntityRenderer::new);
EntityRendererRegistry.register(ArcanusEntities.MAGIC_RUNE.get(), MagicRuneEntityRenderer::new);
EntityRendererRegistry.register(ArcanusEntities.BEAM.get(), BeamEntityRenderer::new);
EntityRendererRegistry.register(ArcanusEntities.GUARDIAN_ORB.get(), GuardianOrbEntityRenderer::new);
EntityRendererRegistry.register(ArcanusEntities.ENTANGLED_ORB.get(), EntangledOrbEntityRenderer::new);
EntityRendererRegistry.register(ArcanusEntities.PORTAL.get(), PocketDimensionPortalEntityRenderer::new);
EntityRendererRegistry.register(ArcanusEntities.AGGRESSORB.get(), AggressorbEntityRenderer::new);
EntityRendererRegistry.register(ArcanusEntities.TEMPORAL_DILATION_FIELD.get(), TemporalDilationFieldRenderer::new);

ArmorRenderer.register(new WizardArmourRenderer(), ArcanusItems.WIZARD_HAT.get(), ArcanusItems.WIZARD_ROBES.get(), ArcanusItems.WIZARD_PANTS.get(), ArcanusItems.WIZARD_BOOTS.get());
ArmorRenderer.register(new BattleMageArmourRenderer(), ArcanusItems.BATTLE_MAGE_HELMET.get(), ArcanusItems.BATTLE_MAGE_CHESTPLATE.get(), ArcanusItems.BATTLE_MAGE_LEGGINGS.get(), ArcanusItems.BATTLE_MAGE_BOOTS.get());
Expand Down Expand Up @@ -323,36 +325,6 @@ public void onInitializeClient() {
}
}
});

// ClientEntityTickCallback.EVENT.register((entity, isPassengerTick) -> {
// if (ArcanusComponents.isTimeSlowed(entity)) {
// entity.setVelocity(entity.getVelocity().multiply(1d / 2d));
// entity.velocityModified = true;
// }
// });

// FIXME temporal dilation no worky
// ClientTickEvents.END.register(mcClient -> {
// ClientWorld world = mcClient.world;
//
// if(world != null && !mcClient.isPaused()) {
// List<Entity> loadedEntityList = new ArrayList<>();
// world.getEntities().forEach(loadedEntityList::add);
// StatusEffect statusEffect = ArcanusStatusEffects.TEMPORAL_DILATION.get();
// float radius = 3;
//
// for(Entity entity : loadedEntityList) {
// if(ArcanusComponents.isTimeSlowed(entity)) {
// List<Entity> targets = world.getOtherEntities(entity, new Box(-radius, -radius, -radius, radius, radius, radius).offset(entity.getPos()), target -> target.squaredDistanceTo(entity) <= radius * radius);
//
// if(targets.stream().noneMatch(target -> target instanceof LivingEntity livingTarget && livingTarget.hasStatusEffect(statusEffect))) {
// ArcanusComponents.setSlowTime(entity, false);
// ArcanusComponents.setBlockUpdates(entity, false);
// }
// }
// }
// }
// });
}

public static void renderBolts(LivingEntity entity, Vec3 startPos, PoseStack matrices, MultiBufferSource vertices) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import dev.cammiescorner.arcanuscontinuum.Arcanus;
import dev.cammiescorner.arcanuscontinuum.common.entities.living.OpossumEntity;
import dev.cammiescorner.arcanuscontinuum.common.entities.living.Opossum;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.util.Mth;

public class OpossumEntityModel extends EntityModel<OpossumEntity> {
public class OpossumModel extends EntityModel<Opossum> {
public static final ModelLayerLocation MODEL_LAYER = new ModelLayerLocation(Arcanus.id("opossum"), "main");
public final ModelPart head;
public final ModelPart hat;
Expand All @@ -23,7 +23,7 @@ public class OpossumEntityModel extends EntityModel<OpossumEntity> {
public final ModelPart tailBase;
public final ModelPart tailEnd;

public OpossumEntityModel(ModelPart root) {
public OpossumModel(ModelPart root) {
this.head = root.getChild("head");
this.hat = head.getChild("hat");
this.body = root.getChild("body");
Expand Down Expand Up @@ -70,7 +70,7 @@ public void renderToBuffer(PoseStack matrices, VertexConsumer vertexConsumer, in
}

@Override
public void setupAnim(OpossumEntity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
public void setupAnim(Opossum entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
head.xRot = headPitch * 0.017453292F;
head.yRot = netHeadYaw * 0.017453292F;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import dev.cammiescorner.arcanuscontinuum.Arcanus;
import dev.cammiescorner.arcanuscontinuum.common.entities.living.WizardEntity;
import dev.cammiescorner.arcanuscontinuum.common.entities.living.Wizard;
import net.minecraft.client.model.ArmedModel;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.HeadedModel;
Expand All @@ -14,7 +14,7 @@
import net.minecraft.util.Mth;
import net.minecraft.world.entity.HumanoidArm;

public class WizardEntityModel extends EntityModel<WizardEntity> implements ArmedModel, HeadedModel {
public class WizardModel extends EntityModel<Wizard> implements ArmedModel, HeadedModel {
public static final ModelLayerLocation MODEL_LAYER = new ModelLayerLocation(Arcanus.id("wizard"), "main");
public final ModelPart head;
public final ModelPart leftArm;
Expand All @@ -23,7 +23,7 @@ public class WizardEntityModel extends EntityModel<WizardEntity> implements Arme
public final ModelPart leftLeg;
public final ModelPart rightLeg;

public WizardEntityModel(ModelPart root) {
public WizardModel(ModelPart root) {
this.head = root.getChild("head");
this.leftArm = root.getChild("leftArm");
this.rightArm = root.getChild("rightArm");
Expand Down Expand Up @@ -73,7 +73,7 @@ public void renderToBuffer(PoseStack matrices, VertexConsumer vertexConsumer, in
}

@Override
public void setupAnim(WizardEntity wizard, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) {
public void setupAnim(Wizard wizard, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) {
rightArm.xRot = Mth.cos(limbAngle * 0.6662F + (float) Math.PI) * 2.0F * limbDistance * 0.5F;
leftArm.xRot = Mth.cos(limbAngle * 0.6662F) * 2.0F * limbDistance * 0.5F;
rightArm.yRot = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import dev.cammiescorner.arcanuscontinuum.Arcanus;
import dev.cammiescorner.arcanuscontinuum.common.entities.magic.AggressorbEntity;
import dev.cammiescorner.arcanuscontinuum.common.entities.magic.Aggressorb;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;

public class AggressorbEntityModel extends EntityModel<AggressorbEntity> {
public class AggressorbModel extends EntityModel<Aggressorb> {
public static final ModelLayerLocation MODEL_LAYER = new ModelLayerLocation(Arcanus.id("aggressorb"), "main");
public final ModelPart cube1;
public final ModelPart cube2;
public final ModelPart cube3;

public AggressorbEntityModel(ModelPart root) {
public AggressorbModel(ModelPart root) {
this.cube1 = root.getChild("cube1");
this.cube2 = root.getChild("cube2");
this.cube3 = root.getChild("cube3");
Expand All @@ -41,7 +41,7 @@ public void renderToBuffer(PoseStack matrices, VertexConsumer vertexConsumer, in
}

@Override
public void setupAnim(AggressorbEntity entity, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) {
public void setupAnim(Aggressorb entity, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) {

}
}
Loading

0 comments on commit 6ca723b

Please sign in to comment.