Skip to content

Commit

Permalink
added tag for temporal dilation immunity
Browse files Browse the repository at this point in the history
  • Loading branch information
CammiePone committed Jan 24, 2025
1 parent d0a8057 commit b7e24ed
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 5 deletions.
1 change: 1 addition & 0 deletions src/main/generated/assets/arcanuscontinuum/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,7 @@
"tag.entity_type.arcanuscontinuum.dispellable": "Dispellable",
"tag.entity_type.arcanuscontinuum.magic_rune_ignored": "Does not trigger Magic Runes",
"tag.entity_type.arcanuscontinuum.spatial_rift_immune": "Immune to Spatial Rifts",
"tag.entity_type.arcanuscontinuum.temporal_dilation_immune": "Immune to Temporal Dilation Fields",
"tag.entity_type.c.immovable": "Immovable",
"tag.item.arcanuscontinuum.copper_curse_immune": "Ignored by Copper Curse",
"tag.item.arcanuscontinuum.crafting.spellbinding_acceptable_spellbooks": "Spellbooks",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"arcanuscontinuum:magic_rune",
"arcanuscontinuum:mana_shield",
"arcanuscontinuum:necro_skeleton",
"arcanuscontinuum:pocket_dimension_portal"
"arcanuscontinuum:pocket_dimension_portal",
"arcanuscontinuum:temporal_dilation_field"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"arcanuscontinuum:temporal_dilation_field"
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
import net.minecraft.world.entity.EntityType;

public class ArcanusEntityTags {

public static final TagKey<EntityType<?>> DISPELLABLE = TagKey.create(Registries.ENTITY_TYPE, Arcanus.id("dispellable"));
public static final TagKey<EntityType<?>> SPATIAL_RIFT_IMMUNE = TagKey.create(Registries.ENTITY_TYPE, Arcanus.id("spatial_rift_immune"));
public static final TagKey<EntityType<?>> TEMPORAL_DILATION_IMMUNE = TagKey.create(Registries.ENTITY_TYPE, Arcanus.id("temporal_dilation_immune"));
public static final TagKey<EntityType<?>> RUNE_TRIGGER_IGNORED = TagKey.create(Registries.ENTITY_TYPE, Arcanus.id("magic_rune_ignored"));

public static final TagKey<EntityType<?>> C_IMMOVABLE = ConventionsHelper.tag(Registries.ENTITY_TYPE, "immovable");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import dev.cammiescorner.arcanuscontinuum.Arcanus;
import dev.cammiescorner.arcanuscontinuum.api.entities.Targetable;
import dev.cammiescorner.arcanuscontinuum.common.components.MagicColorComponent;
import dev.cammiescorner.arcanuscontinuum.common.data.ArcanusEntityTags;
import dev.cammiescorner.arcanuscontinuum.common.entities.magic.TemporalDilationField;
import dev.cammiescorner.arcanuscontinuum.common.registry.ArcanusComponents;
import dev.cammiescorner.arcanuscontinuum.common.util.supporters.WizardData;
Expand All @@ -21,8 +22,7 @@

public class ArcanusHelper {
public static boolean shouldTimeDilate(Entity target, Level level) {
// TODO replace !instanceof check with tag
return !(target instanceof TemporalDilationField) && !level.getEntities(target, target.getBoundingBox(), entity -> entity instanceof TemporalDilationField && entity.position().add(0, 4.5, 0).distanceTo(target.position()) <= entity.getBbWidth() / 2).isEmpty();
return !target.getType().is(ArcanusEntityTags.TEMPORAL_DILATION_IMMUNE) && !level.getEntities(target, target.getBoundingBox(), entity -> entity instanceof TemporalDilationField && entity.position().add(0, 4.5, 0).distanceTo(target.position()) <= entity.getBbWidth() / 2).isEmpty();
}

public static Color getMagicColor(@Nullable Object provider) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ public void generateTranslations(TranslationBuilder builder) {
tag(builder, ArcanusEntityTags.DISPELLABLE, "Dispellable");
tag(builder, ArcanusEntityTags.RUNE_TRIGGER_IGNORED, "Does not trigger Magic Runes");
tag(builder, ArcanusEntityTags.SPATIAL_RIFT_IMMUNE, "Immune to Spatial Rifts");
tag(builder, ArcanusEntityTags.TEMPORAL_DILATION_IMMUNE, "Immune to Temporal Dilation Fields");

tag(builder, ArcanusEnchantmentTags.MANA_POOL_COMPATIBLE_WITH, "Compatible enchantments for Mana Pool");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ protected void addTags(HolderLookup.Provider arg) {
.add(ArcanusEntities.MAGIC_RUNE.get())
.add(ArcanusEntities.MANA_SHIELD.get())
.add(ArcanusEntities.NECRO_SKELETON.get())
.add(ArcanusEntities.PORTAL.get());
.add(ArcanusEntities.PORTAL.get())
.add(ArcanusEntities.TEMPORAL_DILATION_FIELD.getId());

getOrCreateTagBuilder(ArcanusEntityTags.SPATIAL_RIFT_IMMUNE)
.forceAddTag(ConventionalEntityTypeTags.BOSSES)
Expand All @@ -54,6 +55,9 @@ protected void addTags(HolderLookup.Provider arg) {
.add(EntityType.TEXT_DISPLAY)
.add(ArcanusEntities.PORTAL.get());

getOrCreateTagBuilder(ArcanusEntityTags.TEMPORAL_DILATION_IMMUNE)
.add(ArcanusEntities.TEMPORAL_DILATION_FIELD.get());

getOrCreateTagBuilder(ArcanusEntityTags.RUNE_TRIGGER_IGNORED)
.addOptionalTag(ArcanusEntityTags.C_IMMOVABLE);
}
Expand Down

0 comments on commit b7e24ed

Please sign in to comment.