#server-plugins-read-only

1 messages · Page 94 of 1

opaque idol
#

player.getreference

oblique barn
#

So how would I make it so intellij can search through it?

north seal
frigid aspen
#
Universe.get().getPlayer(Uuid)
cloud sun
errant condor
#

actually works like fully randomly, sometimes it works, sometimes not im trying to pinpoint the issue

north seal
quartz plover
#

That's not what I asked for, though. That repository does not contain the source code for the gradle plugin with the id "hytale-mod"

oblique barn
normal abyss
#

Hello guys! My "minimap" (M button) is completely blue on my server! I can't fix it? it appears some seconds at the reboot but thats it
is there a map file to delete/cache?
has anyone ever encounter this problem on it's server? thanks

frigid aspen
#

java```
Universe.get().getPlayer(Uuid);

opaque idol
near jewel
#

where can i find docs for plugin dev?

north seal
cloud sun
opaque idol
frigid aspen
#
 public static Player getPlayer(Ref<EntityStore> ref, Store<EntityStore> store) {
        if (ref == null || !ref.isValid()) {
            return null;
        }
        return store.getComponent(ref, Player.getComponentType());
    }
fickle pecan
#
tasks.register<Copy>("copyJar") {
    dependsOn(tasks.jar)

    from(tasks.jar.flatMap { it.archiveFile })
    into("put/the/mod/folder/here/")
}

tasks.build {
    dependsOn("copyJar")
}

hey guys! put this in build.gradle.kts so it copies/overwrites the jar file to the mod folder when build 😉

oblique barn
frigid aspen
north seal
opaque idol
abstract prawn
#

ah

fickle pecan
# abstract prawn ? for what

so when you build the gradle project, it automatically puts it into the mod folder and ir overwrites it if its updated

abstract prawn
#

so instead of manually pasting it, it auto does it check check

formal spade
#

Is there any way to override?
'something' is not a valid UUID or online player username

lunar pawn
#

For a custom ECS EntityTickingSystem (or for a DeathSystem) query, any ideas why this is throwing an error and not working:

@NullableDecl
    @Override
    public Query<EntityStore> getQuery() {
        return Query.and(Player.getComponentType());
    }
// On plugin setup, throws error on registering
        this.getEntityStoreRegistry().registerSystem(new CustomSystem());

Throws Cannot invoke "com.hypixel.hytale.component.query.Query.validateRegistry(com.hypixel.hytale.component.ComponentRegistry)" because "query" is null

I've been able to get it working partly with Archetype.empty() as the query, but I'd like to prefilter for the correct entities, and adding components to the archetype object seemed to cause a similar registration error

dusty venture
umbral mauve
#

Hello guys !
Someone know if the api have an event for mob spawning please?
Or i need to check a livingstock and compare to all livestock/npc/mobs ?

storm ocean
#

How to give permissions other players to use any commands?

severe scarab
#

**Hey! **change /help
Is it possible to show only avaliable commands for players? i use luckperms btw

lethal shard
#

I suppose there is a way to open public or private servers to play with friends.
Is there a guide to follow?

stoic plaza
storm ocean
outer cairn
#

anyone knows if its possible to show a blackscreen to a player for a duration? Like in the sleep animation?

lone burrow
#

Hello guys, can we create a custom instance ?

solid horizon
#

Is there a specific damage ECS event? Or would I need to do some custom implementation and extend DamageEventSystem and register it that way with getEntityStoreRegistry().registerSystem(new Class());

storm ocean
#

/perm group add Adventure spawn

Doesnt work. Why?

outer cairn
umbral mauve
storm ocean
umbral mauve
#

yup

storm ocean
#

I dont want to add all comands to this group

#

i want to add /scp and /spawn

lucid spire
#

is there a way to delete all worlds that are instances after a restart?

umbral mauve
glacial iris
#

they exsits an offical doc for modding or actually is really about decompile jar?

storm ocean
simple ginkgo
#

dude idk what I'm doing wrong but it seems like everytime I try to start my server back up again, it gets stuck on Getting Hytale Universe Ready

#

no players can join either it just says server is booting up please try again in a moment

vernal niche
karmic bough
#

anyone else getting the 0x00 is an invalid start of a value crash at launch?

umbral mauve
dusty venture
#

mane why'd they not implement custom windows raaaaah now making custom blockwindow ui is so difficult

trail cloak
#

What are the best methods to dont have Server Crashes?

north seal
#

public abstract void onComponentSet(@Nonnull Ref<ECS_TYPE> var1, @Nullable T var2, @Nonnull T var3, @Nonnull Store<ECS_TYPE> var4, @Nonnull CommandBuffer<ECS_TYPE> var5);

in onComponentSet, does anyone know what the different between var2 and var3 are? I'm assuming one of them is the old value, but which one?

summer fern
subtle steeple
#

Hell yeah my mod is at 1k downloads

dusty venture
dusty venture
#

what file?

north seal
#
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.hypixel.hytale.component.system;

import com.hypixel.hytale.component.CommandBuffer;
import com.hypixel.hytale.component.Component;
import com.hypixel.hytale.component.ComponentType;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.component.Store;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;

public abstract class RefChangeSystem<ECS_TYPE, T extends Component<ECS_TYPE>> extends System<ECS_TYPE> implements QuerySystem<ECS_TYPE> {
    @Nonnull
    public abstract ComponentType<ECS_TYPE, T> componentType();

    public abstract void onComponentAdded(@Nonnull Ref<ECS_TYPE> var1, @Nonnull T var2, @Nonnull Store<ECS_TYPE> var3, @Nonnull CommandBuffer<ECS_TYPE> var4);

    public abstract void onComponentSet(@Nonnull Ref<ECS_TYPE> var1, @Nullable T var2, @Nonnull T var3, @Nonnull Store<ECS_TYPE> var4, @Nonnull CommandBuffer<ECS_TYPE> var5);

    public abstract void onComponentRemoved(@Nonnull Ref<ECS_TYPE> var1, @Nonnull T var2, @Nonnull Store<ECS_TYPE> var3, @Nonnull CommandBuffer<ECS_TYPE> var4);
}
subtle steeple
dusty venture
#

hmm yeah I guess you're just cooked

#

trial and error I guess

north seal
#

I can just test yeah

fickle pecan
#

man this ui stuff is so broken man i dont know what im doing wrong

abstract prawn
#

is there a proper doc for all variables usable in .ui files?

fickle pecan
#

i keep getting the crash
"Could not find document Pages/WarhammerFantasy_CharacterSelector.ui for Custom UI Append command. Selector:

civic zephyr
#

What are you trying to do?

serene otter
#

should i just wait for NoesisGUI implementation? im having an insane time just trying to get any custom ui element to actually appear

subtle steeple
merry fjord
#

Anyone knows how the server loads the assets and how we can manipulate them in code? Because there are a lot of classes there: Asset Registry, Asset Pack, Asset Map.

civic zephyr
#

You're just getting the main chunk reference of the chunk regarding a block, individual blocks don't have references by default

#

You can keep your main ticking system just store it in a map rather than per block

fickle pecan
#

i put it in resources/Common/UI/Custom/Pages

every git repo has this too and uses "Pages/xxxx.ui" in their code

civic zephyr
north seal
civic zephyr
subtle steeple
#

Send me a screenshot of you resource folder and the place you add the UI in code

civic zephyr
north seal
ancient burrow
#

Am i missing something or is there no way to load a world from a template? it seems like i have to manually copy the files to the worlds folder if i want to have the same world running mulitple times

subtle steeple
tawdry narwhal
#

Hello guys

#

How change name/lore item for item custom?

serene otter
#

is there an example for custom ui elements that work somewhere? I've found a couple and nothing works when I implement into my project

west bolt
#

how can I remove the death page GUI?

oblique barn
#

is it better to use maven or gradle when making a plugin?

merry fjord
civic zephyr
main lynx
#

Anyone know how I register a custom IWorldGenProvider? It's crashing because it can't save the chunks

civic zephyr
#

"Item" and "BlockType" are asset types and you can get their AssetMaps which are just dictionaries of strings and the instances in the registry pretty much

civic zephyr
tawdry narwhal
# civic zephyr Set its TranslationProperties

object GeneratorItemFactory {
fun createGeneratorItem(): ItemStack {
val name = "Generator Hyice"
val lore = "Um gerador especial."
var stack = ItemStack(GeneratorMagicConstants.GENERATOR_ITEM_ID, 1)
stack = stack
.withMetadata(GeneratorMagicConstants.GENERATOR_ITEM_TAG, BsonBoolean.TRUE)
.withMetadata(
"TranslationProperties",
ItemTranslationProperties.CODEC,
ItemTranslationProperties(name, lore)
)
return stack
}
}

#

This?

civic zephyr
#

Its not metadata iirc its just on the item, every item just has its own translationproperty you can set

graceful ridge
#

Anybody know how to get an entity to follow the player through pathfinding? I know there was the video of the pet lantern npc, but that just seemed to move to the last known player location

north seal
#

What's the difference between PlayerReady and PlayerConnect?

civic zephyr
#

PlayerConnect is when the connection is established and PlayerReady is when their player instance is first spawning

#

If you want to do stuff like teleportation you would do it in PlayerReady

sweet crystal
#

Am I able to overlay multiple custom animations?

north seal
civic zephyr
storm ocean
north seal
#

Got it, thanks

main lynx
civic zephyr
#

One second

merry fjord
civic zephyr
#

Don't know them off my headtop though

civic zephyr
ancient pagoda
#

Guys, I managed to make a skeleton of the Hytale server (decompiled Java) then uploaded it to an AI and start asking it things. It instantly find out that it's ECS (I hate it btw) and perfectly navigated me how to do things. I managed to do a features in my plugin for like 5-10 mins... something that I struggle to do for days 😄
So, try it , it helps a lot.

civic zephyr
subtle steeple
unique heron
#

Hey everyone! 👋
I’m Brazilian and I joined this server with the goal of learning more about Hytale mod/plugin development.

I got access to the Hytale source code and assets, and I created a custom GPT on ChatGPT called Hytale AI. Basically, it has access to the source code, which makes it really useful for studying, understanding systems, and even helping with development tasks. It has greatly increased my productivity.

My English isn't very good yet — I'm not fluent and I'm still learning — so sorry in advance if I make any mistakes. I'm here to learn and share knowledge with you all.

Plugin name: Hytale AI

lone burrow
#

Hello, can we create custom instance ? (delete after leaving, like the forgotten temple)

fluid karma
#

Hello. Do you guys know how can I make my custom mob rideable? Like, where is the attribute i need to modify in the assets editor

unkempt rain
#

Because the servers keep crashing on me, I play and it kicks me out or when I pause it glitches, I can't pick things up and it kicks me out. I don't know if it's a general error or just a meh game.

main lynx
civic zephyr
#

Have you made an WorldStructure asset or whatever? They have an internal worldgen that can just read it perfectly fine, its just called Handle

#

But you need an instance of the HytaleGenerator plugin

ornate raven
civic zephyr
#

Or are you just straight up chunking it in your own entirely custom WorldGen

ornate raven
#

you need to add npcmountcomponent to your entity first

main lynx
west bolt
#

anyone know how can I remove the death page GUI?

civic zephyr
civic zephyr
umbral mauve
#

Hello guys !
Someone know if the api have an event for mob spawning please?
Or i need to check a livingstock and compare to all livestock/npc/mobs ?

umbral mauve
#

Thank you, i will try this

civic zephyr
#

Make a class that extends that and set your Query to be that of NPCEntity, to check livestock you can get the role back

umbral mauve
ocean moat
#

Is there an api for the Suns light emission? 😄

static sentinel
#

any idea why a teleportation error would occur?

umbral mauve
static sentinel
#

I have luckperms working with /sethome and /sethome and I can get players to /tpr and /tpa but the teleportation won't work

lethal imp
#

is it possible to allow any type of wood for an recipe?

static sentinel
#

how can I find the specific log? I have the error message in chat

hallow tulip
#

Anyone has issues with mongodb connector and IllegalAccessError classpath issues with servers bundled BSON packages??

main lynx
# civic zephyr DummyWorldGen basically has what you need

I just realised - after adding some logs - my code isn't actually running, am I registering this too late?

Universe.get().getUniverseReady()
                .thenRun(() -> {
                    IWorldGenProvider.CODEC.register(WallWorldGenProvider.ID, WallWorldGenProvider.class, WallWorldGenProvider.CODEC);
                    var defualtWorld = Universe.get().getDefaultWorld();
                    if (defualtWorld == null) {
                        LOGGER.atSevere().log("Default world not found.");
                        return;
                    }

                    var defaultWorldConfig = defualtWorld.getWorldConfig();
                    var defaultWorldGenProvider = defaultWorldConfig.getWorldGenProvider();
                    defaultWorldConfig.setWorldGenProvider(new WallWorldGenProvider(defaultWorldGenProvider, 500));

                    LOGGER.atInfo().log("World generator plugin initialized successfully.");
                });
north seal
#

Do components save persistently on their own, or do I have to do something special for them to save?

civic zephyr
civic zephyr
#

And you have to register your component if you haven't already

north seal
#

I'm sort of confused by the CODEC stuff

civic zephyr
#

No deserializer/serializer for your component means no saving

north seal
#

so, does that just mean overriding methods within the component class?

cloud sun
#

does anyone know why my Action isn't working?
Action

public class ActionExample extends ActionBase {

    protected String message;

    public ActionExample(@Nonnull BuilderActionExample builderActionExample, BuilderSupport builderSupport) {
        super(builderActionExample);
        this.message = builderActionExample.getMessage(builderSupport);
    }

    @Override
    public boolean execute(@Nonnull Ref<EntityStore> ref, @Nonnull Role role, InfoProvider sensorInfo, double dt, @Nonnull Store<EntityStore> store) {

        Ref<EntityStore> targetPlayerRef = role.getStateSupport().getInteractionIterationTarget();
        Player player = store.getComponent(targetPlayerRef, Player.getComponentType());

        player.sendMessage(Message.raw(this.message));

        return super.execute(ref, role, sensorInfo, dt, store);
    }
}

BuilderAction

public class BuilderActionExample extends BuilderActionBase {

    protected StringHolder message = new StringHolder();

    @Nullable
    @Override
    public String getShortDescription() { return "Example"; }

    @Nullable
    @Override
    public String getLongDescription() { return "Example"; }

    @Nullable
    @Override
    public Action build(BuilderSupport builderSupport) { return new ActionExample(this, builderSupport); }

    @Nullable
    @Override
    public BuilderDescriptorState getBuilderDescriptorState() { return BuilderDescriptorState.Stable; }

    @Override
    public Builder<Action> readConfig(JsonElement data) {
        this.requireString(data, "Message", this.message, null,
                BuilderDescriptorState.Stable, "The message to send.", "The message that will be sent to the player.");
        return this;
    }

    public String getMessage(BuilderSupport builderSupport) {
        return this.message.get(builderSupport.getExecutionContext());
    }
}
civic zephyr
cloud sun
# cloud sun does anyone know why my `Action` isn't working? `Action` ```java public class Ac...

json implementation:
Role.json

{
  "Type": "Generic",
  "MotionControllerList": [
    {
      "Type": "Walk"
    }
  ],
  "Appearance": "Mannequin",
  "MaxHealth": {
    "Compute": "MaxHealth"
  },
  "Parameters": {
    "MaxHealth": {
      "Value": 100,
      "Description": "Max health for the NPC"
    }
  },
  "Instructions": [
    {}
  ],
  "InteractionInstruction": {
    "Instructions": [
      {
        "Continue": true,
        "Sensor": {
          "Type": "Any"
        },
        "Actions": [
          {
            "Type": "SetInteractable",
            "Interactable": true
          }
        ]
      },
      {
        "Sensor": {
          "Type": "HasInteracted"
        },
        "Actions": [
          {
            "Type": "SendExampleMessage",
            "Message": "Example Message"
          }
        ]
      }
    ]
  },
  "NameTranslationKey": "server.npcRoles.Empty_Role.name"
}
oblique barn
#

How did you make it work with maven?

civic zephyr
north seal
cloud sun
outer cairn
#

Is it possible to show a blackscreen to a player for a duration? Like in the sleep animation?

static sentinel
oblique barn
north seal
#

I can't really post the link lol, but its hytalemodding dotdev

distant topaz
#

Guys, where can I find the Java documentation for HytaleServer.jar and where can I find the values ​​in the manifest.json file?

cunning mist
#

Hi, for a server with maps that need to be restarted, would it be ideal to use instances? And one more question, how do I put the players on separate islands? (for example in Sky Wars)

fickle pecan
#

is there help/documentation for adding/modifying stats of a player

i know hytale uses ECS and how that works but more depth is something i can use

oblique barn
upper vapor
#

hiya, do you know anyone that can help me? I added mods and it made my world disappear (as in the blocks in game), so i went back to the folder, removed the mods and then the world is still invisible, can just see the sky, my hand and the ui.

north seal
civic zephyr
#

Are you getting an error earlier in your plugin?

north seal
#

I sent you a DM with the link @oblique barn

oblique barn
cloud sun
civic zephyr
#

So that just seems like your entity is setup wrong, not the event

cloud sun
#

idk what part, I tried to make it as barebones as possible

static sentinel
#

anyone having this teleport error? com.hypixel.hytale.server.core.universe.world.storage.EnitityStore.addComponent(com.hypixel.hytale.component.Ref,java.lang.Object,java.lang.Object)

civic zephyr
# cloud sun idk what part, I tried to make it as barebones as possible

Try this:

 "InteractionInstruction": {
    "Instructions": [
      {
        "Continue": true,
        "Sensor": {
          "Type": "Any"
        },
        "Actions": [
          {
            "Type": "SetInteractable",
            "Interactable": true
          }
        ]
      },
      {
        "Sensor": {
          "Type": "HasInteracted"
        },
        "Instructions": [
          {
            "Sensor": {
              "Type": "Any"
            },
            "Actions": [
              {
                "Type": "SendExampleMessage",
                "Message": "Example message"
              }
            ]
          }
        ]
      }
    ]
  },
cloud sun
#

this is my entity

NPCPlugin npcPlugin = NPCPlugin.get();

TransformComponent transform = store.getComponent(playerRef, EntityModule.get().getTransformComponentType());

int roleIndex = npcPlugin.getIndex("My_Role");

Pair<Ref<EntityStore>, NPCEntity> npcPair = npcPlugin.spawnEntity(
                    store,
                    roleIndex,
                 transform.getPosition(),                  transform.getRotation(),
                    model,
                    null
            );
sterile wedge
#

Might be a shot in the dark here, but has anyone dabbled in making projectiles apply effects? Can't quite seem to get it (Sorry if this is the wrong channel, discussion seems to be tech support >.>;)

civic zephyr
rancid apex
#

Guys has anyone managed to change the damage on mobs? I'm trying to use "SystemGroup" but I'm getting a compilation error saying it's not present in the classpath.

import com.hypixel.hytale.component.system.group.SystemGroup;

    @Override
    public SystemGroup getGroup() {
      return DamageModule.get().getFilterDamageGroup();
    }
    
cloud sun
civic zephyr
#

Theres a bug where NPCs aren't interactable in creative and you might be encountering that

cloud sun
#

holy

#

I was in creative

civic zephyr
#

Yep that'll do it

cloud sun
#

and it now works, thank you so much, I've been stuck for days

rancid apex
lucid spire
vernal niche
vernal hull
#

someone knows how open a menu, detect click buttons, add text etc .. ?

ornate raven
#

uibuilder

lucid spire
vernal niche
#

Odd. I'm very sure I've seen them behave that way in our servers

vernal hull
green tendon
#

Guys how i can make an announcement every X hours with a clickable link?

lucid spire
ornate raven
green tendon
ornate raven
#

curseforge

green tendon
cunning mist
#

Does this work to create an instance of a map that I already own?

WorldManager.clone("skywars_template", "skywars_instance_01")

blissful wigeon
#

how to disable picking up items with the F key

blissful wigeon
lucid spire
blissful wigeon
graceful ridge
#

are animated textures a thing?

cunning mist
alpine patrol
dusty venture
#

you could just.... look at the sourcecode for simpleclaims?

blissful wigeon
alpine patrol
fickle pecan
#

can you use dependencies in the code like fasterxml.jackson for reading json files?

stoic plaza
lucid spire
wild spoke
#

its saying server everything on each item is that normal?

stoic plaza
north seal
#

I'm confused about how I register my CODEC that I made

#

It stores a float value in the player store

#

does anyone know how I register it?

dusty venture
#

you register it along with the component (assuming it is a component)

green tendon
#

guys how i can make a clickable link on the chat?

stoic plaza
graceful ridge
#

How do I apply an entity effect (like a health regeneration buff) to a player in a plugin? I have the effect defined in my asset pack, but I'm not sure what API method to call on the Player object to apply it.

north seal
woven harbor
#

How does one set the displayname / lore of an ItemStack?

dusty venture
stoic plaza
north seal
#

I'm following this

green tendon
#

guys how i can make a clickable link on the chat?

dusty venture
dark torrent
#

anyone knows how the mounts work ? when I am on the mount, which physic/movement settings are applied, the mount's or the player's ?

stoic plaza
# north seal I'm following this

Ah now I see, we meant different registration actions. I dunno where to put the codec, if yours is the best practice then do it. I thought you wanted to register your component to the entityStoreRegistry in order to make the data actually available to entities.

north hedge
#

Hello Guys!
Does anyone know how to put signature skill into tools? Like add the progress bar without changing into a weapon

fluid karma
muted anvil
#

Can someone validate that due do how the assets are loaded its not currently possile to change the color of a lighting asset?

fickle pecan
#

is there a function to send log commands?

dark torrent
#

to the player in game ?

fickle pecan
#

no, server level

dark torrent
#

gotta have a logger as such

#

private static final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
LOGGER.atInfo().log("logging");

iron gate
#

Does anyone know why the PlayerReadyEvent wouldn't be firing? Like.. Just isn't working at all. I am registering with within setup:

    eventRegistry.register(PlayerReadyEvent::class.java) { event ->
      println("Hit player ready event!") // Doesn't log
      val player = event.player

      player.withRef { playerRef ->
        miningTierService.setDisplayHud(StatDisplayHud(playerRef), player)
      }
    }
hushed totem
#

NO :/

#

I should buy this game and check what we can mod on it tbh

sweet bronze
hot warren
#

Is it possible to break blocks as quickly as in Minecraft with efficiency 5 and haste 2? I'm looking for fast mining for a prison mod.

lusty topaz
#

In UI what is the field for a text box? I've forgot and can't find it anywhere

untold nova
dark torrent
iron gate
merry otter
# hot warren Is it possible to break blocks as quickly as in Minecraft with efficiency 5 and ...

not sure if you can directly modify per instance pickaxes but they have gather power on different block types

  "Tool": {
    "Specs": [
      {
        "Power": 1,
        "GatherType": "SoftBlocks"
      },
      {
        "Power": 0.5,
        "GatherType": "Soils"
      },
      {
        "Power": 0.05,
        "GatherType": "Woods"
      },
      {
        "Power": 0.5,
        "GatherType": "Rocks"
      },
      {
        "Power": 0.5,
        "GatherType": "Benches"
      },
      {
        "Power": 0.17,
        "GatherType": "VolcanicRocks"
      }
    ],```
#

You could definitely just make separate variants for faster pickaxes using only the asset editor if that works for you

dark torrent
#

^this

sage mango
#

hey does anyone know if NPCs or portals exist? for teleporting players to a world

hot warren
#

Okay, thank you very much for your answers, I'll look from there

sweet bronze
fringe ore
#

Do we know if they will introduce keybinding client side?

#

Exceptions*?

green tendon
#

guys how i can make a clickable link on the chat?

iron gate
merry otter
dark torrent
lucid spire
#

does anyone know how to apply a config to an instance?
cause you can spawn one just with this

InstancesPlugin.get().spawnInstance("instance_name", returnWorld, new Transform(0,100,0));

I tried to change to config of the template world, but that doesnt carry over to the instance
so i also tried something like that:

worldConfig.setDeleteOnUniverseStart(true);
worldConfig.setDeleteOnRemove(true);

but I havent found a way to set this config when spawning an instance

green tendon
fickle pecan
#

i can attach components to the Server right?

civic zephyr
dark torrent
# green tendon i saw a server had it

ctx.sendMessage(
Message.raw("Flight " + state + " for mount! ")
.insert(
Message.raw("[Help]")
.link("LIN HERE")
.color("#00FF00")
.bold(true)
)
);

civic zephyr
#

That function is practically a helper function, it just reads the instance config, does some copying and config setting, then calls universe.makeWorld

dark torrent
#

apparently this is how

frigid aspen
#

how to teleport a player to other world's position?

fickle pecan
#

correct me if im wrong, right now im trying to register a component (FactionRegistry, it holds all registered factions read from json files) on Universe level (server) is this correct? if so how since i cant find registerComponentType

green tendon
frigid aspen
civic zephyr
rocky orchid
#

Hey! Did anyone find a way to mess with jump height?

fickle pecan
civic zephyr
civic zephyr
pseudo ice
#

How do I install mods on my server? Just uploading them to the server, or do they have to be added to my game and the server?

civic zephyr
#

If you want to store global information just do it another way

stoic plaza
fickle pecan
nova mesa
#

oop dms off

civic zephyr
#

You can just make a new Config and save it on stop and get it on setup

fickle pecan
#

any resources on this?

stoic plaza
hallow tulip
#

Be careful with an account @nova mesa is trying to make you download a mod that its a malware dropper

fickle pecan
rocky orchid
smoky coral
#

Has anyone discovered a way to detect when the player has finished eating something?

quick verge
#

Whoever told me to just use AI to write documentation is a Genuis

stoic plaza
quick verge
#

I forget who you are, but if you are reading this. Thank you I almost got docs for half the stuff in the games code

fickle pecan
#

i want to store it on server level so i can access it in commands or systems

still field
#

how can I make a custom gui open when I use a block with F, I am getting lost in the diference between a root interaction and an interaction, do I need to make both? one or the other? thanks

rocky orchid
stoic plaza
still field
rocky orchid
#

Bummer. But for what I've tested so far, the code seems well structured for ai agents to write mods 😄

ancient pagoda
# frigid aspen if someone know please ping me with some example code if possible

I asked an AI. It gives me this one. It should work:

    
    // 1. Get the destination World object
    World targetWorld = Universe.get().getWorld(targetWorldName);

    if (targetWorld == null) {
        // Handle invalid world
        return;
    }

    // 2. Get the player's current rotation (Optional, but good for smooth transitions)
    TransformComponent transform = store.getComponent(playerRef, TransformComponent.getComponentType());
    Vector3f currentRotation = transform != null ? transform.getRotation() : new Vector3f(0, 0, 0);

    // 3. Create the Teleport Component
    // There is a static factory method specifically for players in Teleport.java
    Teleport teleportComponent = Teleport.createForPlayer(
        targetWorld, 
        targetPos, 
        currentRotation
    );

    // 4. Attach the component to the player
    // The TeleportSystems will detect this in the next tick and handle the transfer
    store.addComponent(playerRef, Teleport.getComponentType(), teleportComponent);
}```
still field
#

I am successfully using AI to write mods and its especially helpful to browse the decompiled server and explain how things work, as there is no docs

rocky orchid
#

Yeah, without the docs it's taking so much time to just figure out how things are implementd.

ancient pagoda
north seal
#

java.lang.NullPointerException: Cannot invoke "com.hypixel.hytale.component.query.Query.validateRegistry(com.hypixel.hytale.component.ComponentRegistry)" because "query" is null

I'm not sure what I should be doing for the query method

ancient pagoda
north seal
#

@Nullable
@Override
public Query<EntityStore> getQuery() {
return ReputationComponent.getReputationComponentType();
}

this is what I currently have

fickle pecan
still field
frigid aspen
still field
#

I am using Codex CLI

rocky orchid
#

Claude had a few hickups. It was on it's way to write an entire velocity measurement system for the player entity to check when the player "jumped". Seemed pretty wrong to me

quick verge
ancient pagoda
#

Yeah, Gemini actually does it pretty well. It handle ECS quite good, it understand that hytale has different thread for worlds and uses world.execute and so one 😄

rocky orchid
#

Also, claude permanently tries to kill java.exe instead of the server task...

fickle pecan
#

im just trying to save data. reading isnt the scope of my question

ancient pagoda
#

The problem is that it uses 400-500k tokens per request and it's kinda expensive ... :X

still field
#

well as usual vibe coding doesnt work and you have to be directly involved. I think just expecting it to know everything and not read the code yourself or write any code yourself is not going to work. do AI assisted not vibe.

civic zephyr
#

It returns a Config<T> of the object you want to save, you need to make a codec though

eager hollow
#

Is there a mod that changes day / night cycles? Not to real life and such but rather I can program night say being 15min and day being 45min and such? I kept looking on curse I saw a lot of time mods, but none that did that it seemed.

quick verge
civic zephyr
wary lion
#

just made a plugin/lib for easy coloring chat messages with all the default minecraft color codes & formatting (plus monospace and no strikethrough because its not in the game yet) it also supports hex color codes, gradients with unlimited colors, a built in rainbow color code and links also it works in chat with color codes

stoic plaza
# fickle pecan lets take this for example in the mainPlugin ```java Setup() { var data = [ ...

Aha so you want to be able to read the resources you previously stored! But there's pitfalls. Universe is a plugin you cannot modify yourself. Yes, you need to register your custom component to the component registry. But for what type should the data be available for? EntityStore? then register the component via the entity store registry. All players? Then you must make sure the component can only be applied to PlayerRef (since Player is not really a component as I've learned so far). I bet the loading of resources occurs during server startup. Some resources can even be tampered with at runtime causing a hot reload. But that's all I know so far.

fickle pecan
civic zephyr
stoic plaza
civic zephyr
fickle pecan
civic zephyr
#

What is your problem right now

stoic plaza
#

A component could look like this:

object CombatStatistics:
  def getComponentType: ComponentType[EntityStore, CombatStatistics] =
    CombatRecorderPlugin.get.getCombatStatisticsComponentType

case class CombatStatistics(
    damageDealt: Float,
    startOfCombat: Instant,
    lastCombatAction: Instant
) extends Component[EntityStore]:

  /** Get the amount of damage dealt per second in combat.
    * @return
    *   DPS
    */
  def dps: Float =
    assert(startOfCombat != null, "startOfCombat is null")
    assert(lastCombatAction != null, "lastCombatAction is null")

    val duration =
      Duration.between(startOfCombat, lastCombatAction).getSeconds.toInt

    damageDealt / duration

  /** Simply update the combat statistics.
    *
    * @param value
    *   a tuple of damage dealt and the last combat action
    * @return
    *   updated copy of the combat statistics
    */
  def +(value: (Float, Instant)): CombatStatistics =
    val (damageDealt, lastCombatAction) = value

    this.copy(damageDealt = damageDealt, lastCombatAction = lastCombatAction)
civic zephyr
#

Why are you ChatGPTing all of this nonsense

fickle pecan
#

a way to save my resources during startup at a place where i can access them globally
im now figuring out the config

static sentinel
#

anyone having this teleport error? com.hypixel.hytale.server.core.universe.world.storage.EnitityStore.addComponent(com.hypixel.hytale.component.Ref,java.lang.Object,java.lang.Object)

stoic plaza
fickle pecan
north seal
# civic zephyr What is ReputationComponent ?
package org.pizza.data;

import com.hypixel.hytale.codec.Codec;
import com.hypixel.hytale.codec.KeyedCodec;
import com.hypixel.hytale.codec.builder.BuilderCodec;
import com.hypixel.hytale.component.Component;
import com.hypixel.hytale.component.ComponentType;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;

import javax.annotation.Nullable;

public class ReputationComponent implements Component<EntityStore> {
    private static ComponentType<EntityStore, ReputationComponent> reputationComponent;
    public static final BuilderCodec<ReputationComponent> CODEC;

    static {
        CODEC = BuilderCodec.builder(ReputationComponent.class, ReputationComponent::new)
                .append(
                        new KeyedCodec<>("Reputation", Codec.FLOAT),
                        (component, value) -> component.reputation = (float) value,
                        (component) -> component.reputation
                )
                .documentation("Player reputation value from -100 to 100")
                .add()
                .build();
    }

    public ReputationComponent() {
        super();
        this.reputation = 0;
    }

    private float reputation;

    @Nullable
    @Override
    public Component clone() {
        try {
            Component component = (Component) super.clone();
            return component;
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
            return null;
        }
    }


    @Nullable
    @Override
    public Component cloneSerializable() {
        return Component.super.cloneSerializable();
    }

    public float getReputation() {
        return reputation;
    }

    public static ComponentType<EntityStore, ReputationComponent> getReputationComponentType() {
        return reputationComponent;
    }

    public void addReputation(float reputation) {
        this.reputation += reputation;
        this.reputation = Math.clamp(this.reputation, -100, 100);
    }

    public void setReputation(float reputation) {
        this.reputation = reputation;
    }
}
civic zephyr
#

Because if you didn't register the component, the systems gonna try to pull the type, then fail because its not made yet

fickle pecan
#

looks like codec implements a JsonDecode

civic zephyr
#

You can just make a BuilderCodec

#

What are you saving, a string array?

trail forge
#

how i can spawn image like hologram ?

north seal
civic zephyr
civic zephyr
#

Not the system then component ?

fickle pecan
#

faction

#

huh, my message is being blocked for some reaosn

livid plume
#

any good plugin for shop/store

fickle pecan
#

@civic zephyr can i dm you since somethin in my class triggers automod

civic zephyr
#

Go ahead

alpine patrol
alpine patrol
#

sadge

#

@civic zephyr we need your godly help

civic zephyr
#

What is it

blissful wigeon
#

the event fires, and the logic works i just can't cancel it, it just straight up ignores it, nothing i can really do about it

civic zephyr
#

What event

blissful wigeon
#

InteractivelyPickupItemEvent

civic zephyr
#

You want to turn off item pickups? Like from the ground?

blissful wigeon
#

yes

civic zephyr
#

You don't have to cancel the event im not sure if thats even implemented properly

alpine patrol
# civic zephyr What is it

we have been trying to figure out how to stop people from picking up rubble and berrys from bushes etc. if we cancel InteractivelyPickupItemEvent, the rubble still disappears and the item just drops to the ground. SimpleClaims has achieved this but if we try to do it the exact same way, it doesnt work lol

civic zephyr
#

Oh just cancel the packet

alpine patrol
#

how

civic zephyr
#

A packet watcher and zero out the data

alpine patrol
#

i didnt see SimpleClaims canceling any packets

civic zephyr
north seal
#

actually I think I know what happened, maybe

#

I did register the component before the system, but there are commands and events before that reference the component

civic zephyr
north seal
#

oh nevermind I just realized the problem lol, I registered the codec after the system

alpine patrol
civic zephyr
#

This is unnecessary when Ive just told you a solution

#

Do you want to do it exactly like them or do you want to solve the problem

quaint veldt
blissful wigeon
quaint veldt
#

MoreEvents provides the interactions as cancellable events instead of you having to override the class registry yourself

alpine patrol
quaint veldt
alpine patrol
west bolt
quaint veldt
#

You register a class that takes control of the interaction instead of the default Hytale server class

#

The problem is that this effects the whole server so two plugins cannot both do it

north seal
# civic zephyr Are you unsure?

I solved it finally. I did register the component before, but I also registered the component codec after the system, so I think that was the issue

alpine patrol
quaint veldt
#

MoreEvents mod turns this into a wrapper that makes them cancellable events just like BlockBreak

gritty current
#

hi, Could someone tell me if there is a method to obtain the player's eye position?

cunning fable
#

anyone able to help me develop a custom server?

quaint veldt
alpine patrol
quaint veldt
#

If you install the mod MoreEvents you can cancel pickup and gather exactly like that which is why the wrapper exists

west bolt
alpine patrol
#

thanks guys ❤️

quaint veldt
# alpine patrol ohhh

All the other ways to cancel it result in one plugin owning the packet or interaction

gritty current
#

Sorry if I say something nonsensical, I speak Spanish.

I want to get the block that a player is looking at.

alpine patrol
misty sphinx
gritty current
misty sphinx
#

but that depends on the player model being the standard one

gritty current
alpine patrol
misty sphinx
#

well, you could check if the player is crouching and add a different value (1.27). But, since you want to know which block the player is looking at, I'll check if there's a different way to do that directly

alpine patrol
#

im confused. do you want to get the height of the eyes or the block the player is looking at?

gritty current
#

Of course, I wanted to know if there was a native solution, so I wouldn't have to invent a method that isn't 100% effective.

rough oriole
gritty current
#

I want to get the block he's looking at, but that also depends on whether he's crouching or not, since by adding 1.62 I could be aiming at a different block

gritty current
vocal orbit
#

Does anyone know where I could look for some methods / settings that would could blur the vision of the player? Something with Camera probably

rough oriole
#

*would

grim skiff
#

Check fiverr
People are there rendering the service

vocal orbit
#

Ah there is Shader

potent beacon
#

Guys, i need help

vocal orbit
#

nvm then, Ill find my way around

vernal hull
#

There is a list with all props of CustomUI?

civic zephyr
#

There are a bunch of things in there

misty sphinx
rough oriole
#

I made a very simple mod that hides teleporters on the map and changes the teleporter UI to have a text input for target warp to prevent portal discovery. It's on my github at nickt128/hytale-plugin-hidden-teleporters

#

Waiting on curseforge to approve

left jacinth
#

anyone know why the #1 thing players ask me is "why cant i break trees" [without getting kicked]

keen grove
left jacinth
#

no like, while they're hitting the tree

keen grove
#

No idea then I just remember getting kicked a lot when I full broke trees on launch day

nimble mica
#

Where do I go to set up a server and do I need a separate game license to do so

keen grove
#

Just uh google the rest though

gritty current
#

I don't know if it will work, but here's the code.

    private static Vector3d rotationToDirection(Vector3f rot) {
        double yaw = Math.toRadians(rot.getYaw());
        double pitch = Math.toRadians(rot.getPitch());

        double x = -Math.sin(yaw) * Math.cos(pitch);
        double y = -Math.sin(pitch);
        double z =  Math.cos(yaw) * Math.cos(pitch);

        return new Vector3d(x, y, z).normalize();
    }

    public static Vector3i getTargetBlock(
            Ref<EntityStore> ref,
            Store<EntityStore> store,
            World world
    ) {

        TransformComponent transform = store.getComponent(ref, TransformComponent.getComponentType());
        MovementStatesComponent movementStatesComponent = store.getComponent(ref, MovementStatesComponent.getComponentType());

        double eyeHeight = movementStatesComponent.getMovementStates().crouching ? 1.27 : 1.62;

        Vector3d origin = transform.getPosition().add(0, eyeHeight, 0);
        Vector3d direction = rotationToDirection(transform.getRotation());

        Vector3d point = origin.add(direction);
        Vector3i blockPos = point.toVector3i();

        Log.debug(blockPos.toString());
        return blockPos;
    }
mystic sorrel
#

Is Diablo 2 and or PoE style items in the scope of what is coming to the base game or should I look at making my own plugin?

sage mango
#

Does Hytale Have npcs That I can have a teleport on right click to another world?

misty sphinx
scarlet wagon
#

Is there an possibility in the InteractivelyPickupItemEvent Event's components to get the type of block the player interacted with?

unreal moat
#

how do i setup a mysql in my plugin?

smoky merlin
#

There is a way to change the way the single thread of each world run every tick?

leaden ruin
#

does anyone know where the block breaking speed component is? I cant find it

smoky merlin
#

I'm looking to create a plugin that change the way a single world run to use multiple thread instead of a single one.

sage mango
#

for NPCS do I need a plugin / mod for this?

faint void
#

Does anyone know what the path to an image is from java when trying to set an AssetPath for an AssetImage in the ui from java?

low prawn
#

Is there a plugin that fixes the rendering of NPCs/enemies and blocks?

I have Windows 11 with a 5th generation Ryzen 3 processor, and I can only see them when I'm very close.

opaque cape
#

If anyone is working on a Server Hop mod, Please, Inventory Transfer is a must have!

woven harbor
#

How to set the display name / lore of an item stack?

potent beacon
#

Guys, i need help!

What is this?

  • Failed to request authorization grant: HTTP 403 - invalid token
dusky sable
#

Is it possible to disable collision between players like so they can stop pushing each other?

tropic remnant
#

vo

north seal
#

anyone know how to add permissions to a command so that everyone can run it?

dusky sable
sage mango
#

Does Hytale Have NPCS Or Portals That I can Config to allow players to teleport from world to world

torpid loom
#

Is there a way to activate a root interaction via java

minor oasis
#

I want to prevent NPCs from dropping loot on death. Anyone here able to help me out?

stoic plaza
stoic plaza
sacred niche
#

Having trouble following the example here: hytalemodding [dot] dev/en/docs/guides/plugin/block-components
I've copied the all the code from the documentation, changing only names of classes, but am getting Cannot invoke ... because "query" is null error.

The main plugin class uses the following setup:

protected void setup() {
    instance = this;
    this.inventoryNodeComponentType = this.getChunkStoreRegistry().registerComponent(InventoryNodeBlock.class, "InventoryNodeBlock", InventoryNodeBlock.CODEC);
    this.getChunkStoreRegistry().registerSystem(new InventorySystem());
}

And InventorySystem (which extends EntityTickingSystem) has the following query:

@Nullable
public Query<ChunkStore> getQuery() {
    return Query.and(BlockSection.getComponentType(), ChunkSection.getComponentType());
}

I have tried to review any mentions of this error in discord, but can not find a good direction to move in.

-Edit-
The fix was to add EntityModule and BlockModule as dependencies in my manifest.json to ensure proper load order.

"Dependencies": {
  "Hytale:EntityModule": "*",
  "Hytale:BlockModule": "*"
}
safe raft
#

Anyone here able to help me sort out a connection issue?

sacred niche
#

The indifferentbroccoli docker image is likely the easiest way, given the readme I am sure GPT can direct you to get docker running

#

Why does that mean a docker image is not a valid option?

frigid aspen
#

anyone has skywars/bedwars plugin?

sacred niche
#

Bud, I don't know what your on about. I suggested GPT because the question was so vague I assumed you are not very linux capable, and docker is the fastest way to get a server running

rigid fern
#

Hi, can someone tell me how can I start making plugins?

lament zodiac
#

you kinda ate with this one, so real

sacred niche
granite chasm
#

how do i disable the hytale built in world backups, my server is almost over 100gb after all the backups the game takes... wild

stoic plaza
#

by default it should be about one backup every 30 minutes

granite chasm
granite chasm
#

yeah it keeps like 10 backups max by default when its supposed to only be 5 according to hytale

#

my server alone is almost 13gb, now that + 10 backups

soft kernel
#

Hi everyone, could you tell me how I can get an API? I really want to start making plugins for my server already 🙂

fathom token
#

hola alguien en español que me pueda ayudar

rigid fern
#

Another question. What's the difference between a plugin and a mods that are made with asset editor?

#

And do plugins, allow me to edit the gui of the game?

stoic plaza
stoic plaza
#

The asset editor just produces JsonFiles (raw data assets)

rigid fern
#

Ah

#

Ok thanks for explaining

#

I was confused

left ginkgo
#

Its bad, when your server Storage hits 100GB after 24 hours of it being online just purley from backups

stoic plaza
torpid loom
#

Hey does anybody know how to run a root interaction on a player in plugins?
it'd be a huge help

gritty current
#

After browsing through the API, it turns out that TargetUtil.class exists. getLook()

shrewd wave
#

Deutsche hier die sich bisschen auskennen gerade im Bereich UI?

stoic plaza
#

Minimal, worum gehts denn genau?

calm robin
#

Does onPlayerInteract still not work? Where can I follow the game's updates and fixes?

cunning fable
#

Anyone working on anything for an rpg server?

storm nest
torpid loom
#

Does anybody know how to make a plugin run a root interaction on an entity?

sacred niche
#

don't ask a help channel for handholding through a 40 minute process then bud, just go do it

#

if you have specific questions I am sure people will answer

stoic plaza
#

yep, I can only agree with that. don't want a second Ni8mare

potent beacon
#

@stoic plaza what can i do this?

stoic plaza
stoic plaza
# torpid loom :(((

No clue but you might have to intercept TransformComponents in EntityTickingSystem I guess

coral onyx
#

Is there a simple way to pull the Entity Names not just UUIDs?

proper ether
#

I think you can modify wsl config file to fix the nat issue

Search this on google
[wsl2]
networkingMode=mirrored
dnsTunneling=true

calm robin
sinful storm
#

players telling me their animals don't grow, are they supposed to in vanilla?

cunning fable
keen grove
calm robin
torpid loom
sage mango
#

Hey Does anyone know if A NPC plugin or Mod that allows players to click a NPC to teleport to a world? or brind up a GUI menu for a teleport

pliant crypt
#

2026/01/22 02:10:07 deprecated: golang org/x/oauth2: Transport.CancelRequest no longer does anything; use contexts
2026/01/22 02:10:07 error fetching manifest: could not get signed URL for manifest: could not get signed URL: Get "
release.json": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

cunning fable
keen grove
fickle pecan
#
@Override
    protected void execute(@NonNullDecl CommandContext commandContext, @NonNullDecl Store<EntityStore> store, @NonNullDecl Ref<EntityStore> ref, @NonNullDecl PlayerRef playerRef, @NonNullDecl World world) {
        Player player = (Player) store.getComponent(ref, Player.getComponentType());
        CharacterSelectorUIPage page = new CharacterSelectorUIPage(playerRef);

         // uhm i need commandbuffer

        player.getPageManager().openCustomPage(ref, store, page);
    }

how do i access commandbuffer here? i need it to add a component

fiery lodge
#

Anyone know an alternative to player.getPlayerRef()? It is depreciated, but i need access to it for an event im subscribed to.

#

Essentially: im trying to use the player ready event to set a custom GUI to the player, however i only seem to be able to call event.getPlayer(), and there does not seem to be any other way of getting the player ref

stoic plaza
eager hollow
#

Is HytaleKit faking download numbers? It seems to be a delayed mirror of curseforge?
Edit: Yeah seems like a AI Site mirroring CurseForge and illegal stealing peoples work

fiery lodge
#

Wait, how would i reference it like that with an event?

flint cloud
#

I'm looking for a programmer to help me with my project; several of us are working on it. If you're interested, contact me.

stoic plaza
# fiery lodge Essentially: im trying to use the player ready event to set a custom GUI to the ...

Could this help?

event => {
        // retrieve necessary player entity references
        val player = event.getPlayer
        val playerEntityRef = event.getPlayerRef
        val componentStore = playerEntityRef.getStore
        val playerRef =
          componentStore.getComponent(
            playerEntityRef,
            PlayerRef.getComponentType
          )

        // add the combat recorder HUD to the player interface
        val combatRecorderHud = CombatRecorderHud(playerRef)
        player.getHudManager.setCustomHud(playerRef, combatRecorderHud)
      }
fiery lodge
#

!! sweet!!! thanks 😄

#

I tried event.getPlayerRef but i didnt see it, i will doublecheck though.

#

...... nvm im just blind.... XDXD 🤦‍♂️

stoic plaza
#

Depends on the event you're using. I used PlayerReadyEvent

calm robin
limpid stream
#

'Failed to apply CustomUI HUD commands' anyone know to fix this problem when connecting to the server?

stoic plaza
limpid stream
stoic plaza
#

How do you apply your hud?

limpid stream
#

I have no idea what those are. I just play

icy glade
#

its up to them to fix it I think

stoic plaza
#

Oh, I guess a mod/plugin is corrupted

#

But the current UI templating is a real pain to work with as it prevents players from joining servers when some files couldn't be parsed

icy glade
#

I just wish it was more verbose and actually said what the issue/failure is validating custom ui

shrewd wave
#

UI in hytale = head pain af hahaha

stoic plaza
shrewd wave
stoic plaza
#

Fließend

fiery lodge
#

That depreciation warning was driving me nuts!

stoic plaza
somber trellis
#

does anybody know how to run something delayed? something simple from a plugin like the bukkit runnable and runTaskDelayed if I remember correctly

stoic plaza
limpid stream
fiery lodge
#

@somber trellis Here is my script i used to run a delayed hud reset

        player.getWorld().execute(new Runnable() {
            @Override
            public void run() {

                player.getHudManager().setCustomHud(player.getPlayerRef(), new MyHUD(player.getPlayerRef()));

                player.sendMessage(Message.raw("UI HUD Shown"));

                HytaleServer.SCHEDULED_EXECUTOR.scheduleWithFixedDelay(new Runnable() {
                    @Override
                    public void run() {
                        player.getHudManager().setCustomHud(player.getPlayerRef(), new MyHUD(player.getPlayerRef()) {
                            @Override
                            protected void build(@Nonnull UICommandBuilder uiCommandBuilder) {

                            }
                        });
                    }
                }, 15, 15, TimeUnit.SECONDS);
            }
        });```
somber trellis
somber trellis
#

lemme try it out

fiery lodge
#

Specifically, this section here:

                HytaleServer.SCHEDULED_EXECUTOR.scheduleWithFixedDelay(new Runnable() {
                    @Override
                    public void run() {
                        player.getHudManager().setCustomHud(player.getPlayerRef(), new MyHUD(player.getPlayerRef()) {
                            @Override
                            protected void build(@Nonnull UICommandBuilder uiCommandBuilder) {

                            }
                        });
                    }
                }, 15, 15, TimeUnit.SECONDS);
shrewd wave
wary lion
#

im so glad im almost done with this chat color library

#

i've been fighting with trying to make a chat listener and it was so much more simple than what i was doing

fiery lodge
wary lion
#

fr

stoic plaza
wary lion
finite fern
#

I've create a schematic loading plugin that allows to paste minecraft schematics within hytale.

#

Wish we could post images..

idle nebula
#

Anyone know if tool types are defined in code and need a plugin or not?

sage mango
#

Hey I am trying to solve the same problem were you able to find any fix?

wary lion
#

i couldnt find a single usage of PlayerChatEvent in the entire HypixelServer jar

#

i was having an aneurysm

fiery lodge
fiery lodge
#

uhhhhh, its trying to say my snipplet is an advertisement....??

#

ughhh.... use pastebin dot com slash CGDEzDeT

somber trellis
#

Thanks!

fiery lodge
#

Np 🙂

#

This discord server really does not like letting you post code snipplets xD

#

@sage mango So i am unable to post the code snipplet because their bot is trying to say im advertising.

So i had to post it on pastebin.
I cant even post a pastebin link, so goto pastebin dot com slash CGDEzDeT

sage mango
vernal hull
#
                CustomUIEventBindingType.Activating,
                "#FindDuelButton",
                new EventData().append("@Action", "find")
        );```

when i press the button getting ***"Failed to gather CustomUI event binding data"***
right way or cant use string on append()?
fiery lodge
#

Are you missing the action field in the .ui?

#

Welp, i gtg guys. Good night and happy scripting 😄

vernal hull
fiery lodge
#

I havnt touched buttons much yet lol. So sadly, i do not have the answer right now XD

I would put a GUI modding doc reference, but this discord hates links 😛

brazen sierra
#

I’m looking for a developer for a Community FFA Server project, Kit Rush, etc.

loud osprey
#

how do i make my custom bucket where it will pick up lava

#

i hope im asking in the correct place

gritty atlas
#

how to get free hytale

lunar stump
#

Does anyone know how to connect with friends without following a list or changing router settings and such?

smoky merlin
#

Anyone knows how to build a simple startup plugin? I'm trying to build a simple working plugin that replace one class and I can't get it builded correctly...

drowsy yacht
#

im tryna play on someones server ??

smoky merlin
#

I tried to follow this wiki instructions but without succes: 09-bootstrap-early-plugins

pulsar plover
#

Potential bug I've found. Asking here first because I'm not sure if this is intentional behavior.

I have a custom block src/main/resources/Server/Item/Items/SacredSiteMarker.json. I have defined a custom BlockType.State.Id that I have registered via my plugin, class SacredSiteMarkerBlockState extends BlockState implements TickableBlockState. I also have a custom interaction, set up via BlockType.Interactions.Use.Interaction[0].Type. In the Java behind this interaction I get my custom state via world.getState(x, y, z). I check via if (state instanceof SacredSiteMarkerBlockState) . This works fine until I add the following to BlockType in the JSON.

{
//...
  "BlockType": {
//...
    "BlockEntity": {
      "Components": {
        "BlockMapMarker": {
          "Name": "Sacred Site",
          "Icon": "Coordinate.png"
        }
      }
    },
//...
}

When I add this little section, I get the Icon on the HUD now, but my state is now null. Is this intended behavior?

#

Please ping me if you have insight into this

nimble mica
loud osprey
# loud osprey how do i make my custom bucket where it will pick up lava

this is what i have idk if its right i cant seem to get it to work plz help
{
"Icon": "Icons/ItemsGenerated/Lava_Bucket_Empty.png",
"IconProperties": {
"Scale": 0.58823,
"Rotation": [
22.5,
45,
22.5
],
"Translation": [
0,
-13.5
]
},
"Model": "Items/Interactable/Lava_Bucket/Lava_Bucket.blockymodel",
"Texture": "Items/Interactable/Lava_Bucket/Lava_Bucket_Empty.png",
"State": {
"Filled_Lava": {
"Icon": "Icons/ItemsGenerated/Lava_Bucket_Full.png",
"MaxStack": 1,
"Consumable": true,
"Variant": true,
"BlockType": {
"DrawType": "Model",
"CustomModel": "Items/Interactable/Lava_Bucket/Lava_Bucket.blockymodel",
"Opacity": "Semitransparent",
"Material": "Empty"
},
"Interactions": {
"Secondary": {
"Interactions": [
{
"Type": "PlaceFluid",
"FluidToPlace": "Lava_Source"
}
]
}
}
}
}
}

lusty topaz
#
    public void handleDataEvent(@Nonnull Ref<EntityStore> ref, @Nonnull Store<EntityStore> store, @Nonnull FactionHubUICodec data) {
        super.handleDataEvent(ref, store, data);

        if (data.action == null) return;

        final String[] parts = data.action.split(":");
        data.action = null;

        if ("tab".equals(parts[0])) {
            activeTab = MainTab.valueOf(parts[1]);
            sendUpdate();
        }
    }``` Anyone know why this isn't updating the page?
rotund fossil
#

Is there any documentation on teleporting the player?

bright flint
static shadow
#

Is there a way to get all blockIds of a given BlockType? I'm trying to find the ids of all ores

coral onyx
#

WIP - but its is parsing npcs/enemies data:

[2026/01/22 03:31:36   INFO]                 [CommandManager] Nerah executed command: target
[2026/01/22 03:31:36   INFO]                           [SOUT] [TabTarget] Found 3 targetable NPCs
worn meadow
#

I finally solved my problem for those who are interested : When you want to subscribe to UseBlockEvent, You MUST choose between UseBlockEvent.Pre and UseBlockEvent.Post because the UseBlockEvent itself is not triggered. Would be good for this class to be abstract or with a limited access if it is not intended to be used.

knotty pike
#

Asking this even though i know no one will respond, but does anyone know if it's possible to get / set the item in the cursor(pointer)? Otherwise, what UI component is used for items in inventory / creative menu?

weary lantern
#

Hello! I'm new here sorry if my message cut people overlap with others.

Question 1: Is there a fast server restart to test out plugins and changes fast?
-# ^ (This one is low prio cause it's easy to restart the server I was just wondering if there is a convenient way I'm missing)
Question 2: Is there a way to test out multiplayer features locally without the need to buy a whole other account?

Im a hobbyist and a student I cannot afford ts 😭 I already pushed to get my own copy

rotund fossil
#

I figured out the teleporting thanks.

weary lantern
worn meadow
# weary lantern If you don't mind could you give me keywords so I can look deeper into it, that'...

1/ There is an Hytale project template that implement a series of gradle task that can build, assemble and throw your project into packed server, and a task to run the server in your IDE. It's really easy to find 1st result on google for "Hytale plugin template", but i'll find the url if you struggle
2/ I mean... You can probably emulate a player, but it won't do anything if you don't put any logic inside. Won't be a true player through Easier to test with a friend

fathom token
weary lantern
#

For context what I was trying to do was experimenting with player-to-player interactions and see if I can create a System that uses that, speaking of which, this is really naive, but how do mods typically store player data

rustic verge
#

are there public docs for hytale? how are people linking the server jar and developing against it?

weary lantern
#

that was humbling 😭

worn meadow
empty wyvern
#

I'm making minigame by created new world and tp player into it
Problem here that the performance is not good when chunk is not load and player falling through map
Should I pre-load all allowed chunks before tp?

weary lantern
#

that's fine I just thought I'd probably wanna test many things out early on so convincing a friend to buy the game just to spend a lot of time on their soulless body experimenting

steady relic
weary lantern
#

that makes a lot of sense....

raw pebble
#

better lootbox v0.1.0 on his way 🙂 imgur[dot]com/a/cWZ0y1p (did that in 1h30 need much more feature etc)

rustic verge
#

how do people typically dev their mods, are you running locally and leaving/joining the world? or can you hot reload it?

civic zephyr
#

I had a similar issue where it got hung up on some util library and I just needed to specify Xmx8G cause otherwise it just used 4G and errored out and took ages

#

If you are using vineflower

sharp pumice
#

Hey, dumb question, but does anyone know how to send a player to another world? like /tp world

sharp pumice
weary lantern
#

tbf I gave it 12 GB but it was decompiling stuff outside the com/hypixel

sharp pumice
#

okay, thanks lmfao

civic zephyr
#

Theres no teleport command that takes a player to another world from what I remember

sharp pumice
tropic axle
#

Guys, could you help me correctly put the background, I think I am not getting the right directory:

$C = "../Common.ui";

Group {
  Anchor: (Width: 400, Height: 250);
  Background: (TexturePath: "Common/ContainerPatch.png", Border: 23);
  LayoutMode: Top;
  Padding: (Full: 20);
}
sharp pumice
civic zephyr
#

Not another player is what I meant to say

#

Just the executor

sharp pumice
steady relic
#

PSA for ppl using IntelliJ:
If you're getting checkerframework's @NonNullDecl and @NullableDecl in autofill, there's a buried setting you can change so that javax's @Nonnull and @Nullable take priority.

  1. In Settings: Editor > Inspections
  2. In inspections tree: Java > Probable bugs > Nullability problems > @NotNull/@Nullable problems
  3. On the right side pane: Options > Configure Annotations...
  4. In the popup window, find and select the javax entry and use the Up button to bump it to the top of the list
  5. Switch to the NotNull tab and do the same
  6. Click OK on both windows
civic zephyr
civic zephyr
blazing cosmos
#

with the asset editor, how do you tell a custom block which hitbox file to use?

civic zephyr
#

I guess you can literally just execute the command as someone else internally but that might do a permission check, it probably will

#

Maybe it wont

sharp pumice
unborn meteor
#

Is there a deicated website or something yet for plugins or are people just posting solely in this channel?

woven halo
#

Searching some people who want build a network together 😊

rough apex
unborn meteor
woven halo
rough apex
empty hatch
woven halo
civic zephyr
empty hatch
unborn meteor
tranquil tendon
#

hey @civic zephyr. i implemented your code and the world gen works fine, but the worlds just don't add? I can /world add customWorld --gen CustomWorldGen and tp into it, and it works. the code just doesn't add the world to the universe.

Universe.get().addWorld("customWorld", "CustomWorldGen", null).join();

currently, im just calling this in my plugins overwritten start method?
no folders created, even though makeWorld is also called in addWorld.

steady relic
#

Hoping they rename the mods directory to plugins before it's too late...

civic zephyr
#

setup is probably much too early

civic zephyr
#

And whats .join() for?

tranquil tendon
#

im saving the world in code, i forgot to remove that when i pasted it into discord.

civic zephyr
#
getEventRegistry().registerGlobal(BootEvent.class, (b) -> {
  // HELLO IM THE BOOT EVENT

});
tranquil tendon
#

thanks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

civic zephyr
#

In mine I have a small conditions check before I call addWorld just to make sure the worlds not already there

#

Im pretty sure it errors out if it tries to addWorld to an already existing world with a pretty large error

tranquil tendon
civic zephyr
#

Fly blind

ruby sequoia
#

guys little need help there, i got luckperms on server but i cant find all existing permissions to commands like idk /world anyone can help me?

versed sleet
#

does anyone know if there's a single permission i can give to a group to allow them full access to the builder tools?

safe pendant
tropic axle
safe pendant
tropic axle
#

ohh dynamic values?

#

haven't tried something like that yet

wary lion
#

jesus i hate that i have to jump through hoops to get the default chat format

scenic mantle
#

but why won't it let me join the pre-release servers?

safe pendant
# tropic axle ohh dynamic values?
 // import com.hypixel.hytale.server.core.ui.Anchor
 // import com.hypixel.hytale.server.core.ui.Value
 val customAnchor = Anchor()
 customAnchor.setHeight(Value.of(999))
 ui.setObject("#Container.Anchor", customAnchor)

I figured out how to use dynamic updates and have provided the usage below. It might be useful somewhere.
The code is written in Kotlin; usage in Java may differ.

scenic mantle
#

Version: pre-release/2026.01.22-a60fdd027

Is there no server.jar yet?

safe pendant
scenic mantle
safe pendant
hearty iris
#

Anyone know any reason why i should store data on players as a component rather than making a database and having my own wrapper for player data? (For a server network)

unreal moat
#

how to i get the player ref from the uuid?

hearty iris
safe pendant
quaint citrus
hearty iris
quaint citrus
#

Also, it dependes on which info you want to save, for example cosmetics should not be on the player data since you lose control over it

strong musk
hearty iris
#

Also how are most people managing networks without a proxy? Redis DB?

quaint citrus
strong musk
#

also its client specified -- so the client could cheat in stats if you stored data like that in there

quaint citrus
#

I believe they're using custom solutions

hearty iris
#

What would be the point of a proxy though?

strong musk
quaint citrus
#

In my opinion just the DDOS protection, since we have transfer packets

strong musk
hearty iris
#

wym internal

strong musk
#

I mean unaccesable through normal means

hearty iris
#

Still would just need the port right? and you could reffer them

#

Gotcha, i see preventing access via direct connect and stuff

strong musk
quaint citrus
strong musk
quaint citrus
#

ahh got it

hearty iris
#

Yeah okay that all makes sense thx guys

strong musk
#

nw, good luck

hearty iris
#

❤️

#

By any chance any of you gotten mounts working via java not the assset editor yet?

tropic axle
#

Is there any documentation on all the properties available in .ui files

hearty iris
tropic axle
#

any unofficial docs maybe?

hearty iris
#

hytale-docs dot pages dot dev has some basic stuff

strong musk
quaint citrus
hearty iris
#
NPCPlugin.get().spawnEntity(world.getEntityStore().getStore(), NPCPlugin.get().getIndex("test_role"), location, rotation, model, (npcEntity, entityStoreHolder, entityStoreStore) -> {
                NPCMountComponent mountComponent = new NPCMountComponent();
                mountComponent.setAnchor(0, 1.5F, 0);
                mountComponent.setOwnerPlayerRef(owner);
                mountComponent.setOriginalRoleIndex(npcEntity.getRoleIndex());
                holder.addComponent(NPCMountComponent.getComponentType(), mountComponent);
            });
``` Look
safe pendant
strong musk
#

thats a good one too, the assets.zip is the best resource we have, spare the server jar itself(but the assets is a lot more readable to most people)

hearty iris
#

Have they said anything about when docs are being released yet?

tropic axle
hearty iris
#

It just dont work

celest dune
#

Every single day there's something new that doesn't let me enter my server... What do I do to fix this forever??

com.hypixel.hytale.codec.exception.CodecValidationException: Failed to validate asset!
Key: Name
Results: FAIL: Can't be null!```

```[Hytale] Missing interaction Effect
[Hytale] {Setup(null ...)} was closed.
[QUICTransport] Connection closed...```
safe pendant
#

@scenic mantle If you couldn't download the preview file, I can send it to you via email using WeTransfer, but this will take some time. If you wish, please send me your email address privately.

strong musk
quaint citrus
#

apparently it's harcoded

strong musk
quaint citrus
#

dunno if it's true tho

strong musk
#

seems to be true

quaint citrus
thorny vigil
#

Have you personally created / added in any interaction effects?

If so I'd start the hunt there

#

If the logs don't tell you specifically which mod the faulty asset is within then do trial by elimination

celest dune
#

So, we can't just put mods in the folder and be good with it, but we need to do some edits? Honestly I've no idea.. I'm using AI to help me since I don't know how to do this stuff, but on every restart I'm getting similar errors and it breaks every day. Then I somehow fix it and then it breaks again with those errors

thorny vigil
# celest dune So, we can't just put mods in the folder and be good with it, but we need to do ...

AI is only as good as the information available to it. Since there is no public documentation out yet and third party documentation is limited it just doesn't know what conditions need to be passed and is making sweeping mistakes that cause issues down the line.

It's likely you were closest to having it all working right when you started off and have now created a tangled web of issues that you are band aiding over.

If you're just trying to install mods then just start fresh and add the mods in 1 by 1.

There almost certainly will be some incompatibilities as most Hytale devs are used to MC modding which is a completely different architecture, so when you run into an incompatibility just skip that mod and move on.

#

In short, installing mods is on the more advanced end of the spectrum currently and actually modifying mods requires some decently advanced programming skills, so stay away from that entirely

celest dune
#

By modifying I mean creating manifest.json for them manually because seems like if I just put .jar there, they don't load or they act up then AI told me to manually create manifest.json for them with included content and they they worked but apparently today its broken again

strong musk
#

if a plugin jar didnt include a manifest.json there was probably something a lot more wrong than it just lacking the manifest

celest dune
thorny vigil
# celest dune By modifying I mean creating manifest.json for them manually because seems like ...

Yeah definitely not the route for you to take. There are like 15 layers deeper you need to have a grasp of in order to understand how your modifications will probably cause issues.

If I were in your shoes, I would install mods 1 by 1 and boot the server fresh every time you install a new mod.

If the server doesn't start after installing a new mod, just skip it and move on. Trying to diagnose an issue like that is incredibly advanced is well beyond the technical skill of most developers period.

#

Everything is so rudimentary right now that you should really just save yourself the headache and skip issue mods for the time being.

High caliber modpacks like you see in minecraft are a ways out of being a reality in Hytale - it's best to keep things as close to vanilla as possible to keep your server rockin and rollin

left prairie
#

How do I place a block using the Java API?

celest dune
#

All I want is no durability on tools and weapons and to see friends on the compas without opening the map (shared explored map would be cool too but not mandatory)

celest dune
# thorny vigil Like a custom minimap?

Sure, it's only that feature that I want, to see friends on the compas without opening the map to check direction and if possible to share the explored maps among us. Nothing else

thorny vigil
zinc glen
#

Can I ask, what if I create a server, how can I also add protection to the spawn so that people cannot destroy the blocks there? what mod or plugin is this?

left prairie
thorny vigil
thorny vigil
left prairie
#

as if it was placed by a player

thorny vigil
left prairie
#

Like is every block supposed to be its very own entity? Wouldnt that be like... overkill resource wise? Like there are so many blocks in the world

thorny vigil
# left prairie No not quite

Go spend a few hours doing a crunch session on it, it's not incredibly complex but the better you understand how it works the easier of a time you're going to have.

left prairie
#

with a unique UUID and everything

wide notch
#

Hello,
I trying to store an data to the chunk and player, but for some reason on chunk is not persist, contrary to player.
For doing my thing i have dig into Chunk code and reproduce how they handle WorldChunk (registered in LegacyModule).

So, i have register my components with :

this.playerFactionComponentType = getEntityStoreRegistry().registerComponent(PlayerFaction.class, "Faction",
        PlayerFaction.CODEC);
this.chunkFactionComponentType = getChunkStoreRegistry().registerComponent(ChunkFaction.class, "Faction",
        ChunkFaction.CODEC);

Note: both components is identical with only Store type changed.

And i add it to chunk with that code (from an command) :

Vector3d pos = playerRef.getTransform().getPosition();
Ref<ChunkStore> chunkRef = world.getChunkStore().getChunkReference(ChunkUtil.indexChunkFromBlock(pos.getX(), pos.getZ()));
if (chunkRef != null && chunkRef.isValid()) {
  chunkRef.getStore().addComponent(chunkRef, ChunkFaction.getComponentType(), new ChunkFaction(faction.getUuid()));
}

With my code the currently setup perfectly work , until i reboot the server cause data wont be stored on chunk (even if i force save world before stop).
Thanks.

left prairie
#

Like if I wanted to build a house progamatically (1 block at a time, maybe each block is placed with a 0.1 second delay)- lets say the house has 10 000 blocks in total. Would I then create 10 000 entities?

thorny vigil
left prairie
#

okay

boreal mist
#

Hi guys, I need help. I downloaded some prefabs and would like to use them on my server hosted on a VPS. I went into the world folder I was using, created the "prefabs" folder, and uploaded the .jons file. I updated the server, but nothing. When I do /prefabs list, I only get the default assets. Do you have a solution? Am I doing something wrong?

radiant plover
#

a

boreal mist
#

?

thorny vigil
tropic axle
#

Are there grids or some sort of flex boxes for ui building?

boreal mist
thorny vigil
boreal mist
thorny vigil
tropic axle
#

yea AI is not trained on hytale yet, it doesn't even know hytale is already released

boreal mist
thorny vigil
thorny vigil
boreal mist
#

in fact I'm trying to get informationù

tropic axle
#

What does a ItemGrid do?

thorny vigil
# boreal mist in fact I'm trying to get informationù

The issue is that the support here is moreso high level helping people with an existing knowledgebase get to a solution. Very tough to explain every little nuance of what could be happening when we can't see the full scope of what is going on to begin with

wide notch
boreal mist
#

ok

thorny vigil
#

There is also a visual in browser editor that is gaining popularity called hytale dot ellie dot au

storm heron
spare kraken
#

Mod request: Prefab importer, to allow a player to import (lvl 1 items only, not upgraded) a vanilla or curseforge prefab from a workbench and have that prefabs material cost shown at the workbench; have the workbench draw materials from chests as usual and only have it work if the space has been cleared and the materials are available. Sort of like Stormworks

thorny vigil
spare kraken
#

Do not want it "free"/cheaty. Still require the mats be farmed etc. Hopefully thats the direction they go

lost flame
#

i feel stupid... in minecraft you use Bukkit.dispatchcommand to run a command thru console... how tf would i run a command thru console in hytales? so many circles in documentation and i cant find simple

thorny vigil
# spare kraken Amazing if so

There is a strong group of devs working on "vanilla" plugins which are basically features that will 100% be native at some point

#

good idea

spare kraken
#

Here is a unique mod request: Craftable compass. Points to the nearest spawned secret Klops house, if any. Spins in circles if none in map range. xD Maybe an option to select a prefab for the compass to "find".

boreal mist
#

yes I also tried to put the file there but nothing doing

raw oracle
#

Wait is Hytale written in Java?

#

Are Hytale plugins similar to bukkit?

boreal mist
#

nothing happens, there are only the prefabs created and saved by me, but not the ones I'm trying to download

thorny vigil
# keen grove what group is that

oh not like a contained / organized group, there are just a lot of talented devs working on those types of projects. Guarantee though the best will all roll up into a super plugin that becomes standardized until Hytale catches up

keen grove
thorny vigil
# raw oracle Are Hytale plugins similar to bukkit?

No, bukkit is OOP whereas hytale is ECS.

If you're good at OOP then you can pick ECS up pretty quick but fundamentally they are quite different.

Also Hytale is multi-threaded whereas bukkit is single-thread.

That particularly will be an uphill battle for a lot of devs to master

nocturne kettle
#

Has anyone made a Server-Teleport mod where there is portals?

quaint veldt
thorny vigil
thorny vigil
sharp pumice
quaint veldt
#

player.getInventory().getHotbar()
.addItemStackToSlot((short) i,
new ItemStack(item.getId(), item.getAmount()));

thorny vigil
raw oracle
sharp pumice
#

thanks

raw oracle
keen grove
#

credit to @quaint veldt

keen grove
#

saw a lot of people asking about it

thorny vigil
#

Yeah that's super powerful

keen grove
#

not yet I still need to add a generic event

#

but it solves the problems I was having most

left prairie
thorny vigil
heavy willow
#

is the creater of bettermaps in here? why would you remove an ops ability to teleport freely by right clicking the map I LOVE the plugin dont get me wrong but thats kinda annoying that i have to disable the plugin during testing making my mods when im working on them then go back in to re-enable it to see the other side of the map ive already been in. am i missing a way to reenable the right click TP or is it fully removed cause i didnt see a command for it

quaint veldt
#

wait can I just construct the hotbar and slap it on the player?

thorny vigil
#

yep you got it

#

welcome to ECS baby

quaint veldt
#

reasons not to code at 2am I guess lol

odd nimbus
#

hytale multiplayer lag killing animals? (might be stupid question here)

thorny vigil
#

its also why plugins feel wildly incompatible. People decompiled and then forced it to work with OOP. The whole thing is a meat puppet held together with metal rods

thorny vigil
odd nimbus
quaint veldt
#

Is there much of a difference between constructing a new component and iteration if I need to diff the items anyways though?

odd nimbus
#

and its just one person that lags out every time

thorny vigil
#

Do you have a handful of plugins installed?

odd nimbus
thorny vigil
#

instead of constructing a component to check it you just read it

quaint veldt
#

Oh I meant like creating the HotBar then just plugging it in vs overwriting all values in an existing one

thorny vigil
thorny vigil
#

it takes no extra memory allocation to do that since behind the scenes youre just changing bits in an existing address rather than creating a whole new address and then filling it up

quaint veldt
#

accidentally ECS I guess

thorny vigil
#

yeah you honestly nailed it

pearl flower
#

Can you assign keybinds to plugin commands?

thorny vigil
still field
thorny vigil
cunning fable
#

Is there somewhere I can find a dev to make custom plugins / mods?

thorny vigil
thorny vigil
cunning fable
thorny vigil
cunning fable
cold drift
fading current
#

Issue using -XX:AOTCache with Hytale Server (shared class paths mismatch)

Hey everyone, I’m trying to run the Hytale server using the provided AOT cache, but I can’t get it to actually load. The server does start, but the AOT cache is always rejected.

This is my startup command:

cd ~/Hytale/ServerRicky
java -Xms6G -Xmx10G \
  -XX:AOTCache=HytaleServer.aot \
  -jar HytaleServer.jar \
  --assets Assets.zip \
  --backup \
  --backup-dir backups \
  --backup-frequency 30 \
  --backup-max-count 48

And this is the output related to AOT:

[aot] This file is not the one used while building the shared archive file: 'HytaleServer.jar', timestamp has changed
[aot] An error has occurred while processing the AOT cache
[aot] shared class paths mismatch
[aot] Unable to map shared spaces

Notes / things I already checked:

  • HytaleServer.jar and HytaleServer.aot come from the same official ZIP
  • I extracted them together and preserved timestamps (rsync -a)
  • Both files have matching timestamps (Dec 31 1979)
  • They are in the same directory and I’m launching the server from that directory
  • If I remove -XX:AOTCache, the server starts normally (just without AOT)

The server continues with:

[HytaleServer] Starting HytaleServer
[HytaleServer] Loading config...

So AOT is clearly optional, but I’d like to understand what exact conditions are required for the AOT cache to be accepted:

Does it depend on a specific Java version/build?

Absolute vs relative paths?

Working directory?

JVM flags or classpath differences?

Or is the distributed AOT just not meant to be reused outside the original build environment?

Any insight would be appreciated 🙏

cold drift
cold drift
left wind
#

How could I save data on a block? Is there any documentation for it? And make it update on for example on an action from a ui?

fading current
# cold drift Try absolute paths, if you think path is an issue On my setup I'm using the sa...

I tried something like:

cd ~/Hytale
unzip 2026.01.17-4b0f30090.zip -d temp/

That resulted in:

temp/Server/HytaleServer.jar
temp/Server/HytaleServer.aot

Then I copied both files together while preserving timestamps and metadata:

rsync -av temp/Server/HytaleServer.jar temp/Server/HytaleServer.aot ServerRicky/

And I start the server from that same directory:

cd ServerRicky
java -Xms6G -Xmx10G \
  -XX:AOTCache=HytaleServer.aot \
  -jar HytaleServer.jar \
  --assets Assets.zip \
  --backup \
  --backup-dir backups \
  --backup-frequency 30 \
  --backup-max-count 48
cold drift
fading current
rocky orchid
#

Hey guys!
I'm trying to increase the players jumpheight via code. How would i properly do that? applying a modifier via movementManager to playerRef doesn't seem to work.

fading current
wary lion
#

no

waxen turret
#

Has anyone attempted to create a working Mob Spawner? I think we currently lack APIs

queen meadow
#

Anyone have any idea why my world is getting unloaded right after its loaded? Im so confused... one time it was working and now is not.

Path path = Path.of("universe", "worlds", "islands");
WorldConfig worldConfig = new WorldConfig();
CompletableFuture<World> world = universe.makeWorld("islands", path, worldConfig);
System.out.println("world? " + world);

[2026/01/22 07:28:04 INFO] [World|islands] Loading world 'islands' with generator type: 'HytaleWorldGenProvider{name='Default', path='null'}' and chunk storage: 'DefaultChunkStorageProvider{DEFAULT=IndexedStorageChunkStorageProvider{}}'...
[2026/01/22 07:28:04 INFO] [World|islands] Added world 'islands' - Seed: 1769066884715, GameTime: 0001-01-01T05:30:00Z
[2026/01/22 07:28:04 INFO] [Universe|P] Removing world exceptionally: islands
[2026/01/22 07:28:04 INFO] [World|islands] Removing individual world: islands

rocky orchid
#

Ooooh, so I need to do it vice-versa. Get a MovementManager, then get the playerRef. Not the other way around. It works!

waxen turret
# still field it is possible

How is it possible? Currently cannot make several mobs spawn from an area I believe the only things that’s possible is a spawn marker which only spawns one individual mob.

wary lion
sonic flame
#

There is a yt channel called TroubleDEV that has explainers for ecs and adding commands. Not affiliated, just thought they were helpful.

worn urchin
#

guys how to enable hot reload

still field
worn urchin
fading current
# cold drift Is it your first setup ?

no, I have several installations and I only use ServerRicky for the tiome being.

ricardo@OptiPlex-3070:~/Hytale$ ls
2026.01.17-4b0f30090.zip  Assets.zip  hytale-downloader-linux-amd64  ServerOld  ServerRicky  ServerTeidar
ricardo@OptiPlex-3070:~/Hytale$ pwd
/home/ricardo/Hytale
still field
fluid cobalt
#

how can I teleport a player if he is dead?

fading current
cold drift
fading current
#

No problem.

still field
versed sleet
#
java[242174]: java.lang.NullPointerException: Cannot invoke "com.hypixel.hytale.protocol.GameMode.equals(Object)" because the return value of "com.hypixel.hytale.server.core.entity.entities.Player.getGameMode()" is null

what could be the causes of this happening? a plugin overwriting 'Adventure' gamemode to null before the player is properly initialized? i get this error only when new players join my server (who never joined before)

fading current
# cold drift I'll look into it once I get back, give me 10min

just to give you heads up, the timestamps on the files seem weird:

ricardo@OptiPlex-3070:~/Hytale$ ls ServerRicky/ -l
total 201784
-rw-rw-r-- 1 ricardo ricardo      1407 ene 22 00:56 auth.enc
drwxrwxr-x 3 ricardo ricardo      4096 ene 22 01:26 backups
-rw-rw-r-- 1 ricardo ricardo         2 ene 22 00:53 bans.json
-rw-rw-r-- 1 ricardo ricardo       586 ene 20 11:59 config.json
-rw-rw-r-- 1 ricardo ricardo       442 ene 20 11:59 config.json.bak
-rw-rw-r-- 1 ricardo ricardo 122531840 dic 31  1979 HytaleServer.aot
-rw-rw-r-- 1 ricardo ricardo  83644681 dic 31  1979 HytaleServer.jar
-rw-rw-r-- 1 ricardo ricardo    193497 ene 21 10:50 hytale_server.log
-rw-rw-r-- 1 ricardo ricardo    195148 ene 22 01:42 hytale_server_ricky.log
drwxrwxr-x 2 ricardo ricardo      4096 ene 20 11:59 Licenses
drwxrwxr-x 2 ricardo ricardo      4096 ene 22 00:55 logs
drwxrwxr-x 6 ricardo ricardo      4096 ene 21 12:19 mods
-rw-rw-r-- 1 ricardo ricardo       495 ene 22 00:58 permissions.json
drwxrwxr-x 3 ricardo ricardo      4096 ene 20 17:06 plugins
drwxrwxr-x 4 ricardo ricardo      4096 ene 22 01:38 universe
-rw-rw-r-- 1 ricardo ricardo        27 ene 22 00:53 whitelist.json

dic 31 1979 HytaleServer.aot and dic 31 1979 HytaleServer.jar seem unusual to me.

coral onyx
#

Has anyone had trouble loading custom ui elements in? Is the @2x required on the file names?

fluid cobalt
still field
still field
hushed quest
#

How can I open a chest-type window (WindowType.CONTAINER) on a mob? I am sending the OpenWindow packet, but nothing appears on the client side

coral onyx
regal current
fading current
fluid cobalt
cold drift
#

i actually have the same issue 🤣 @fading current

fading current
#

I thjink it's the timestamp on the files, they may not match on the timestamp on the jar and aot compile timestamp

cold drift
#
▶ java -Xms6G -Xmx10G \
  -XX:AOTCache=HytaleServer.aot \
  -Xlog:aot \
  -jar HytaleServer.jar \
  --assets Assets.zip
[0.008s][info][aot] trying to map HytaleServer.aot
[0.008s][info][aot] Opened AOT cache HytaleServer.aot.
[0.008s][info][aot] _jvm_ident expected: OpenJDK 64-Bit Server VM (25.0.1) for linux-amd64 JRE (25.0.1), built on 2025-10-22T16:51:32Z with gcc 15.2.1 20250813
[0.008s][info][aot]              actual: OpenJDK 64-Bit Server VM (25.0.1+8-LTS) for linux-amd64 JRE (25.0.1+8-LTS), built on 2025-10-21T00:00:00Z with gcc 14.2.0
[0.008s][warning][aot] The AOT cache was created by a different version or build of HotSpot
[0.008s][error  ][aot] An error has occurred while processing the AOT cache. Run with -Xlog:aot for details.
[0.008s][error  ][aot] Loading static archive failed.
[0.008s][error  ][aot] Unable to map shared spaces
cold drift
#

sooo; its not a timestamp issue more like JDK

cold drift
surreal harbor
#

Just don't use aot for now

cold drift
still field
# fluid cobalt Teleport.createForPlayer(targetWorld, ...); does not work because I add a telepo...

Teleport after respawn

When you clear the death state (i.e., remove DeathComponent or in a respawn hook), add the teleport then:
// in your respawn handler, after DeathComponent is removed
Transform dest = new Transform(new Vector3d(x, y, z), new Vector3f(0f, yaw, 0f));
commandBuffer.addComponent(ref, Teleport.getComponentType(), Teleport.createForPlayer(targetWorld, dest));
This lets PlayerMoveSystem do the world hop with no death component fighting you.

civic zephyr
hushed quest
glad juniper
#

Anyone knows how one would make progress bars with the .ui system here

hushed quest
#

Because when i turn it on i have not more logs like habitualy

fading current
# cold drift i guess you have your awnsers now

My java version is:

ricardo@OptiPlex-3070:~/Hytale$ java --version
openjdk 25.0.1 2025-10-21 LTS
OpenJDK Runtime Environment Temurin-25.0.1+8 (build 25.0.1+8-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.1+8 (build 25.0.1+8-LTS, mixed mode, sharing)

It's because of using openjdk instead of the propietary java sdk?

hushed quest
#

How can I open a chest-style container interface for a player? I’m sending the OpenWindow packet, but the UI isn't showing up on the client side. I want to trigger this interface (like a virtual chest) even through a command, but I can't get it to display.

cold drift
fading current
cold drift
still field
still field
#

Use the player’s WindowManager/PageManager, just like OpenContainerInteraction does.

#
  // ref: Ref<EntityStore> for the player, store/commandBuffer in scope
  Player player = commandBuffer.getComponent(ref, Player.getComponentType());
  if (player == null) return;

  // 1) Build container
  SimpleItemContainer container = new SimpleItemContainer((short)27);

  // 2) Wrap it in a window
  ContainerWindow window = new ContainerWindow(container);

  // 3) Open a page that hosts the window and send packets
  boolean ok = player.getPageManager()
      .setPageWithWindows(ref, store, Page.Bench, true, window);
  // Page.Bench is what chests use; you can use another Page if desired
  if (!ok) {
      // opening failed (e.g., window onOpen returned false)
      return;
  }
lunar brook
#

:)

steel coral
#

How to give a player an item?

worthy vessel
#

Im making an enchanting plugin and im wondering how Hytale handles item lores / names? How would I go about making the enchantments show in the description of the item after its been enchanted

still field
# steel coral How to give a player an item?

Use the player’s Inventory + an ItemContainer add, then send the inventory update packet:

  Ref<EntityStore> ref = ...;                // player ref
  CommandBuffer<EntityStore> cb = ...;

  Player player = cb.getComponent(ref, Player.getComponentType());
  if (player == null) return;

  Inventory inv = player.getInventory();

  // build the stack (id must exist in assets)
  ItemStack stack = new ItemStack("YourItemId", 1, null); // (id, quantity, metadata)

  // add it (hotbar-first combined container, or pick storage/hotbar directly)
  ItemContainer target = inv.getCombinedHotbarFirst(); // Inventory.getCombinedHotbarFirst()
  ItemStackTransaction tx = target.addItemStack(stack); // returns remainder info

  if (!tx.isFullyAdded()) {
      // optional: handle overflow (tx.getRemaining())
  }

  // sync to the client
  player.getPlayerRef().getPacketHandler().write(inv.toPacket());
subtle geyser
#

Do you want CRATES mod for /vote ????????????????

vocal kelp
#

hey does anyone know what componentAccessor is? selection.placeNoReturn(world, new Vector3i(100, 64, 200), componentAccessor); I'm trying to place a prefab but not sure what the componentAccessor is for or how to grab an instance of it

civic goblet
ornate raven
steel coral
late siren
#

Is there any way to check if player is pressing space mid air ?

stoic sigil
#

I have some projectileConfigs as .json. how do i register them properly so they are included in the build and findable by ProjectileConfig.getAssetMap().getAsset(..)?

vocal kelp
#

yo wtf is componentAccessor? I can't find info about it anywhere

wild flower
#

hello

spice bramble
#

Why do the mobs on my server not take any damage?

versed dirge
spice bramble
#

Is anyone else having this issue? How to fix it?

wild flower
#

wtf

azure violet
#

how do i make a function run at the end of each tick?

vocal kelp
#

does anyone know how to "place a prefab" from a plugin?

glad juniper
#

How do I set custom hp for npc entity? statmap does not work for some reason

ornate raven
vocal kelp
#

i see examples of it everywhere but nothing explains what it is or how do I get access to it

waxen turret
ornate raven
#

no idea i use blockselection.place

but try world.getEntityStore().getComponentAccessor()

tropic axle
#

Does anyone have any idea on creating flex boxes in uis

spice bramble
#

The mobs just won't take any damage no matter how many times I hit them. What's going on? I've already tried removing all mods, but they still don't take damage.

unkempt whale
bright pelican
#

Anyone figured out how to delete floating items/broken blocks from the ground?

unkempt whale
#

nope undo the paste that put them there @bright pelican

#

other then that no

bright pelican
unkempt whale
#

ahh

bright pelican
#

They just auto cleared after 5 mins thankfully.

ornate raven
unkempt whale
vocal kelp
empty sparrow
#

are anyone is able to launch server with the new pre release ?

ornate raven
ancient pagoda
#

I was using some Health bar plugin. After removing it, there were health numbers all around the space 😄
There would be buggy plugins long time until people used to work with Hytale engine which is much diffferent than MC's