From be167295facfe634174fe2714c05de6b0291fe9f Mon Sep 17 00:00:00 2001 From: ShaneBee Date: Tue, 7 Jul 2026 06:42:06 -0700 Subject: [PATCH 1/6] build.gradle.kts - update to pre-release --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 7bc03a28039c74acdc18b8ff06c278378433392d Mon Sep 17 00:00:00 2001 From: ShaneBee Date: Tue, 7 Jul 2026 06:42:18 -0700 Subject: [PATCH 2/6] Update from API changes --- .../skriptdev/skript/api/hytale/objects/Block.java | 2 ++ .../skript/api/hytale/utils/EntityUtils.java | 6 +++++- .../effects/entity/EffAttackOverrides.java | 11 ++++++++--- .../elements/effects/entity/EffEntityAttitude.java | 3 ++- .../elements/effects/world/EffExplosion.java | 2 ++ .../expressions/entity/ExprEntityAttitude.java | 7 +++++-- .../expressions/entity/ExprLockedTarget.java | 14 ++++++++++---- 7 files changed, 34 insertions(+), 11 deletions(-) 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); } From b711b17a99d791151d311580df26085cdfe61782 Mon Sep 17 00:00:00 2001 From: ShaneBee Date: Thu, 9 Jul 2026 14:03:43 -0700 Subject: [PATCH 3/6] build.gradle.kts - update pre-release version --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 620ba3a..5f9f987 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.6.0-pre.6" +val hytaleVersion = "0.6.0-pre.7" // 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 From 9b798160b63b31b6956e57176bf59f45b64e7271 Mon Sep 17 00:00:00 2001 From: ShaneBee Date: Thu, 23 Jul 2026 23:15:06 -0700 Subject: [PATCH 4/6] build.gradle.kts - update pre-release --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 5f9f987..fb6bd56 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.6.0-pre.7" +val hytaleVersion = "0.6.0-pre.9" // 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 From 2087106ebb3b69a562d2b871139fa2bbb6f4fa0d Mon Sep 17 00:00:00 2001 From: ShaneBee Date: Thu, 23 Jul 2026 23:15:18 -0700 Subject: [PATCH 5/6] Update some stuff from pre-release --- .../conditions/player/CondPlayerMovementCanFly.java | 9 +++++---- .../skript/plugin/elements/effects/entity/EffRide.java | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/github/skriptdev/skript/plugin/elements/conditions/player/CondPlayerMovementCanFly.java b/src/main/java/com/github/skriptdev/skript/plugin/elements/conditions/player/CondPlayerMovementCanFly.java index baea9b4..32b4a42 100644 --- a/src/main/java/com/github/skriptdev/skript/plugin/elements/conditions/player/CondPlayerMovementCanFly.java +++ b/src/main/java/com/github/skriptdev/skript/plugin/elements/conditions/player/CondPlayerMovementCanFly.java @@ -2,6 +2,7 @@ import com.github.skriptdev.skript.api.hytale.utils.EntityUtils; import com.github.skriptdev.skript.api.skript.registration.SkriptRegistration; +import com.hypixel.hytale.protocol.FlyMode; import com.hypixel.hytale.protocol.SavedMovementStates; import com.hypixel.hytale.protocol.packets.player.SetMovementStates; import com.hypixel.hytale.server.core.entity.entities.Player; @@ -35,7 +36,7 @@ public boolean check(@NotNull TriggerContext ctx) { return getPerformer().check(ctx, player -> { MovementManager component = EntityUtils.getComponent(player, MovementManager.getComponentType()); assert component != null; - return component.getSettings().canFly; + return component.getSettings().fly == FlyMode.Allowed; }, isNegated()); } @@ -62,13 +63,13 @@ public void change(@NotNull TriggerContext ctx, @NotNull ChangeMode changeMode, assert ref != null; if (changeMode == ChangeMode.RESET) { - component.getSettings().canFly = component.getDefaultSettings().canFly; + component.getSettings().fly = component.getDefaultSettings().fly; } else if (changeValue != null) { - component.getSettings().canFly = changeValue; + component.getSettings().fly = changeValue ? FlyMode.Allowed : FlyMode.Disabled; } - if (!component.getSettings().canFly) { + if (component.getSettings().fly != FlyMode.Allowed) { // Stop the player from actually flying MovementStatesComponent movementStates = EntityUtils.getMovementStatesComponent(player); assert movementStates != null; diff --git a/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffRide.java b/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffRide.java index c7d1b0b..192dfa0 100644 --- a/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffRide.java +++ b/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffRide.java @@ -9,6 +9,7 @@ import com.hypixel.hytale.component.CommandBuffer; import com.hypixel.hytale.component.Ref; import com.hypixel.hytale.component.Store; +import com.hypixel.hytale.math.vector.Vector3fUtil; import com.hypixel.hytale.protocol.MountController; import com.hypixel.hytale.server.core.entity.Entity; import com.hypixel.hytale.server.core.entity.LivingEntity; @@ -80,8 +81,7 @@ protected void execute(@NotNull TriggerContext ctx) { if (vehicle instanceof Entity entity) { Ref vehicleRef = entity.getReference(); - MountedComponent comp = new MountedComponent(vehicleRef, - VectorUtils.rotFromVec3f(offset), MountController.Minecart); + MountedComponent comp = new MountedComponent(vehicleRef, offset, MountController.Minecart); EntityUtils.addComponent(passenger, MountedComponent.getComponentType(), comp); } else if (vehicle instanceof Block block) { From 42105d897c836b6f5b483295c477de4cbaa6eef1 Mon Sep 17 00:00:00 2001 From: ShaneBee Date: Thu, 23 Jul 2026 23:17:41 -0700 Subject: [PATCH 6/6] EffRide - checkstyle - remove unused import --- .../skriptdev/skript/plugin/elements/effects/entity/EffRide.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffRide.java b/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffRide.java index 192dfa0..5aa3ea3 100644 --- a/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffRide.java +++ b/src/main/java/com/github/skriptdev/skript/plugin/elements/effects/entity/EffRide.java @@ -9,7 +9,6 @@ import com.hypixel.hytale.component.CommandBuffer; import com.hypixel.hytale.component.Ref; import com.hypixel.hytale.component.Store; -import com.hypixel.hytale.math.vector.Vector3fUtil; import com.hypixel.hytale.protocol.MountController; import com.hypixel.hytale.server.core.entity.Entity; import com.hypixel.hytale.server.core.entity.LivingEntity;