diff --git a/build.gradle.kts b/build.gradle.kts index e5ff1c7..620ba3a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ java.sourceCompatibility = JavaVersion.VERSION_25 group = "com.github.SkriptDev" val projectVersion = "1.7.0" -val hytaleVersion = "0.5.0" +val hytaleVersion = "0.6.0-pre.6" // You can find Hytale versions on their maven repo: // https://maven.hytale.com/release/com/hypixel/hytale/Server/maven-metadata.xml // https://maven.hytale.com/pre-release/com/hypixel/hytale/Server/maven-metadata.xml diff --git a/src/main/java/com/github/skriptdev/skript/api/hytale/objects/Block.java b/src/main/java/com/github/skriptdev/skript/api/hytale/objects/Block.java index 8a0ae3e..4cfc4f3 100644 --- a/src/main/java/com/github/skriptdev/skript/api/hytale/objects/Block.java +++ b/src/main/java/com/github/skriptdev/skript/api/hytale/objects/Block.java @@ -264,6 +264,7 @@ public void damage(@Nullable LivingEntity performer, @Nullable ItemStack itemSta null, damage, 0, + false, ref, commandBuffer, chunkStore); @@ -277,6 +278,7 @@ public void damage(@Nullable LivingEntity performer, @Nullable ItemStack itemSta false, damage, 0, + false, ref, commandBuffer, chunkStore); diff --git a/src/main/java/com/github/skriptdev/skript/api/hytale/utils/EntityUtils.java b/src/main/java/com/github/skriptdev/skript/api/hytale/utils/EntityUtils.java index 1ace595..08f9ded 100644 --- a/src/main/java/com/github/skriptdev/skript/api/hytale/utils/EntityUtils.java +++ b/src/main/java/com/github/skriptdev/skript/api/hytale/utils/EntityUtils.java @@ -324,7 +324,11 @@ public static void clearMarkedEntity(NPCEntity npcEntity) { public static void clearMarkedEntity(NPCEntity npcEntity, @Nullable Entity target) { Role role = npcEntity.getRole(); assert role != null; - MarkedEntitySupport markedEntitySupport = role.getMarkedEntitySupport(); + + Ref npcRef = npcEntity.getReference(); + if (npcRef == null) return; + + MarkedEntitySupport markedEntitySupport = MarkedEntitySupport.get(npcRef, npcRef.getStore()); if (target != null) { Ref reference = target.getReference(); assert reference != null; diff --git a/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffAttackOverrides.java b/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffAttackOverrides.java index 949da89..2542116 100644 --- a/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffAttackOverrides.java +++ b/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffAttackOverrides.java @@ -1,7 +1,9 @@ package com.github.skriptdev.skript.plugin.elements.effects.entity; import com.github.skriptdev.skript.api.skript.registration.SkriptRegistration; +import com.hypixel.hytale.component.Ref; import com.hypixel.hytale.server.core.modules.interaction.interaction.config.Interaction; +import com.hypixel.hytale.server.core.universe.world.storage.EntityStore; import com.hypixel.hytale.server.npc.entities.NPCEntity; import com.hypixel.hytale.server.npc.role.Role; import com.hypixel.hytale.server.npc.role.support.CombatSupport; @@ -48,11 +50,14 @@ protected void execute(@NotNull TriggerContext ctx) { interaction = this.interaction.getSingle(ctx).orElse(null); } - for (NPCEntity entity : this.npcs.getArray(ctx)) { - Role role = entity.getRole(); + for (NPCEntity npcEntity : this.npcs.getArray(ctx)) { + Role role = npcEntity.getRole(); assert role != null; - CombatSupport combatSupport = role.getCombatSupport(); + Ref npcRef = npcEntity.getReference(); + if (npcRef == null) continue; + + CombatSupport combatSupport = CombatSupport.get(npcRef, npcRef.getStore()); if (interaction == null) { combatSupport.clearAttackOverrides(); } else { diff --git a/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffEntityAttitude.java b/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffEntityAttitude.java index 8dd2562..53aac66 100644 --- a/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffEntityAttitude.java +++ b/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffEntityAttitude.java @@ -69,10 +69,11 @@ protected void execute(@NotNull TriggerContext ctx) { Role npcRole = npcEntity.getRole(); if (npcRole == null) continue; - WorldSupport worldSupport = npcRole.getWorldSupport(); Ref npcRef = npcEntity.getReference(); if (npcRef == null) continue; + WorldSupport worldSupport = WorldSupport.get(npcRef, npcRef.getStore()); + for (Entity target : this.targets.getArray(ctx)) { Ref targetRef = target.getReference(); if (targetRef == null) continue; diff --git a/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/world/EffExplosion.java b/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/world/EffExplosion.java index 248b844..b8db075 100644 --- a/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/world/EffExplosion.java +++ b/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/world/EffExplosion.java @@ -5,6 +5,7 @@ import com.hypixel.hytale.component.CommandBuffer; import com.hypixel.hytale.component.Store; import com.hypixel.hytale.math.vector.Location; +import com.hypixel.hytale.math.vector.Rotation3f; import com.hypixel.hytale.server.core.asset.type.item.config.ItemTool; import com.hypixel.hytale.server.core.asset.type.item.config.ItemToolSpec; import com.hypixel.hytale.server.core.entity.ExplosionConfig; @@ -97,6 +98,7 @@ protected void execute(@NotNull TriggerContext ctx) { ExplosionUtils.performExplosion(ExplodeInteraction.DAMAGE_SOURCE_EXPLOSION, location.getPosition(), + new Rotation3f(), config, null, commandBuffer, diff --git a/src/main/java/com/github/skriptdev/skript/plugin/elements/expressions/entity/ExprEntityAttitude.java b/src/main/java/com/github/skriptdev/skript/plugin/elements/expressions/entity/ExprEntityAttitude.java index 79515f2..5e47ff7 100644 --- a/src/main/java/com/github/skriptdev/skript/plugin/elements/expressions/entity/ExprEntityAttitude.java +++ b/src/main/java/com/github/skriptdev/skript/plugin/elements/expressions/entity/ExprEntityAttitude.java @@ -2,6 +2,7 @@ import com.github.skriptdev.skript.api.skript.registration.SkriptRegistration; import com.hypixel.hytale.component.Ref; +import com.hypixel.hytale.component.Store; import com.hypixel.hytale.server.core.asset.type.attitude.Attitude; import com.hypixel.hytale.server.core.entity.Entity; import com.hypixel.hytale.server.core.universe.world.storage.EntityStore; @@ -51,8 +52,10 @@ public Attitude[] getValues(@NotNull TriggerContext ctx) { Ref targetRef = target.getReference(); if (npcRef == null || targetRef == null) return null; - WorldSupport worldSupport = role.getWorldSupport(); - Attitude attitude = worldSupport.getAttitude(npcRef, targetRef, npcRef.getStore()); + Store store = npcRef.getStore(); + + WorldSupport worldSupport = WorldSupport.get(npcRef, store); + Attitude attitude = worldSupport.getAttitude(npcRef, targetRef, store); return new Attitude[]{attitude}; } diff --git a/src/main/java/com/github/skriptdev/skript/plugin/elements/expressions/entity/ExprLockedTarget.java b/src/main/java/com/github/skriptdev/skript/plugin/elements/expressions/entity/ExprLockedTarget.java index c58881e..2cd518b 100644 --- a/src/main/java/com/github/skriptdev/skript/plugin/elements/expressions/entity/ExprLockedTarget.java +++ b/src/main/java/com/github/skriptdev/skript/plugin/elements/expressions/entity/ExprLockedTarget.java @@ -83,7 +83,10 @@ public void change(@NotNull TriggerContext ctx, @NotNull ChangeMode changeMode, for (NPCEntity npc : this.npcentities.getArray(ctx)) { Role role = npc.getRole(); assert role != null; - MarkedEntitySupport markedEntitySupport = role.getMarkedEntitySupport(); + Ref npcRef = npc.getReference(); + if (npcRef == null) continue; + + MarkedEntitySupport markedEntitySupport = MarkedEntitySupport.get(npcRef, npcRef.getStore()); markedEntitySupport.setMarkedEntity("LockedTarget", ref); } } @@ -95,11 +98,14 @@ public String toString(@NotNull TriggerContext ctx, boolean debug) { private List> getRefs(TriggerContext ctx) { List> refs = new ArrayList<>(); - for (NPCEntity entity : this.npcentities.getArray(ctx)) { - Role role = entity.getRole(); + for (NPCEntity npcEntity : this.npcentities.getArray(ctx)) { + Role role = npcEntity.getRole(); assert role != null; - MarkedEntitySupport markedEntitySupport = role.getMarkedEntitySupport(); + Ref npcRef = npcEntity.getReference(); + if (npcRef == null) continue; + + MarkedEntitySupport markedEntitySupport = MarkedEntitySupport.get(npcRef, npcRef.getStore()); Ref lockedTarget = markedEntitySupport.getMarkedEntityRef("LockedTarget"); refs.add(lockedTarget); }