#server-plugin

1 messages · Page 5 of 1

snow bronze
#

yo, any idea how can I target TextButton.Text in this structure?

Group #Navigation {
  Group #NavGroup {
    Button #NavigationButton {
      TextButton #NavigationButtonInner {}
    }
    Group #Divider {}
  }
  #NavGroup {...}
  #NavGroup {...}
}
#

okay nvm, finally figured that out to "#Navigation[i] #NavigationButton[1].Text", took a while

brave mural
#

Does anybody know if its possible to download an image on the server in display it to the client while the server is running ?

#

Or does the image itself has to be present when building the plugin ?

sterile forum
#

images needs to be present when building the plugin.
The exception to the rule are soem mods that made custom image object out of a quads per pixels, and in turn send color info per pixel from what i understand it, and even in that case it won't work as a image in any other context than where that object is displayed. As in you cant use it on a item or character or in the ui unless you create a custom ui object working on the same principle.

hexed tangle
#

anyone already used SeparatorAnchor within TabNavigationStyle? im trying to create a gap between tab buttons but can't get it to work

vital drift
snow bronze
#

Do we have anything like propagation in UI elements? Like if I click on a text button inside button is there a way to catch event as the parent one?

brave mural
#

Do we know when the new UI frame work will be ready?

NoesisGUI its called for hytale

brave mural
#

What does shared mean in the stats? {
"InitialValue": 0,
"Min": 0,
"Max": 0,
"Shared": false,
"ResetType": "MaxValue",
"Regenerating": []
}

sacred sundial
#

Hey, I've seen the documentation on conditions, instructions and especially the JSON configuration around it. Now what I don't really understand is how to add a new condition to a NPC programatically. And I don't really get how a new instruction can be linked to a condition. I've added a new condition class, implemented its utillity/simplicity and registered it but I don't really get the next steps. Is there a simple example available out there to link a condition to a NPC or add a set of instructions with actions? Sorry, not that a simple question

void wagon
#

How do nested states work?

ruby arrow
#

Does anyone know how to add additional values to Interactio beyond just the type, so that the plugin can read from the JSON file which Interactio is being executed?

tranquil raft
#
Group #Root
{
    Group #Normal
    {
        Group #Normal
        {
    
        }
        Group #Random
        {
    
        }
        Group #Weight
        {
            //Actual Insert Point
        }
    }
    Group #Random
    {
        Group #Normal
        {
    
        }
        Group #Random
        {
    
        }
        Group #Weight
        {
    
        }
    }
    Group #Weight
    {
        //Expected Insert Point
        Group #Normal
        {
    
        }
        Group #Random
        {
    
        }
        Group #Weight
        {
    
        }
    }
}
uiCommandBuilder.append("#Root[0] #Weight", "PageToInsert");

When i run this command it should insert a page into the #Weight group but instead it chooses the group further up so my question is how can i insert a ui element into the Expected Insert Point?

sterile forum
#

By not repeating the names or be clearer with the depth somehow.
Since you have multiple elements named #Weight, "#Normal", #Random, I guess you assume that the look up will do width first search to find out where the id you provide is located.
By the problem in question it seems like the UI do a depth first search, "children before sibling elements or distance" and first hit wins and that would be
#Root -> childelement -> #Weight
not
#Root -> #Weight

#

I guess you could try maybe #Root[0] Weight[0] or Weight[4] if it counts all instances of #Weight as on list of index but not sure that will work, haven't looked up how the ui look up works exactly,

#

but the best course of action might be to see if you can sneak in a breakpoint or similar in the code or search for how the lookup logic actually works.

#

could be that the name lookup like selectors in html supports other signs that change the meaning maybe spaces means search freely but id only separated by the actual hashtag would make it focus in child instead of depth #root[]#Weight but i haven't tried.
Best course of action is probably as i said read trough the code and see if there is any description of how the selector logic works or experiment and try to figure it out

sterile forum
tranquil raft
sterile forum
#

I did look trough the code and it seems like the selector logic is handled client side, and i didn't find any exampel of anything doing a deeper select i hope you have better luck.

shell geyser
#

I'm having the issue where the server won't start because my plugin is throwing the exception that queries cannot be made with null component types, but the component types that are throwing null are TransformComponent and UUIDComponent
of course, those are from hytale it self. under what conditions could they be throwing null?

quasi echo
#

Common Conditions for Null Component Types

Premature System Registration: If your plugin attempts to register a system or run a query in the onEnable or setup phase before the server has finished loading the standard library of components, those component types may still be null.
Missing or Corrupted Dependencies: If the server JAR is corrupted or if you are missing a required core dependency in your development environment (e.g., the Hytale server JAR is not correctly added as a compileOnly dependency in your build.gradle), the plugin may fail to resolve these internal classes at runtime.
Archetype Validation Issues: An exception like ComponentType in Archetype cannot be null can occur if a system tries to interact with an entity archetype that hasn't been properly defined or has been corrupted during a world-loading process.
Command Buffer Race Conditions: If a plugin or system creates multiple conflicting commands (such as removing a component twice in the same tick), the second command may hit a validation check where the component is already missing or considered "null" in the current entity context.

shell geyser
#

from what i can tell they should be initialized from the moment EntityModule#setup() is called which i would think is done before any additional custom plugins

shell geyser
quasi echo
#

That would be better asked on the modding discord

shell geyser
#

there's a modding discord?

#

cool cool ill ask there

sterile forum
brave mural
#

Is it possible to use the neosisgui already or no?

#

Because all UI files are currently deprecating no?

quasi echo
#

I don't think so because they haven't made the major swap yet that's what your talking about the swap to the new gui program

shell geyser
#

does anyone know what the following error means and how to resolve it? (heavily altered because it would be considered advertising by the bot otherwise)

#
[PluginManager] Failed to load pending classpath --- from 'HytaleServer jar' Failed to load manifest file!
IOException: Unexpected character: 68, 'h' expected ','!
brave mural
brave mural
#

manifest.json probably a plugins manifest

#

id go through all plugins manifest and check if you dont have a typo

sterile forum
#

or that you are not referencing a source jar with everything striped out.

shell geyser
#

oh ok alright, so it doesnt like gradle placeholders it seems
thats what broke it, server actually boots now and isnt failing to load assets either

i replaced the whole manifest.json with a generic one and manually entered the details instead and that seemed to work

#

thanks guys!

sterile forum
#

yeah probably some gradle/kotlyn step that did the active replacement before use.

brave mural
#
"MinValueEffects": {
    "TriggerAtZero": true,
    "Interactions": {
      "Interactions": [
        "Stamina_Bar_Flash",
        "Stamina_Broken_Check",
        {
          "Type": "ChangeStat",
          "Behaviour": "Set",
          "StatModifiers": {
            "StaminaRegenDelay": 99999
          }
        }
      ]
    }
  },


Does anybody know how i can say it should set it to max instead of putting the number 9999 in there which would basically also put it to max

#

Thats inside the stats.json

brave mural
#

Also when you define an effect duration via the asset editor for example a debuff, How would you extend or shorten theduration of that effect ( dynamically ). Any one experience with that?

sterile forum
brave mural
#

oh i can create a behavior?

sterile forum
#

public class EntityStatsSetCommand extends AbstractTargetEntityCommand {

#

the ChangeStatInteraction creates a command that executes toward the given entity. that calls the function i mentioned above.
So you would need to register more commands, and

public class ChangeStatInteraction extends ChangeStatBaseInteraction {

the current change stat behavior i limited to

public enum ChangeStatBehaviour {
Add(0),
Set(1);

so you probably need to create a custom enum and interaction change to use instead.

#

you can create anything.

brave mural
#

Ok, ill check that out thanks!

#

Btw, where can i see all the DamageResistences an entity has applied? Through his armor and his buffs and stuff?

lyric locust
#

Does anyone know how to turn off the plugin and asset notification so that I don't get a message every time I join saying that an asset pack has an older version?

celest kayak
#

Does anybody know if its possible to add vertical scroll in .ui files, Ive looked through docs and their seems to be some Scroll types but I cant get them to work.

celest kayak
#

ok its def possible ive got it to work

celest kayak
brave mural
#

There is almost 0 to none documentation on how the DamageResistance stuff works, did anybody know any secret sources? 😄

jaunty steppe
#

Does anyone here have any experience with custom recipes for custom machines? I'm digging through (somewhat broken and mangled) source code trying to figure this out. I see processing bench, Crafting Recipes, not really sure what i'm looking for or how to piece this all together. Does anyone have an example they could point me towards?

void wagon
#

benches and recipes? it's all done in JSON. The recipe is part of the asset model.

lone crag
#

is there any mod to fix the tent and banner bottom parts not need support? ive looked myself and didnt see any, im hoping somebody may have seen something like that

void wagon
#

can just override the assets and change the support requirements

late parrot
#

Hello. How do I set a player flying / set walk speed in a plugin? What methods are available on the Player class? Please

flat nest
#

may i ask if the update checkers are still stable despite its last updated 2 months back?

quasi echo
#

last stable update was Tuesday, February 17, 2026, at 10 am EST

open tiger
#

Attach effect using "Particle System" in Bone "R-Attachment" / Right Hand help?

brave mural
#

WHats the plugin called which opens a new ui when pressing alt ?

maiden relic
#

JEI Lumenia?

open tiger
#

detect "v" presssed help?

#

or event

#

Change Cam

brave mural
#

Is it possible that multiple plugins create custom huds and all displayed ? or no ?

nova bronze
#

yeah, multihud or auto multi HUD are used for multiple custom huds as far as I know

celest kayak
#

is there a way to make itemslot change the background or tint when selected/pressed?

Group #ChainSlotHighlight1 {
        Anchor: (Full: 0);
        LayoutMode: Full;
        Background: "ChainSlotHighlight.png";
        Visible: false;
      }
      ItemSlotButton #ChainSlot1 {
        Anchor: (Width: 64, Height: 64);
        LayoutMode: Full;
        Padding: 2;
        ItemSlot #ChainSlot1Item {
          Anchor: (Full: 0);
          ShowQualityBackground: false;
          ShowQuantity: false;
        }
      }

Ive done does but it doesnt seem to work even when i set it visble by default

open tiger
#

Is there any event that detects the camera change?

teal pine
open tiger
# teal pine like onmovement from minecraft?

I'd like to know if the camera triggers any event when switching between first-person and third-person views, so I can run a script when the player presses the "V" key. This could be a key-based event or a trigger that activates when the camera changes.

sterile forum
# open tiger Is there any event that detects the camera change?

I don't think the cameramanagercompoent send any event on change, but you can go the way of intercepting and changing packets.
The packet for setServerCamera is packet id 280.
We did talk about the player camera before and there might be edgecases, and setting a lot of parameters to null actually means reseting to default camera settings on the client.
But no way to detect the key press itself, and i think first third person camera might even be fully triggered client side. But not sure.

#

As in there are camera view settings for third person view but the server is never triggering a setServerCamera command for third person view. So either the player sets it and the server recieves a packet with the camera settings involved, or the server knows nothing about it at all.

open tiger
#

My idea was that every time he pressed the "V" key, the camera would switch to third-person view, so it would never be in first-person view and would allow him to use the "C" key normally.

#

But I don't have any events that are triggered when the camera is changed or keybinds are used.

cold quarry
#

anyone know how to create a damage event? the docs im following doesnt seem to be accurate

lime cairn
#

Hello, the prefab interaction from the item/item/block,json cannot have at all a chance to be spawned? is it possible to give it a chance only if we make it through a custom npc that will spawn (since npc have a chance to spawn) ? I'm trying to make a custom block that has interactions with percentage chance to spawn but I can only see SpawnNpc with chance to spawn but not prefabs or explode too...

brave mural
#

Is it possible to set priority which events are getting fire first if for example 2 Plugins listen to player Ready event and i want one to always be first?

sterile forum
sterile forum
unreal crescent
#

mod api official docs released yet? - its been a while since ive been here but i'm guessing no

unreal crescent
#

DaniDipp, you do honest work here man. Helping a lot of people. Thanks for everything you do for us

cerulean harbor
jaunty steppe
#

Noeisisgen Ui or what ever it is?

neat pelican
#

Noesis, yeah. It's still mostly background work. In the last pre-release they added the ability to trigger sounds via Noesis UI

#

But I wouldn't say that it's ready for general usage yet

#

Slowly but surely

jaunty steppe
#

I'm still trying to figure out how to implement a custom block entity, with custom inventory, and custom crafting manager

neat pelican
#

A block entity in Hytale is just a block you attach a Component<ChunkStore> to

jaunty steppe
#

Not Component<EntityStore>, i'm reading the docs right now

neat pelican
#

Correct. EntityStore is for entities, ChunkStore is for blocks

#

Check the LaunchPad component (com.hypixel.hytale.server.core.universe.world.meta.state.LaunchPad) for example. It's used for the mushrooms

jaunty steppe
#

I have an inventory system (data class with CODEC) implementing Component<ChunkStore> so I can check that off the shopping list

#

Okay, found LaunchPad

jaunty steppe
#

So i'm guessing somewhere along the lines I need a Ref<SomeTypeOfSystem> to tie all this together?

neat pelican
#

yeah the ChunkUtil is your friend when it comes to translating global coordiantes to chunk coordinate and chunk coordinates to indexes.
For example, here is how the PlaceFluidInteraction sets the FluidSection component to waterlog a block:
#server-plugins-read-only message

jaunty steppe
#

Got it, RefSystem<ChunkStore>

#

So PageInteraction, RefSystem<ChunkStore>, Component<ChunkStore> , then need to register everything 🤔

#

This is slowly starting to make sense

jaunty steppe
#

Stupid side question... is it possible to tint items, kinda like in MC?

sterile forum
#

Models have a tint value so does blocks. Not sure if that answers your question.

jaunty steppe
#

Yes! I'll have to looksie into that, thanks! 😸

cerulean harbor
jaunty steppe
#

I'm not exactly picky about how it gets done, I just want to be able to make one single base model with a gray-ish white-ish base texture, and tint it different colors

jaunty steppe
#

Okay I am so confused right now.


            ContainerWindow window = new ContainerWindow(new ClocheInventoryComponent().input);
            player.getPageManager().setPageWithWindows(entityStoreRef, store, Page.Inventory, true, window);
//            player.getPageManager().openCustomPage(entityStoreRef, store, new ClochePage(playerRef));

How am I supposed to open the page with player inventory, it's just showing the input slot, not the whole page, like it's chopping it up

hexed glade
#

how to override and change an items display name, is it not possible atm?

jaunty steppe
#

Asset Editor, lang file(s)

#

It's the translation property you're looking for, for both the Name and Description

iron loom
jaunty steppe
#

I have tried pretty much everything, looked at bench interaction and cannot for anything get the inventory to show up along with the custom UI, anyone have any ideas about how to do this?

dreamy mango
#

Guys, sorry for what may be a dumb question, but I've watched a Hytale Modding Guide: Custom Crafting Bench Basics on YouTube and it shows him creating a mods folder with server and common structure inside of appdata roaming profile and I believe it's due to this that when he opens the Asset Editor, the dropdown has his mod listed in addition to the default Hytale:Hytale (Read-only) pack with Server/Common tabs. However, I'm using the setup as described in https://hytalemodding.dev/en/docs/guides/plugin/setting-up-env which involves using a cloned template for my plugin that lives in my dev folder and doesn't follow this server/common folder structure described previously in the video. When I build in my current setup, I have gradle copy the jar file into %AppData%\Roaming\Hytale\UserData\Mods folder and run it this way, and the game sees my mod and loads it, but I don't see my plugin listed in the asset editor dropdown. Would someone know what I'm missing? Thank you so much in advance!

inner bison
# dreamy mango Guys, sorry for what may be a dumb question, but I've watched a Hytale Modding G...

If I understand correctly, from what I've been learning of it so far. Hypixel_Think

The Asset Editor can only open non-packed folders. So only if it's a regular folder, not a .zip or .jar.

I should note as well, that there are 2 main types of Hytale Mod: Asset Packs, & Plugins.

  • Asset Packs are what the ingame editor is designed/intended for. And are only for specific non-advanced things. (Blocks, Items, Recipes, Biomes, etc etc.) Although still quite powerful!
  • Plugins are for adding capabilities & more in-depth custom content. And those are done as .jar files. The ingame Asset Editor isn't made for those, you'll have to use an external proper editor for them, like IntelliJ.
#

It's important to note, as well, that the UserData/Mods folder takes priority over the world-specific Mods folder. So careful not to have issues with that if you've put them in both places. (Like via the Asset Editor.)

#

I've been watching Kaupenjoe's videos on it just now. And they're quite helpful so far for exactly that! Hypixel_Smile So I'd recommend those as well! They do a better job of explaining it than I ever could. XD

jaunty steppe
pine trellis
jaunty steppe
#

I've been at this all day, I've come to the conclusion that it's impossible to create a custom UI with the player inventory shown 🤷‍♀️

#

Maybe in the future releases it will be feasable

inner bison
#

Also, I haven't read all of what you've said prior. But is it possible you need something like MultipleHUD to allow more than 1 HUD to show at once? Or is that not a limitation in this context?

jaunty steppe
#

I don't know if MultipleHud would work or not Hypixel_Think

inner bison
inner bison
#

And Idk if it's a similar limitation or not, yeah. But could be worth looking at, if you're out of other ideas! Hypixel_Smile

jaunty steppe
#

I'm going to look into HyUi tomorrow and see if that helps, I even tried to re-hydrate some of the bench code to no avail

inner bison
#

Hypixel_Think Gotcha gotcha. Good luck, then! Kweebpray

jaunty steppe
#

Thanks! 😊

open tiger
#

How do I create a root interaction with ApplyEffect that doesn't stop the interaction because mine keeps disappearing?

quartz jay
#

does anyone know where to find "player has left default" is in the mods stuff? trying to disable it

neat pelican
lime cairn
#

Heya, is this behavior of the "next" field when adding interactions to a block on purpose or a bug?

Context: Let's say I add a few entities to spawn with a certain low chance when pressing F on the block (Entity one, two and three). One of them (let's say entity "three") will have in the next field (the field that says it's gonna run the interactions when current interaction succeeds) a "SpawnPrefab" interaction and everything is set in place.

What happens? When pressing F on the block, it spawns "one" and "two" entities the most but it also runs the interacting inside the next field from entity "three". Why? Entity "three" wasn't selected to be spawn but it runs it's next interactions? Can't it run only when spawning entity "three"?

sterile forum
#

One thing i realize is that npc are going to be interesting to learn.

#

how do you control if its entity 1, 2 or three that recieves the interaction.

#

What I mean is if they are part of the same interaction chain, then next would run for three as well, unless the next state has some failstate if it shouldn't run i guess.

#

But its hard to guess without knowing the exact execution flow.
Next is probably just info for what to run next regardless, and only beign skipped if it has a internal failstate or criteria not to continue.

lime cairn
lime cairn
#

those are 100% gonna happen and thought I could use this as a workaround to have a custom entity that is invisible and dies immediately after spawning to execute a SpawnPrefab option if the entity was ever selected based on it's chance of course

#

In the end I think I have to use a custom interaction to execute what I want. But I also found another weird bug I think: Whenever I select my custom interaction and set the fields, it's saying in chat (when interacting with the block) MISSING INTERACTION and points either on the right option with my custom interaction or the one before or after.....

But it gets fixed if I restart the server

glass maple
#

Hi, does anyone know why ProjectileComponent.getComponentType() returns null in the setup() . It works when I move it into start(). Am I missing something to make the ProjectileComponent available at setup time?

lyric locust
#

Does anyone know how to turn off the plugin and asset notification so that I don't get a message every time I join saying that an asset pack has an older version?

lime cairn
#

if I remember correctly, not sure if u can turn it off completely but you set the current version in manifest file to current version of the game:

"ServerVersion": "2026.02.19-1a311a592",

(ofc that version is an example and probably not anymore up to date)

near onyx
lime cairn
near onyx
#

either in the permission file or use the permission command

brave mural
#

Is there an editor to visualize and create particles ?

sterile forum
#

I would say, add it to a item in the world trough the asset editor, and then keep changing its property in the asset editor.

harsh hill
#

I'm trying to get a forked primary interaction to repeat when the button is held down, kinda like how it does for primary interactions from neutral. Any advice?

surreal orbit
#

I tried everything to fix this error, but I really couldn't. Any ideas? [EntityTrackerSystems$SendPackets] Entity can't be removed and also receive an update! Ref{store=class com.hypixel.hytale.component.Store@2104902919, index=0}

open tiger
#

use MySQL have lib?

neat pelican
jaunty steppe
#

What I starting working on was creating a fake hotbar / inventory overlay for the custom ui pages

#

I got to thinking back about how things were done when I was tinkering with modding back in 1.12.2, it was pretty close to what i'm doing now. Just recreating the hotbar / inventory storage along side the block inventory, instead of trying to load it, which is almost impossible

hexed glade
#

Hi! is there anyway to detect hotbar switch? what class, thanks!

hexed glade
#

i tried, it works but only when interacting with in ventory UI, when i actualyl use mouse scroll to switch item in hotbar or number buttons, it doesnt

#

nvm solved

pulsar shuttle
#

Is there a mod like Level up! Reloaded in hytale?

void wagon
#

When it comes to overriding assets, what determines which asset type shows up first? It seems to be random... but annoyingly, it removes the folder whenever I choose a different asset pack.

neat pelican
void wagon
#

Ah, so it'll always be what loads first?

neat pelican
#

what loads last overrides, i believe

lone crag
#

would it be possible to make a workstation block that can be used to exchange blocks we have for creative-only blocks not available in adventure mode? for example, insert 20 regular cobble for 20 ledgestone or something like that? Simon said on Prowls stream. something to the effect of, limestone wont be added to survival because they are not looking to rework the v1 gen when they are trying to replace it. i assume that goes for a lot of the creative only blocks, hence the original question.

dense geode
unreal crescent
inner bison
ocean musk
# unreal crescent Besides editing existing item descriptions which I’m still struggling with 🤣

you need to edit the server.lang file this is how i did it for my halo mod items.Needle_Ammo.name = Needle Ammo
items.Needle_Ammo.description = Can be acquired by smelting Purple Crystals in a <item is="Bench_Furnace"/>.
items.Bullet_Human.name = Bullets Human
items.Bullet_Human.description = Can be acquired by smelting Copper Bars in a <item is="Bench_Furnace"/>.
items.Plasma_Rifle.name = Plasma Rifle
items.Plasma_Rifle.description = Consumes 1 Essence Of Water Per Shot.
items.Needle_Rifle.name = Needle Rifle
items.Needle_Rifle.description = Consumes 2 Needle Ammo Per Shot For Decent Damage.
items.Needler.name = Needler
items.Needler.description = Consumes 1 Needle Ammo Per Shot.
items.Beam_Rifle.name = Beam Rifle
items.Beam_Rifle.description = Consumes 3 Essence Of Void Per Shot For High Damage.
items.Fuel_Rod_Gun.name = Fuel Rod Gun
items.Fuel_Rod_Gun.description = Consumes 5 Essence Of Life Per Shot For High Explosive Damage.
items.Gravity_Hammer.name = Gravity Hammer
items.Gravity_Hammer.description = Deals High Melee Damage. Usually Carried By Brute Chieftans.
items.Energy_Sword.name = Energy Sword
items.Energy_Sword.description = Deals Moderately High Melee Damage. Usually Carried By High Ranking Elites.
items.Plasma_Pistol.name = Plasma Pistol
items.Plasma_Pistol.description = Consumes 1 Essence Of Life Per Shot.
items.MA37_Assault_Rifle.name = MA37 Assault Rifle
items.MA37_Assault_Rifle.description = Consumes Human Bullet Per Shot.
items.Jackal_Shield.name = MA37 Assault Rifle
items.Jackal_Shield.description = A Medium Disc Shaped Arm Shield Worn By Jackals & Skirmishers.
items.Scarab_Gun.name = SCARAB GUN
items.Scarab_Gun.description = A DEVISTATING WEAPON USED BY UBER UNITS OF THE COVENANT.

#

same with npc roles you can add it in

unreal crescent
ocean musk
#

np

open tiger
#

Create custom ui exist tutorial?

#

interface

dreamy mango
#

Question for the veteran modders: Would anyone know if the crafting system is flexible and modable? For example, what if I want to make recipes discoverable as people experiment with different combinations of reagents? Or make it so that you need to stir something for x amount of time, otherwise it won't be as potent or rendered useless?

#

Also, on a related note, would it be possible to add metadata to items, that way we can craft a toxin and apply it to a weapon or arrows which can cause extra damage, both immediate and over time?

void wagon
#

Metadata would be in a custom component, but how you'd apply that as an effect, I'm not too sure. That might need to be a server-side detection, which would definitely be possible. I know what you're thinking though, kind of like poison-tipped weapons in RuneScape.

What do you mean by reagent?

#

(Wouldn't consider myself an expert, so others may have additional input)

dreamy mango
#

reagent = ingredient

#

I'm looking at implementing a comprehensive alchemical system, but I'd need to know if certain things are possible and if there's constraints to what I'm trying to achieve. Even something as simple as applying poison to a weapon may not be doable. Sorry for what might seem dumb questions

void wagon
#

I don't think weapons have states. You can store metadata in components, but I do not believe you can update the texture via whichever component it has. If you went with a dedicated item (due to needing it to be visual), it might be possible to apply an effect. This is from the Weapon_Longsword_Flame which deals fire damage, but it is the DamageEffects that might be interesting.

    "Longsword_Swing_Left_Damage": {
      "Interactions": [
        {
          "Parent": "Longsword_Swing_Left_Damage",
          "DamageCalculator": {
            "Type": "Absolute",
            "BaseDamage": {
              "Fire": 31
            },
            "RandomPercentageModifier": 0.15
          },
          "DamageEffects": {
            "WorldSoundEventId": "SFX_Longsword_Special_Impact"
          }
        }
      ]
    },

Couldn't find any use of DamageEffects that applied an effect ID but if there is a place for it to be, it will be there.

For crafting it would be fine if it's a dedicated item. If it is a component you wanted to add instead, I don't believe that's currently possible without listening to some crafting events in the backend. There is CraftRecipeEvent.Pre and CraftRecipeEvent.Post as EcsEvents that could be of value.

For experimenting with ingredients, due to the inability to place your own ingredients, this wouldn't be achievable out of the box. I believe, but don't quote me on this, that the current UI tooling has limitations in regards to creating UI with item inputs. This limitation should be lifted after the full shift to Noesis UI.

Someone with more knowledge may have better input. I'd recommend checking out the Hytale Modding discord if you aren't already in there as that is where the smart ones live!

dreamy mango
#

Thank you @void wagon, you have me some things to chew on. I didn't know about the Hytale Modding discord, that would definitely be the place to post these questions. Thank you!

jaunty steppe
dreamy mango
fierce current
#

I'm creating a tool that allows users to create mods/plugins with a visual node editor for Hytale

hexed glade
#

hi how to get defense/armor count from player stats?

#

so i can do something like calculate a player's armor/defense points

dense geode
#

Looking forward to it, Juan

lone crag
#

my mod list is showing a mod called small empty bottles, but i have no idea where it came from and i cannot find it in my mods...

dreamy mango
#

Anyone know how to specify jvm flags such as "--add-opens" so that it applies to the world i'm using to test my mod?

brisk trench
#

Is there a way to attach custom data to an instance/world?

neat pelican
#

Check TimeResource for example

#

it keeps track of the world's current time

brisk trench
#

Thanks, I've been working on a codec for it, but wasn't sure how to attach it properly

#

Trying to set up a dungeon minigame... are there utilities for managing minigames yet?

brisk trench
#

To clarify, I was wondering if there was anything native/built-in to Hytale, not third party.
I have my own instances, that part was easy. What I'm trying to do now is keep track of those instances. Since I'm using a "custom" instance (a slightly modified copy of Default_Void), I could probably filter Worlds based on their name (i.e., drop worlds with names that don't match <my instance name>-<any UUID>), but I feel like that will lead to a mess sooner or later (for instance, when old dungeons are deleted). Realistically, I probably need to use a database at some point.

#

By the way, I could use some desiners/builders to make the dungeons a little less bland. If anyone is interested in helping out, please let me know.

void wagon
#

I would like a block to tick once every 30 seconds. I attempted scheduled tick and added 30 seconds onto current time, but it ticks immediately. 😭

neat pelican
brave mural
#

Does anybody know how to create effects like 30% Chance to apply burn to an enemey? Is that possible via json assets or do i need to actually implement java for that

quasi echo
#

Best idea to ask on the modding discord for stuff like that

brave mural
#

which one ?

quasi echo
#

There only one main modding discord

void wagon
# neat pelican DelayedEntitySystem allows you to specify something that happens every x.x secon...

I suppose I can adopt that given I did say "every 30 seconds". Was hoping for an approach that was more dynamic. I was trying this:

Instant currentTime = commandBuffer.getExternalData().getWorld().getEntityStore().getStore().getResource(WorldTimeResource.getResourceType()).getGameTime();
Instant endTime = currentTime.plus(Math.round((float)block.getDelayInterval()), ChronoUnit.SECONDS);
section.scheduleTick(ChunkUtil.indexBlock(x, y, z), endTime);

and despite having an interval value of 3000, it's still instant in-game.

neat pelican
#

I wouldn't be surprised if passing an endTime that's in the past into that function makes it run immediately

void wagon
#

I was kind of following tickSoil, from the built-in farming systems.
blockSection.scheduleTick(ChunkUtil.indexBlock(x, y, z), decayTime);

where decayTime is updated like this:

double baseDuration = (double)range.min + (double)(range.max - range.min) * ThreadLocalRandom.current().nextDouble();
Instant currentTime = commandBuffer.getExternalData().getWorld().getEntityStore().getStore().getResource(WorldTimeResource.getResourceType()).getGameTime();
Instant endTime = currentTime.plus(Math.round(baseDuration), ChronoUnit.SECONDS);
soilBlock.setDecayTime(endTime);
neat pelican
#

Ah I see

void wagon
#

Yeah, I have no idea. I logged some values:
currentTime: 0001-12-13T16:44:37.053088355Z
endTime (after adding an ungodly number): 0002-01-17T10:04:37.053088355Z

Which I can confirm is later than /time, yet it still runs instantly. So... not sure what the deal is there. Doesn't seem to be something I'm doing wrong

#

Okay this is interesting. I removed scheduleTick, and it still ticks. It's ticking even though I'm not registering it to tick. What in earth.
Edit: Probably because of the BlockTickStrategy.CONTINUE, after changing that to sleep, it's better - it'll still update on each block update, so I need to store additional metadata.

brisk trench
#

I think I found an error in the source code, is there a standard way to report it?

naive night
#

What's the error

brave mural
#

Did anybody also come across this bug: "Dragging items into the active hotbar slot visually purges Infinite ApplicationEffects.Particles from the Entity."

I have a particle effect on a player but when he moves an item into the slot where his hands are the particles just disapear

earnest seal
#

Can npcs do charged attacks?

#

Or any special attack in general

quasi echo
#

ask the skeleton praetorian

lucid wasp
#

make your bets if i can finish my tts mod by the time update 4 hits release branch

maiden socket
#

How to add a new recipe for a vanilla item?

gusty onyx
#

anyone have an issue with downloading the newest release server files? i took a bit of a break from hytale and had a server running and configured for auto updates. but for some reason its not working. So i figured I would try to just manuaally download the server files and update them like before and it keeps not downloading anything?

woeful thistle
#

Hello, is there already a Hytale proxy that works reliably, like the one used in Minecraft Waterfall?

long juniper
#

(also dont use waterfall, its been deprecated forever)

analog minnow
#

Hi, does anyone know how to disable mods per world on a server ?

wanton sigil
#

just a question is there any working sleep percentage plugins/mods that work currently?
i only found one that has something similar with it just running a time command i believe whenever someone is in a bed.

fierce current
#

I emulated a Game Boy inside Hytale at a true 1:1 scale, rendering 23,040 blocks per frame. The hardest part wasn’t building the emulator, but making it performant. I’ve already managed to run games like Tetris, Batman: Return of the Joker, and Batman: The Animated Series.

quasi echo
#

Wild

faint glacier
#

Has anyone seen random disconnects alongside "You logged in again with the account!"

jaunty steppe
#

No, just invalid session / you're not logged in a few times since the last update, tells me to restart the game 🤷‍♀️

void wagon
#

With NPC modding, SetStat allows you to change a a numerical property to the given double. How does that work with boolean properties?
Edit: Nevermind, that's not even what SetStat is for...

sterile forum
# fierce current I emulated a Game Boy inside Hytale at a true 1:1 scale, rendering 23,040 blocks...

There is plenty of sources to pull from for emulstors so can see that being easy.

As for display you could experiment with debugshapes or particle systems for pixel control as well.

Or maybe a crazy model with attachments where you colored different sides of a box different colors and send rotation updates somehow.

Was considering a chip8 emulator but i wanted a good technique for pixel manipulation to arrive.

Not sure if flipping state on terrain blocks with four display states for color would be faster than adding removing blocks either.

shrewd crane
#

Good morning! I’m working on updating the backpack button in the client inventory UI, but I’m kind of stuck. Right now, the only way I can get the client to update is by dispatching through the game mode to the player. Is there a better way to handle this?

sterile forum
#

I think people talked about it before. But i cant remember if they found something else. Flippiing around with game mode seems like it could have more sideeffects in the long run.

Maybe someway to change it trough custom ui calls?

shrewd crane
#

Yeah, but I didn't find a better approach, I try look at some packets the game sent and customHud/PageWindow, but nothing seens properly work..

fallow flint
#

One of the prominent issues in Hytale modding community is that it puts so much pressure on modders and server owners every update

#

If you can't get the mods on your server updated until a major update releases, you will 100% start losing brand new players coming to the game

#

as these players can't simply download older client versions to join servers that haven't been updated yet

neat pelican
#

These issues will be addressed as Hytale development progresses along the Early Access journey

fallow flint
#

By the way, does Update 4 break modded workbenches?

#

None of the custom workbenches in my server are working

quasi echo
sterile forum
fallow flint
#

oh that doesn't sound good

sterile forum
#

Its great the old inventory design was not very good.

And its still prerelease so one should expect things to break.

fallow flint
#

and players are actively using those

sterile forum
#

Correct.

fallow flint
#

So I need to like, modify 10+ mods and fix workbenches individually until the release

#

and I haven't even figured out what actually I need to modify

sterile forum
#

If the moders are not updating them yeah.

#

And thats assuming they are not plugins or that the developer made the repository public.

fallow flint
#

(Especially the NoCube ones, I'm literally working on a public mod that's called Fix "NoCube's Mods")

#

Despite Hytale claiming to be a modder friendly game, adding mods actually makes server management so much more painful

#

but it's still an early access game so it's ok as long as the devs eventually do something about this problem

#

also, this isn't strictly an issue with Hytale's base game but I've seen a large number of mods that were created after the game's release, but then went abandoned before Update 2 or 3 without even making them open source

sterile forum
#

Yeah. Not to be cruel but its on you if you decide to add mods to a server at this stage or not. It is a risk you decide to take.

quasi echo
#

i suggest running a pure vanilla as well so people have a space to go to during the downtime

sterile forum
#

Wasnt that part of it as well you could configure a fallback server for a server if players fail to connect?

quasi echo
#

i know of a proxy mod i use that does that

brave mural
#

Is it possible to display an item in custom pages like it is beeing displayed in the inventory?

brave mural
#

With built in components hopefully? Or do i have create one completly custom

neat pelican
brave mural
neat pelican
brave mural
sterile forum
#

PossiblyElongatedGizmoContainer? 😄

brave mural
brave mural
sterile forum
#

Since its a ui element its already in a UI context, so i see what you are going for but it would be kinda obvious, that the thing you can only reference in the ui is part of the ui.

#

I need to do ui stuff tonight if my head don't kill me.

neat pelican
jaunty steppe
#

I really hope that they fix the inventory system, cause right now, trying to create a custom UI with a (semi) functioning player inventory system is a nightmare. I'm actually having to implement my own player hotbar / storage inventory to go alongside machinery and custom storage blocks 😬

brave mural
sterile forum
#

They really added a lot of ui files i am kinda sure wasn't in the assets before. But then again i might just have forgotten to copy unpack it proper.

jaunty steppe
#

I actually can't for nothing get a clean decomp of the source code 😒

#

I tried both patcher, and CodeSpy in IntelliJ

neat pelican
jaunty steppe
#

👀

#

Ooo, okay, I'll sit down and have a looksie when I get home from PT later on this afternoon, thanks! 😸

surreal orbit
#

I'm having trouble teleporting a player while they're moving; it sends them to the wrong coordinates. Does anyone know why this is happening? I don't have any logs, so there's not much I can do about it.

heady locust
#

How can I listen to entity deaths? Is there an event for it?

neat pelican
unreal dust
#

Hey guys so update is tomorrow and some mods like Violet's furniture, Macaw's furtnire... Do completly break the server boot. And seems like, especially Violet's, it will not be updated beforehand so if the server updates it'll render all placed furniture as failed assets.

Could someone perhaps point out what needs to be done to fix the furniture mods? At this point I'll try to fix it myself to at least have the server boot, it's pretty chaotic like this.

heady locust
sterile forum
#

There is Hytaleserver.jar

brave mural
#

WHats the difference in EntityEffects between StatModifiers and RawStatModifiers ?

jaunty steppe
#

Thank you!

void wagon
#

What controls the name of the capture crate? I see this:

items.Tool_Capture_Crate.name = Capture Crate
items.Tool_Capture_Crate.nameFull = Capture Crate ({npc})

but do not see where the latter is ever used but it is.

void wagon
sterile forum
#

if any of the mods are plugins, you need to go to the developers git repository download it set it up to compile with the latest versions and fix the code in the latest pre release. And rebuild them again and fix errors when the real version is out.

#

but probably not that likely if they are furniture mods since those mostly are assets.

versed basin
#

has there, have they added the possibility to implement custom hotkeys/custom interactions in the latest updates?

sterile forum
#

no dont think so

cerulean harbor
jaunty steppe
sterile forum
#

but custom interactions have been possible since day one of the pre release, not just with a custom bound input.

#

rightclick and right click with popup ui with options is the most dynamic even if not smooth i think.

lime cairn
#

Heya, when having a block with "explode" interaction, is there a way to have it drop everything else but not itself? Like the default value of "BlockDropChance" property is 1 and I've seen that this allows the drop of the block itself to happen alongside the others. What I want is that the block that the player interacted with and caused the explosion to not drop when breaking as a cause of explosion. I know you can solve this by setting "BlockDropChance" to 0 but it would be amazing if we could also make it so it's not dropping itself without setting that variable to 0.

sterile forum
#

there is probably a interaction part where you can make it set the current block to empty before triggering break on all other block.

#

as in feels like more of a explosion property one would set than a block property.

heady locust
#

Is there a Component for the entity movement speed? How do I change an entity's movement speed?

neat pelican
heady locust
neat pelican
#

any entity that has movement

brave mural
#

Is the update today ?

unreal dust
#

ugh this update is another chaotic one, why is it breaking crafting stations and furniture sets?

neat pelican
#

To improve crafting stations and furniture sets, I imagine 😉

unreal dust
#

mods adding craft stations, furniture, etc, breaking is more complicated as there's no negotiation there either it's fixed when server updates or the world will turn into pink error blocks

mechanics mods and such can be removed at little consequence but stuff placed in the world D:

sterile forum
#

With mechanical you mean feature mods.
Not logistic, industrial and production mods i assume.

unreal dust
#

building stuff however is the deal breaker

neat pelican
#

Mechanical mods: mods that introduce mechanics ^^

unreal dust
#

and stuff that adds entities like NPCs that's not even a deal breaker it's the world breaker 😄

sterile forum
#

but yeah i never catch linique probably things have a clearer divide and category.

real grotto
#

hihi
Anybody idea how I can run /fill /pos1 /pos2 or any similar selection command on console?

#

I dont wanna code my own things if its not necessary.. and just run command like this:

CommandManager.get().handleCommand(ConsoleSender.INSTANCE, "pos1 --x=-60 --z=-110 --y=210");```
#
CommandManager.get().handleCommand(ConsoleSender.INSTANCE, "fill fluid_water");```
neat pelican
#

If you're making a plugin, you can use the BuilderToolsPlugin directly. Check how the FillCommand works interacts with it

heady locust
#

What are valid "ServerVersion" I can use in the manifest to stop these warnings: [2026/03/26 14:28:24 WARN] [PluginManager] Plugin 'net.primaxstudios:PrimaxTrails' does not specify a target server version. You may encounter issues, please check for plugin updates. This will be a hard error in the future

#

apparently "*" doesn't work anymore as a value

neat pelican
real grotto
# neat pelican If you're making a plugin, you can use the BuilderToolsPlugin directly. Check ho...

oh I see, I should learn from this, gotcha

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package com.hypixel.hytale.builtin.buildertools.commands;

public class FillCommand extends AbstractPlayerCommand {
    @Nonnull
    private final RequiredArg<BlockPattern> patternArg;

    public FillCommand() {
        super("fillBlocks", "server.commands.fill.desc");
        this.patternArg = this.withRequiredArg("pattern", "server.commands.fill.args.replacement.desc", ArgTypes.BLOCK_PATTERN);
        this.setPermissionGroup(GameMode.Creative);
        this.addAliases(new String[]{"fill"});
    }

    protected void execute(@Nonnull CommandContext context, @Nonnull Store<EntityStore> store, @Nonnull Ref<EntityStore> ref, @Nonnull PlayerRef playerRef, @Nonnull World world) {
        Player playerComponent = (Player)store.getComponent(ref, Player.getComponentType());

        assert playerComponent != null;

        if (PrototypePlayerBuilderToolSettings.isOkayToDoCommandsOnSelection(ref, playerComponent, store)) {
            BlockPattern pattern = (BlockPattern)this.patternArg.get(context);
            if (pattern != null && !pattern.isEmpty()) {
                BuilderToolsPlugin.addToQueue(playerComponent, playerRef, (r, s, componentAccessor) -> s.fill(pattern, componentAccessor));
                context.sendMessage(Message.translation("server.commands.fill.success").param("key", pattern.toString()));
            } else {
                context.sendMessage(Message.translation("server.builderTools.invalidBlockType").param("name", "").param("key", ""));
            }
        }
    }
}```
#

will try O.O

heady locust
neat pelican
verbal wasp
#

i added it o my gradle file that he reads the implementation version from the jar manifest

neat pelican
#

Players may now have multiple instances of Hytale running simultaneously. To reduce the risk of save corruption, players are advised against opening the same world multiple times simultaneously.
Yippieee!

sterile forum
#

doesn't that remove some of the benifits, in the sense of "I need to try this thing localy with multiple players" but you can't have two of them in the same world. 😄

green dust
neat pelican
#

Yeah you should always test on a local server you host yourself, not via the game's single player function. So you have better access to the logs and folder structure

vestal solar
#

Is there a way to force a mod to validate?

neat pelican
sterile forum
#

Wait? People test in singleplayer?

Besides that doesnt change the fact of two of the same player in the same world

neat pelican
#

It's not two of the same player in one world, it's about launching two instances of the game (with different game profiles)

marsh ember
#

Is it possible to spawn a zombie combat logger with custom metadata containing the players UUID? Or would I want to just store a ref to the zombie?

#

working on hosted UHC, and am looking to spawn a zombie in the players place if they are alive and detect if that zombie is killed if that makes sense.

cerulean stirrup
#

Hmm now with update 4, alot of mods are not updated. Anyone know what happens if I remove a mod from the server that has added blocks I have used in the world? Will they become some "placerholder"-block or will the world be unbootable?

quasi echo
#

Placeholder blocks

cerulean stirrup
#

Ok thanks, vill try to remove the non updated mods until they update then 😛

half roost
#

If u know the version is the last that u are working on then u can do that without change that every time

flat nest
#
[2026/03/26 17:30:27 SEVERE] [HytaleServer] Asset validation FAILED with 20 reason(s):
Mod dev.scottjugbler:AnimeClothing failed to load. Check for mod updates or contact the mod author.
Mod Violet:Violet's Furnishings failed to load. Check for mod updates or contact the mod author.
Mod BlameJared:ThoriumChests failed to load. Check for mod updates or contact the mod author.
Mod ExperionPlanet:VampirismSet failed to load. Check for mod updates or contact the mod author.
Mod Makapar:BarterShop failed to load. Check for mod updates or contact the mod author.
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
failed to validate npc's
[2026/03/26 17:30:27   INFO] [HytaleServer] Shutdown triggered!!!
[2026/03/26 17:30:27   INFO] [HytaleServer] Shutting down... 6  'client.disconnection.shutdownReason.validateError.detail'
[2026/03/26 17:30:27   INFO] [PluginManager] Saving plugins config...
[2026/03/26 17:30:27   INFO]  [HytaleServer] Saving config...
[2026/03/26 17:30:27   INFO]  [HytaleServer] Shutdown completed!

does this mean the said mods need to be updated?

remote chasm
#

yes

#

inventory classes changed, any mod that deals with that will need to be updated

flat nest
remote chasm
#

the classes that were responsible for inventory handling do not exist anymore

#

there are new ones that are more tied with ECS

nova bronze
#

any general things i should be aware of with this update before, well, updating

fallen thorn
#

Yeah I realized that as well! Is there any community or channel were people can be updated about these kinds of API changes? Looking at the new Code the Inventory seems to be only accessable via Events right Now. But if you wanna change an player inventory, there is no way to retrieve an Inventory reference from the player to call the inventory from the store -.-.

remote chasm
#

try InventoryComponent#getCombined() and getStore().getComponent(blockRef, ItemContainerBlock.getComponentType()) for block inentories

#

best idea to find out things like that is to look at the server source

#

those classes were deprecated ever since game came out

real grotto
#

Huh... thats a funny thing to realize
I dont think there is a command to remove water?
There's /fill to fill up air blocks with water.. but not the reverse, to remove fluid from an area

cerulean stirrup
cerulean stirrup
cerulean stirrup
#

Yeah alot of issues right now lol

real grotto
cerulean stirrup
#

I only used /set fluid_water or /submerge fluid_water...never /fill 😛

blazing badger
#

when will server source code be published?

neat pelican
real grotto
#

will look thanks

half roost
real grotto
unreal dust
#

Can you via server-side mod enable voice-chat for every player by default? It feels weird not hearing someone speaking to you without manually toggling it on

glass maple
#

Hey guys, does anyone have open source plugins they want to share with me (I'm making a Kotlin Tool) that based on annotations it'll generate CODECS or register components etc automatically. I need to see some more complicated mods people have to be able to cover most case scenarios. I'd greatly appreciate that, I already have working prototype but limited features. (I was making the tool as I was developing my own mod)

Ofc I won't use your code, just need to see how people do things

neat pelican
glass maple
#

That will work for me, thank you!

nova bronze
#

neat, i got to test my update/backup script that hooks into the whole staging process. lil unnecessary but i wanted to toy around with it

brave mural
#

Are release and pre-release now on the same patch? or whats the latest patch for release?

neat pelican
timid ivy
#

Hi, does anyone found a new way for Inventory::getCombinedEverything. Because it got removed now

brave mural
#

But it got updated to the prev pre release

neat pelican
#

big overhaul to the vector types! They now use base JOML classes rather than hytale-specific ones

brave mural
#

They are pumping updates, Thats so cool

neat pelican
lucid wasp
#

been stuck on that for quite some time now

lime cairn
inner fossil
#

is there anything I am missing, voice chat is enabled and it shows if I do /voice enabled true and in the mod configs, even restarted server but players still can't hear each other in-game and they also have voice enabled in their settings

lone knoll
warm berry
#

Is there a channel or something associated for finding people to work on a plugin as a team? And finding people good at building etc.?

vivid bone
#

Hi, anyone got that kind of issue ?

#

[2026/03/26 21:05:49 SEVERE] [Hytale] Exception in thread Thread[#132,WorldThread - Varyon,5,InnocuousForkJoinWorkerThreadGroup]:
java.lang.IllegalArgumentException: Scale must be greater than 0

lone knoll
vivid bone
shy narwhal
#

are there any like foolproof server status verification tools?

#

Like something that can detect if the server has a valid token, up to date and is actually joinable?

weak ferry
#

I hope this is the right channel... Has anyone been able to successfully update a server hosted on shockbyte? I'm having a heck of a time figuring this out

long leaf
#

A lot of mods were using Hytale:BlockStateModule which seems to be removed, any suggestions?

shy narwhal
#

not that Ive used chockbyte, but I would imagine it has some kind of file browser that you can use?

weak ferry
shy narwhal
half roost
#

I have a question: if I import a file and it finds the necessary information when searching in hytaleServer.jar with intelliJ, but then when I run the build command it throws an error saying those packages don't exist, does anyone know how to fix this?

weak ferry
shy narwhal
#

and there should be an assets.zip somewhere on the server, which is located one level up .../game/latest.Assets/zip

weak ferry
shy narwhal
#

assets.zip, thats it

#

if its still not booting, the server host must have something special going on, or you've installed mods that no longer work on the latest version

weak ferry
#

No mods installed. I'll replace this file too and see what happens. It's a bigger one so it's going to take a minute

shy narwhal
#

If it doesnt work then, you can share the error log here and someone may be able to help ie using pastebin (döt) com

weak ferry
#

I think I got it working now. Thanks for the help!

neat pelican
remote chasm
#

since people keep asking the same thing over and over

Block inventory

Ref<ChunkStore> blockRef = chunk.getBlockComponentEntity(x, y, z);
if (blockRef == null) return;
ItemContainerBlock containerBlock = blockRef.getStore().getComponent(blockRef, ItemContainerBlock.getComponentType());
if (containerBlock == null) return;
SimpleItemContainer container = containerBlock.getItemContainer();

Player inventory

CombinedItemContainer playerInventory = InventoryComponent.getCombined(commandBuffer, ref, InventoryComponent.HOTBAR_FIRST);
somber lodge
#

Would people be interested in a simple meerkat morph potion zip mod? I made one and wondered if it’s worth posting to curseforge just looking for feedback

sterile forum
neat pelican
#

but then it can easily be linked

sterile forum
#

fair

royal blade
#

Hey after the new update the class LivingEntityInventoryChangeEvent doesnt exist anymore? how do i register an inventory event now?

#

that is from an entity

sterile forum
royal blade
#

the solution is to use the EntityEventSystem

fallow flint
#

💡
If you're currently using Violet's (Furnishings/Plushies/Music Players) in your server, I wrote a Hytalor-based patch for my server to fix those mods for Update 4. Feel free to browse the patch files and use them for your server:

github[.]com/IroriPowered/asset-patches

The repo also contains fixes & tweaks for bunch of other mods in my server so choose the ones you need (Note that you might need to launch the server with --ignore-broken-mods)

nova bronze
#

i swear, every update people start trying and failing to connect to my server

modest sable
#

Can someone explain why I'm getting this error in my console ?

>....[2026/03/27 15:02:29 SEVERE] [EntityModule|P] Failed to setup plugin Hytale:EntityModule Exception Details: at com.hypixel.hytale.server.core.modules.entity.EntityModule.setup(EntityModule.java:366) at com.hypixel.hytale.server.core.plugin.PluginBase.setup0(PluginBase.java:390) at com.hypixel.hytale.server.core.plugin.JavaPlugin.setup0(JavaPlugin.java:48) at com.hypixel.hytale.server.core.plugin.PluginManager.setup(PluginManager.java:892) at com.hypixel.hytale.server.core.plugin.PluginManager.setup(PluginManager.java:291) at com.hypixel.hytale.server.core.HytaleServer.boot(HytaleServer.java:389) at com.hypixel.hytale.LateMain.lateMain(LateMain.java:56) at com.hypixel.hytale.Main.launchWithTransformingClassLoader(Main.java:64) at com.hypixel.hytale.Main.main(Main.java:40)

sterile forum
#

there should be more details because that states nothing else besides it being wrong

modest sable
sterile forum
#

find an error in the log that refers to your actual mod or mod name or function in your mod.

wild plume
#

not sure if this is a good place to ask this, but has anyone had trouble getting hytale-downloader to download the lastest version? I keep getting an error about a invalid refresh token. I ended up manually copying the server and assets file to my container so I can play, but just wondering if this is a known issue.

timid pivot
#

Any chance anyone knows what value you need for the current version for skipmodvalidation?

#

Aha

#

It's the Revision ID!

nova bronze
vivid bone
#

Hi does someone have feedback on the mod hyinit and Refixes ?

nova bronze
#

feedback?

wild plume
brave mural
#

Can someone explain to me why the particles are not disapearing? The snow impact does properly disapear but the snow effect does not.

// Freeze.json
{
  "ApplicationEffects": {
    "EntityBottomTint": "#80ecff",
    "ModelVFXId": "Freeze",
    "ScreenEffect": "ScreenEffects/Snow.png",
    "Particles": [
      {
        "SystemId": "Effect_Snow",
        "TargetEntityPart": "Entity",
        "TargetNodeName": "Pelvis"
      },
      {
        "SystemId": "Effect_Snow_Impact",
        "TargetEntityPart": "Entity",
        "TargetNodeName": "Pelvis"
      }
    ],
    "EntityTopTint": "#da72ff",
    "MovementEffects": {
      "DisableAll": true
    },
    "AbilityEffects": {
            "Disabled": [
                "Primary",
                "Secondary",
                "Ability1",
                "Ability3"
            ]
        }
  }
}

ANd then i use this like this:

//Freeze_T1.json
{
  "Parent": "Freeze",
  "Duration": 1,
  "Infinite": false,
  "Debuff": true,
  "RemovalBehavior": "Duration",
  "OverlapBehavior": "Overwrite"
}

FOr some reason the particles doesnt disapear. atleast not the snow thing. any idea why?

timid pivot
#

also, I hope to god hytalor gets updated soon. x.x so many mods are dependent on it.

vague blaze
#

@nova bronze PLEASE update your Violet Mods to latest game Version! 🙁

neat pelican
snow steeple
#

Does anyone know any mods that exist (and work) that have the same concept of reforging like hypixel skyblock has? where its random reforges you can apply to any tool/weapon/armor and they have configurable stats

nova bronze
vague blaze
vague blaze
neat pelican
nova bronze
#

it's also kinda rude to just ping mod authors to update their stuff, i'm sure she will update her mods when she has time to

#

i do miss my plushies tho @nova bronze

north quarry
#

plus violet that made the mod is busy updating the game which I say is more important

mellow cipher
pulsar bone
#
public class PlayerConnectionListener {

    private final PlayerManager playerManager;

    public PlayerConnectionListener(PlayerManager playerManager) {
        this.playerManager = playerManager;
    }

    public void onPlayerConnect(PlayerConnectEvent event) {
        PlayerRef player = event.getPlayerRef();

        playerManager.load(player.getUuid(), player.getUsername());
    }

    public void onPlayerDisconnect(PlayerDisconnectEvent event) {
        PlayerRef player = event.getPlayerRef();

        playerManager.unload(player.getUuid());
    }
}
#

is this the correct way to add and remove player from a list

#

afaik this is correct for Minecraft but idk about Hytale

#

oh hey it DaniDipp to say the day

#

ECS is a nightmare for someone who is used to minecraft

neat pelican
lime cairn
#

why ? it's that different?

pulsar bone
#

it giving me a roller coaster of information

lime cairn
#

didn't touch minecraft modding (only did play a bit with a plugin) but seems like quite a bit of info to swallow a bit with ECS at beginning but starts to actualy settle in after using it a bit.

pulsar bone
#

also is there HytaleServer.jar in maven yet

#

cause it kinda annoying to have to manually update HytaleServer.jar

neat pelican
pulsar bone
neat pelican
pulsar bone
#

https://maven.hytale.com/release doesnt seems to do it

neat pelican
#

doesn't seem to do what?

#

did you properly define the artifact id and version?

pulsar bone
#
repositories {
    maven("https://maven.hytale.com/release")
}

dependencies {
    compileOnly("com.hytale:hytale-server:2026.03.26-89796e57b")
}

this should be correct right?

neat pelican
#

no, where did you get that? ^^

pulsar bone
#

uh i think it would fit gradle

neat pelican
#

It does, but it looks like an AI hallucinated the group and artifact id

pulsar bone
#

oh yeah it suppose to be Server

neat pelican
pulsar bone
#

my bad

neat pelican
#

all good Kweebpray

pulsar bone
neat pelican
#

you still have the group incorrect

pulsar bone
#

oh shi no wonder why i cant find the url too

#

shouldn't trust AI

neat pelican
#

especially when I gave you the literal source of truth url 😭

pulsar bone
neat pelican
#

because that's a maven repository, not a website

pulsar bone
#

thank you very much Dani!

pulsar bone
#

or is there already a good one 🤔

neat pelican
#

just be aware that this is on the roadmap for vanilla

pulsar bone
#

can you clarify that and yes i made 1 using only vanilla's resources

neat pelican
#

The Hytale team said they want to add Friends lists and cross-server party systems to the game

pulsar bone
#

ohhhh welp no more friend and party then 🤣

pulsar bone
#

i will go back with making a good Network Management plugin then

neat pelican
#

It's still way out so there is definitely value in a plugin like this for the time being. Just be prepared for integrating the vanilla functionality when it drops

pulsar bone
#

maybe Hytale wont make that vanilla

flat nest
#

anyone having issues with interactions in the basic workbenches

quasi echo
#

About the mod verification skip removal

There are three things that happened here:

  1. The old "skip mod validation" was checking the ServerVersion matched. This was removed, you now only get a warning about that.
  2. The new --ignore-broken-mods CLI arg is more clear, because if a mod hits this it is genuinely broken and you are better off disabling the mod until its updated.
  3. This flag exists to support mod development because if a plugin or mod fails to load you may still want to debug stuff or hot-reload the mod. Unpackaged mods that are in a directory structure don't cause the server to reject broken mods too, so you can use the asset editor to fix the problems. This means if a pack is causing a problem you could just unzip it and then fix it with the asset editor.

Note: When a mod is disabled the server should preserve the mod data as "unknown" if the mods is correctly using the server. So when its updated everything should continue to work.

novel tendon
#

@flat nest I think you need to recreate them from updated ones. Maybe try to add basic ones as parent

novel tendon
#

If it tell me '' The following plugin failed to load '' How can i fix it please ? I use gradle. I can open the project if i copy the server folder in a new pack and it seems to work properly.

novel tendon
#

Should i still do this if i use gradle ?

<repositories>
<!-- Hytale release repository -->
<repository>
<id>hytale-release</id>
<url>https://maven.hytale.com/release</url>
</repository>
<!-- Hytale pre-release repository -->
<repository>
<id>hytale-pre-release</id>
<url>https://maven.hytale.com/pre-release</url>
</repository>
</repositories>

Add the dependency to your pom.xml:

<dependency>
<groupId>com.hypixel.hytale</groupId>
<artifactId>Server</artifactId>
<!-- Replace with latest version, we provide jars for the last five releases -->
<version>2026.01.22-6f8bdbdc4</version>
</dependency>

neat pelican
novel tendon
#

How do i test find out if its a version problem or if its something within the project that prevent the build to work ?

#

I managed to have the version in green but it still wouldn't lauch

neat pelican
#

How do you have it configured in Gradle?

novel tendon
#

rootProject.name = "dev.hytalemodding"

plugins {
// See documentation on forbidden link
id("dev.scaffoldit") version "0.2.+"
}

// Would you like to do a split project?
// Create a folder named "common", then configure details with common { }

hytale {
usePatchline("release")
useVersion("+")

repositories {
}

dependencies {
}

manifest {
    Group = "HytaleModding"
    Name = "Flux_Wars_Prototype"
    Main = "dev.hytalemodding.Flux_Wars_Prototype"
}

}

#

I feel i need to put something inside repositories and dependencies, i tryed to copy what pavelle did previously but it didn't work, i am a complete beginner in modding, so thank you for your patience 👍 .

neat pelican
#

Yeah you can do what pavelle did, but you need to correct the dependency to com.hypixel.hytale:Server:...

novel tendon
#

i finish with .pom or just nothing ?

neat pelican
#

No, Gradle takes care of fetching the pom on its own

novel tendon
#

Thanks a lot for your help, now the version is written in green but i have the error : ''the following plugin failed to load''
It means something is wrong with the elements of the plugin right ? Like elements that have been modified in the patch.

neat pelican
#

I don't know, not enough context My first thought was the dev.scaffoldit plugin?

novel tendon
#

Can i deactivate it for testing ?

neat pelican
#

I don't know what it does or why you need it

novel tendon
#

ok thanks

neat pelican
#

Might be worth asking on the hytalemodding discord instead since this looks like their template

novel tendon
#

I'll do thanks for all your help 👍

#

It was just a naming problem it works fine your the best !

brave mural
#

Do Infinite effects stay even after a character dies? Doesnt seem like it ?

inner fossil
#

anyone figured out how to get voice chat to work on your server? it's enabled on /voice enabled true and client side but still no voice works, any ports that needs to be opened?

sterile forum
#

Just checking, you know it got proximity settings as well so you might have to be close to hear each other.

#

make sure the microphones work and pickup sound and no one have press to talk set and is not pressing the button.

inner fossil
remote flicker
inner fossil
ruby arrow
#

Is it just me, or is everyone else having huge problems migrating their project to the new version?

lime cairn
#

Heya, how exactly do I spawn an item in the world? Like I wanna spawn an item in front of player about 5 blocks away so he doesn't pick up. I've found somewhat working code:

Vector3d pos = pos2.getPosition().add(dpt, interval, total);
        world.execute(() -> {
            for (String item : items) {
                ItemStack itemStack = new ItemStack(item, 1);
                System.out.printf("It's valid the %s? %s".formatted(item,itemStack.isValid()));
                Holder<EntityStore> itemHolder = ItemComponent.generateItemDrop(
                        store, itemStack, pos, Vector3f.ZERO, 0.0F, 3.25f, 0.0F);
                assert itemHolder != null;
                store.addEntity(itemHolder, AddReason.SPAWN);
            }
                player.sendMessage(Message.raw("Done!"));
        });

But for some reasons, the next second after spawning, they get into player inventory from miles away. I heard u have to use ItemComponent.generateItemDrop to spawn an item... or it's not the right way to spawn any item in the world?

vernal saddle
#

i have been tinkering with making a java plugin. i have the basic routine down, can get it into the game, its loading/updating/running, but my cusom recipes are not there. I am trying to make a new one, overwrite an existing one, and add 3 others, all with vanilla items just to learn how its done from java. I feel like its probably being disregarded by the interpreter without an error

Can anyone offer me a little help to get back on track?

half roost
#

A recipe is simply an item that has requirements for: 1. where it is crafted, 2. the materials, and 3. the final item.

vernal saddle
#

manifest has IncludesAssetPack true. my recipes are in src/main/resources/assets/server/recipes/

the attempt to overwrite is then in /hytale, the custom ones are just in recipes

#

i'm guessing its capitalization or pathing or something_simple

half roost
#

Its from Common

#

I have a mod that uses icons and pages and it's in Common.UI.Custom.Pages-Icons

#

In fact, recipes does not exist as a path on the server.

vernal saddle
#

is there a good resource that shows the pathing, or where i can verify what the server expects?

half roost
#

I copied the Hytale assets.zip file to another folder and extracted it.

#

I'll check there, or maybe in the asset editor if you need something specific; the path will appear in the tab of the item you're viewing.

vernal saddle
#

if i wanted to move a recipe from one category of one bench to a custom category of another existing bench, that should be achievable with overrides with proper pathing, right?

half roost
#

You should, because I understand that the item you make lets you select what types of materials it needs to be crafted, in addition to the table it needs, so you don't need to modify the table Only the final item, since that's where the record of where and with what it can be created is kept.

vernal saddle
#

i extracted assets and am peeking through. you said the crafting bench and recipe are not stored together, but the individual item stores where it can be crafted. are there any vanilla items that can be crafted on two different benches?

half roost
#

"Recipe": {
"Input": [
{
"ItemId": "Ingredient_Dough",
"Quantity": 1
},
{
"ItemId": "Plant_Crop_Pumpkin_Item",
"Quantity": 1
},
{
"ItemId": "Ingredient_Spices",
"Quantity": 1
},
{
"ResourceTypeId": "Fuel",
"Quantity": 3
}
],
"BenchRequirement": [
{
"Id": "Cookingbench",
"Type": "Crafting",
"Categories": [
"Baked"
]

half roost
vernal saddle
#

thank you for the insight. i'm guessing i'm not far off, once i point to the correct folder

half roost
#

I'm glad that almost all the information about an item, whether custom or vanilla, comes in its JSON file (textures, models, effects, what they apply to, where they're applied, and how long it takes to craft).

vernal saddle
#

last question for now: if i find the path to an existing vanilla item and i want to add one element to it (such as a crafting recipe which it does not currently contain), can i add only the recipe without overwriting its default values, or do i need to include the entire vanilla json with my addition? extending the item should just add to the base, right?

half roost
neat pelican
#

That looks like it's brittle af

#

does it break if people go between worlds? ^^

#

oh yeah it does, lol

#

almost like ECS abstractions are there for a reason

nova bronze
#

i'm too stupid to understand any of that but that guy seemed snarky

neat pelican
#

lol he deleted it out of shame

#

basically a collection of references to player-related objects (playerref, player component, entity store, etc) where a bunch would become invalid when the player switches worlds

nova bronze
#

seems like there would be better ways to do things than trying to reinvent the wheel

sick ridge
#

helloo how can i get the users uuid now? my func is deprecated now

   return player.getUuid();
}```
tranquil raft
#

Player is a component instead of Player get the UUID Component

neat pelican
#

Get it from playerRef.getUuid() and double check if it's the same as the uuid component

#

Because I believe the player's game profile uuid (unique identifier of hytale license) is different from the player entity's world uuid (unique identifier of entity in entity store)

gilded ibex
#

hello there a long while back i tried adding new hairstyles or body types which wasnt possible at the time does anyone know if it might be possible now? (without adding it as an armor piece/clothing)?

quasi echo
#

prob not yet

#

promoting also counts for mods so no links

gilded ibex
neat pelican
#

Yeah this space is for discussing plugin development, not server recommendations

quasi echo
#

promotion is promotion which is part of the rules

gilded ibex
#

you can discuss aspects of them but we cannot send you specific links or stuff also idk but you could look on curseforge and sort for popularity?

quasi echo
#

sorry best we can do is give you a name

gilded ibex
#

as i said sort it by popularity and try the one that looks best to you and if it isnt good try the next one ig

#

i dont play what youre looking for so i cant help any other way anyways but that would be my approach

quasi echo
#

i doubt hypixel is going to release any of their offical formats

gilded ibex
quasi echo
#

the hypixel team is seperate to hytale studios

#

as youve said before

gilded ibex
quasi echo
#

oh i know

unreal knoll
#

When mods break/have to be disabled and leave behind items that take up more than one block, one side effect is that the item area (other than one block that becomes black and pink checkered) becomes see through, and I cannot figure out how to undo this see through-ness even after removing the modded items, aka the black and pink block, which I was only able to remove by switching to creative mode. Does anyone know a fix for this?

quasi echo
#

dont use mods

quasi echo
#

the first 3 are nothing to worry about

#

This error indicates a performance bottleneck where the FluidPlugin is taking too long (177ms) to process a specific chunk (x=123, z=-82), exceeding the server's internal TICK_STEP threshold. This often leads to server hitches or crashes when players explore new areas.

Immediate Solutions
Reduce View Distance: High render distances significantly increase RAM usage and processing hooks. The Hytale dedicated server guide recommends limiting this to 12 chunks (384 blocks) for stable performance.
Pre-generate Chunks: Use a pre-generation tool to render chunks before players reach them. This prevents the server from trying to generate and load the fluid physics simultaneously during active gameplay.
Audit Fluid-Heavy Mods: If you have added custom mods that modify water or lava physics, they may be conflicting with the builtin.fluid.FluidPlugin hook. Try temporarily disabling them to see if the error persists.

acoustic shuttle
#

Does anyone know what's causing this exception? This wasn't an issue previous to the v4 update.

[2026/03/29 06:13:50 SEVERE]         [World|default] Failed to run task!
java.lang.NullPointerException: Cannot invoke "com.hypixel.hytale.component.Store.isShutdown()" because "this.store" is null
        at com.hypixel.hytale.server.core.universe.world.storage.ChunkStore.getChunkReferenceAsync(ChunkStore.java:659)
        at com.hypixel.hytale.server.core.universe.world.storage.ChunkStore.getChunkReferenceAsync(ChunkStore.java:646)
        at com.hypixel.hytale.server.core.universe.world.World.addPlayer(World.java:1141)
        at com.hypixel.hytale.server.core.universe.world.World.addPlayer(World.java:1056)
        at com.hypixel.hytale.server.core.modules.entity.teleport.TeleportSystems$PlayerMoveSystem.lambda$teleportToWorld$0(TeleportSystems.java:225)
        at com.hypixel.hytale.component.CommandBuffer.consume(CommandBuffer.java:534)
        at com.hypixel.hytale.component.Store.addComponent(Store.java:1120)
        at ThirdParty(com.electro:Shooter)//com.electro.shooter.model.GameInstance.lambda$teleportPlayerToLobby$0(GameInstance.java:2903)
        at com.hypixel.hytale.server.core.universe.world.World.consumeTaskQueue(World.java:967)
        at com.hypixel.hytale.server.core.universe.world.World.tick(World.java:458)
        at com.hypixel.hytale.server.core.util.thread.TickingThread.run(TickingThread.java:95)
        at java.base/java.lang.Thread.run(Thread.java:1474)```
```java
            Store<EntityStore> store = ref.getStore();
            World world = store.getExternalData().getWorld();

            world.execute(() -> {
                store.removeComponentIfExists(ref, Teleport.getComponentType());
                store.addComponent(ref, Teleport.getComponentType(), new Teleport(tempWorld, new Vector3d(lobbyPos.x, lobbyPos.y, lobbyPos.z), new Vector3f(0, 0, 0)));
            });```
quasi echo
#

The error is a NullPointerException happening because you are trying to add a component to a Store that the engine believes is either uninitialized or already shut down.
Specifically, the crash occurs at com.hypixel.hytale.component.Store.addComponent.

#

Add a Null/Validity Check inside the lambda
Never assume the store or ref is still valid when the task finally executes. Wrap your logic:

world.execute(() -> {
// Check if the entity still exists and the store is active
if (ref.isValid() && store.isRunning()) {
store.removeComponentIfExists(ref, Teleport.getComponentType());
store.addComponent(ref, Teleport.getComponentType(), new Teleport(...));
}
});

acoustic shuttle
quasi echo
#

maybe this thread would be better on the modding side of the community

acoustic shuttle
#

I really wish Hytale gave us more information on the server changes 😐

quasi echo
#

itll come eventually

sterile forum
brave mural
#

Can anyone tell me why adding effects in the DamageEventSystem makes the client display the effect particles twice? I also added logs and the log is only getting triggered once. So it seems to be only the visual.

public class ExampleDamageEvent extends DamageEventSystem {

  @Override
  public SystemGroup<EntityStore> getGroup() {
    return DamageModule.get().getFilterDamageGroup();
  }

  @Override
  public void handle(
    int index,
    @Nonnull ArchetypeChunk<EntityStore> chunk,
    @Nonnull Store<EntityStore> store,
    @Nonnull CommandBuffer<EntityStore> commandBuffer,
    @Nonnull Damage damage
  ) {
    if (damage.isCancelled()) return;

    var receiverRef = chunk.getReferenceTo(index);
    if (receiverRef == null || !receiverRef.isValid()) return;

    var source = damage.getSource();
    if (!(source instanceof Damage.EntitySource entitySource)) return;

    var attackerRef = entitySource.getRef();
    if (attackerRef == null || !attackerRef.isValid()) return;

    var attackerStats = commandBuffer.getComponent(attackerRef, EntityStatMap.getComponentType());
    if (attackerStats == null) return;

    var attackerEffectController = commandBuffer.getComponent(attackerRef, EffectControllerComponent.getComponentType());
    if (attackerEffectController == null) return;

    var receiverEffectController = commandBuffer.getComponent(receiverRef, EffectControllerComponent.getComponentType());
    if (receiverEffectController == null) return;
    
    var effect = EntityEffectManager.GetEffect("Freeze_T3");
    if (effect == null) return;

    Logger.Info("Adding Freeze_T3 to receiverRef: " + receiverRef.getIndex());
    receiverEffectController.addEffect(receiverRef, effect, store);
    // Tried both
    // receiverEffectController.addEffect(receiverRef, effect, commandBuffer);
  }

  @Nullable
  @Override
  public Query<EntityStore> getQuery() {
    return Query.or(PlayerRef.getComponentType(), NPCEntity.getComponentType());
  }
}

Here is the effect:

{
  "ApplicationEffects": {
    "Particles": [
      {
        "SystemId": "Effect_Freeze",
        "TargetEntityPart": "Entity",
        "TargetNodeName": "Pelvis"
      },
      {
        "SystemId": "Effect_Freeze_Impact"
      }
    ]
  },
  "Duration": 2.5,
  "RemovalBehavior": "Duration",
  "OverlapBehavior": "Extend"
}

What i also noticed the particles it self always fire twice when for example i deal damage with a bow. Is that bug ?

pulsar bone
#

Dani!!!! Do you know what class is responsible for chat messages and chat formatting

neat pelican
#

com.hypixel.hytale.server.core.Message?

pulsar bone
#

thank you!

snow steeple
#
[2026/03/29 17:54:24 SEVERE]                [PluginManager] Hytale:I18nModule is lacking dependency AssetModule at stage SETUP
#

anyone know how to fix this?

#
[2026/03/29 17:54:24 SEVERE]                [PluginManager] Hytale:CommonAssetModule is lacking dependency AssetModule at stage SETUP
[2026/03/29 17:54:24 SEVERE]                [PluginManager] Hytale:CommonAssetModule DISABLED!
[2026/03/29 17:54:24 SEVERE]            [CosmeticsModule|P] Failed to setup plugin Hytale:CosmeticsModule
java.util.NoSuchElementException
    at java.base/java.util.concurrent.CopyOnWriteArrayList.getFirst(CopyOnWriteArrayList.java:422)
    at com.hypixel.hytale.server.core.asset.AssetModule.getBaseAssetPack(AssetModule.java:235)
    at com.hypixel.hytale.server.core.cosmetics.CosmeticsModule.setup(CosmeticsModule.java:41)
    at com.hypixel.hytale.server.core.plugin.PluginBase.setup0(PluginBase.java:390)
    at com.hypixel.hytale.server.core.plugin.JavaPlugin.setup0(JavaPlugin.java:48)
    at com.hypixel.hytale.server.core.plugin.PluginManager.setup(PluginManager.java:892)
    at com.hypixel.hytale.server.core.plugin.PluginManager.setup(PluginManager.java:291)
    at com.hypixel.hytale.server.core.HytaleServer.boot(HytaleServer.java:389)
    at com.hypixel.hytale.server.core.HytaleServer.<init>(HytaleServer.java:347)
    at com.hypixel.hytale.LateMain.lateMain(LateMain.java:56)
    at com.hypixel.hytale.Main.main(Main.java:43)

[2026/03/29 17:54:24 SEVERE]                [PluginManager] Hytale:I18nModule is lacking dependency AssetModule at stage SETUP
[2026/03/29 17:54:24 SEVERE]                [PluginManager] Hytale:I18nModule DISABLED!


acoustic shuttle
#

Does anyone know what's causing this exception? This wasn't an issue previous to the v4 update.

[2026/03/29 06:13:50 SEVERE]         [World|default] Failed to run task!
java.lang.NullPointerException: Cannot invoke "com.hypixel.hytale.component.Store.isShutdown()" because "this.store" is null
        at com.hypixel.hytale.server.core.universe.world.storage.ChunkStore.getChunkReferenceAsync(ChunkStore.java:659)
        at com.hypixel.hytale.server.core.universe.world.storage.ChunkStore.getChunkReferenceAsync(ChunkStore.java:646)
        at com.hypixel.hytale.server.core.universe.world.World.addPlayer(World.java:1141)
        at com.hypixel.hytale.server.core.universe.world.World.addPlayer(World.java:1056)
        at com.hypixel.hytale.server.core.modules.entity.teleport.TeleportSystems$PlayerMoveSystem.lambda$teleportToWorld$0(TeleportSystems.java:225)
        at com.hypixel.hytale.component.CommandBuffer.consume(CommandBuffer.java:534)
        at com.hypixel.hytale.component.Store.addComponent(Store.java:1120)
        at ThirdParty(com.electro:Shooter)//com.electro.shooter.model.GameInstance.lambda$teleportPlayerToLobby$0(GameInstance.java:2903)
        at com.hypixel.hytale.server.core.universe.world.World.consumeTaskQueue(World.java:967)
        at com.hypixel.hytale.server.core.universe.world.World.tick(World.java:458)
        at com.hypixel.hytale.server.core.util.thread.TickingThread.run(TickingThread.java:95)
        at java.base/java.lang.Thread.run(Thread.java:1474)```
```java
            Store<EntityStore> store = ref.getStore();
            World world = store.getExternalData().getWorld();

             if (ref.isValid() && !store.isShutdown()) {
                 store.removeComponentIfExists(ref, Teleport.getComponentType());
                 store.addComponent(ref, Teleport.getComponentType(), new Teleport(tempWorld, new Vector3d(lobbyPos.x, lobbyPos.y, lobbyPos.z), new Vector3f(0, 0, 0)));
             }
            });```
neat pelican
acoustic shuttle
#

The world loads on plugin startup

neat pelican
#

try moving the addComponent to the commandbuffer instead of modifying the entity store directly

neat pelican
#

commandBuffer.addComponent() instead of store.addComponent()?

CommandBuffer implements the ComponentAccessor interface so it has all the component methods. But it schedules the write actions to happen in an orderly fashion at the end of the tick

acoustic shuttle
#

Oh yes, but how do I get the command buffer? I'm calling my function from places that don't already have a command buffer

#

Hmm.. I just noticed I can't teleport to the world through commands either. Although that gives a different exception saying getSpawnProvider() is null. Any idea if world loading was changed in the recent update?

neat pelican
#

Ok if your code is executing from outside of an ECS system/callback, then the CommandBuffer pattern doesn't apply and you can generally savely do store.putComponent() directly.
I haven't looked at world loading/spawnpoint stuff since the update, sry

brave mural
#

is there a way to define a priority for registered system? Like for DamageEventSystem

neat pelican
# brave mural is there a way to define a priority for registered system? Like for DamageEventS...

Yep, you can override getDependencies() to tell the scheduler if your system should be called before or after other systems. Example from my minigame's OnDeathSystem:

    // Run BEFORE PlayerDeathScreen so we can suppress vanilla death page for match players
    // Run after PlayerDropItemsConfig (which sets default from world config)
    // but before DropPlayerDeathItems (which actually drops items)
    @Override
    @Nonnull
    public Set<Dependency<EntityStore>> getDependencies() {
        return Set.of(
            new SystemDependency(Order.BEFORE, DeathSystems.PlayerDeathScreen.class),
            new SystemDependency(Order.AFTER, DeathSystems.PlayerDropItemsConfig.class),
            new SystemDependency(Order.BEFORE, DeathSystems.DropPlayerDeathItems.class)
        );
    }
brave mural
#

Where do you call that? In the system or in the plugins java file ?

neat pelican
#

in the system. next to the getQuery() override

brave mural
#

Ohh, i see! Thank you very much

brave mural
rugged flame
#

anyone know how to cancel an interaction in an interaction? My interaction should be able to stop the Next interaction from firing, but InteractionManager#cancelChains has no effect.

knotty vigil
brave mural
rugged flame
#

there is a respawn future in the death component or something

brave mural
#

thank you very much

brave mural
sterile forum
#

Gmorning.

sterile forum
#

You could make a component specifically to track additional player details you need to store, since the component info is saved with the player, that way you can simply apply the things that need to be active in your system when they rejoin.

#

Adding a component to a custom piece of rubble would just require me to modify the new asset.json to have a new correct json object with the name the component was registered with, and internal properties named as the properties are named in the codec right?

Or does this also require setting system dependency, to make sure to object is not created before the component have been registered in code, or some such?

slow gale
#

A few of my server's plugins config reset? Has anyone had this issue?

brave mural
#

Any recommendation to displays 2 tooltips while hovering over one element in the ui ?

celest kayak
#

is it possible to know if the block is a part of a default generated prefab? Or do i need to store all prefab locations upon generating and then ask based on that?

brave mural
quasi echo
#

just had confirmation that the pre-release updates will have blog posts from now on like regular updates do and a breakdown for modders about what's changed backend side

sterile forum
#

I think I am going to try to bring in a change log section in our commit/build pipeline at work.
If its present a tool will be used to gather all those up for the build and make a small document listing them.
Then we can just partition them into additional testing, bug and feature lists easier.

We have that already, but usually its one guy going trough whats part of the release and writing it up.

quasi echo
#

Yes good idea 💡

silver fiber
#

Hey is there any Plugin with an small API to Check status on my own web page ?
(Not over an extra website)

neat pelican
silver fiber
#

Thx 🙂

unreal dust
#

the amount of plugins not updating to update 4 is staggering, I saw this coming tbh didn't feel like it'd work out the game forcing plugin devs into monthly updates to keep up, servers will continue to push to let themselves exist on older versions of the game to prevent endless development.

#

The bigger a mod project is, the more work it needs to be maintained. The hytale approach is the good/bad reality, the bad is you can never be "done" with the dev of a server feature if you endlessly have to keep it up-to-date

quasi echo
unreal dust
#

for the average plugin yeah, I'm already seeing is those servers with a ton of custom work and one dev not liking this very much

#

but in MC there's isn't really a reality of "dead mod" as it'll work in X versions of the game, hytale is the one that makes sure mod is dead dead as it requires the update

quasi echo
#

It won't be a big problem for long those overwhelmed weren't ready to launch anyway

unreal dust
#

it'll improve sure, attm is a rollercoaster as people obviously get stressed of being unable to keep playing their worlds, part of these mods are not the type you can merely uninstall

#

the mod breaks, you end up needing technical knowledge to work around, or you're F. This ends up benefiting private servers and their custom mods and not the average joe and his save/small server with friends

#

I'm not liking this part of MC dejavu on hytale, getting servers winning with cash buying out the modders taking mods out of the public and the rise of P2W/gambling type servers

steel eagle
#

I think this is much more a reality of a pre-release game, it was basically a given that changes to the core would be plenty for at least the first year or 2, I feel like it should be a given that if you play with mods at pre-release you should heavily expect for that to be a short-term world

unreal dust
#

there was this expectation hytale would jump into competing with MC out of the hype train alone, but as the dust settles, hytale faces visible decay as it get clear it's far from being solid enough to be able to challenge something as well established as MC

quasi echo
unreal dust
#

Not that it won't do it, but it lost momentum, hopefully hypixel is able to regain it with future updates too, otherwise this game can end up at being just one more, and not one to actually rise over MC as a natural progression type game

steel eagle
unreal dust
#

it's like, P2W and gambling again, which people hate, but they'll offer stuff that you don't find anywhere else, that seems to be their 101 strategy

quasi echo
unreal dust
quasi echo
#

It'll grow big I can tell especially minigames

#

I already got some ideas that are going to bring over Minecraft players

unreal dust
neat pelican
#

Growing based on stability and functionality in 2 years is better for the game than growing based on hype now

quasi echo
unreal dust
#

on my view running a server clearly feeling there's a growing gap between the big custom-work servers and the avaiability of mods to the public

quasi echo
#

Like Hytown one of the biggest servers out there clearly using ai Gen art

unreal dust
#

we're not getting more, we getting less as the game updates and more mods bite the dust

quasi echo
#

This is temporary the same thing happened with Minecraft

steel eagle
#

I think creating mod stability right this moment would be a mistake on Hytales end, it would prevent them making a lot of changes when their core is still in a very unpolished state, give it time to settle in and mods will be even more stable than they are on minecraft

quasi echo
#

Modders saw the money in plugins and went running around 1.7.10

unreal dust
#

yeah many sold the source code of free mods to big servers and stopped dev them

neat pelican
#

yeah it's expected that it's more difficult to maintain free mods on a constantly changing platform. That will change more and more as Hytale gets closer to 1.0

unreal dust
#

and the servers with the cash bag, and ranking $$ with monetization on top, then have the resources to maintain with the game updates, something the average Joe doesn't

steel eagle
neat pelican
#

I'm saying that with growing platform stability, the resources required to maintain with game updates is going down

unreal dust
#

I think MC not being server-sided like HT actually benefits public mods more xD

Have a feeling this server-side setup will hurt public mods in the long run

quasi echo
#

Big servers will always start ahead

steel eagle
unreal dust
#

because you have access to the mods, if they want to be custom and full p2w and have thousands of kids stealing their parents credit cards to spend on gambling boxes they need to be limited to what's possible with server plugins

They want proper mods, they need to open up and mostly will use actually mods avaiable to the public. In Hytale, they no longer have this "limitation", they can be fully private on what otherwise was modpaks.

quasi echo
#

Most modders won't be specific server only

#

Just servers in general

steel eagle
unreal dust
#

odds are hytale's EULA will lean towards easing that up than fighting against it tbh

steel eagle
#

That's probably a fair take, but at that point we will have to see how the public deals with these kinds of servers in that case

unreal dust
#

The only thing I see will keep mods open, is if they became paid

then you can middle-man the modder getting something for their work, and not preferring being fully private

quasi echo
#

I think anti-predatory server system's are going to be a big part of hytale's selling point

#

Because they are going to have a curated server list

#

And if you get flagged p2w they are going to drop you down hard I bet

neat pelican
quasi echo
#

See this is why I love this team

#

So all those p2w slop servers are going to crumble once official server lists happen

#

And those modders will be back taking donations and charity for their mods

#

Also if enough servers are using a mod as a core of every server I think that's enough to be a official addition tbh

unreal dust
#

I am not sure how clear it'll get, you can bridge servers together inside a server so I'm wonder how well can they control it

quasi echo
#

Connected servers would be judged together

#

As if it was different worlds

unreal crescent
#

I think you probably have to apply to be on server discovery and say what it is, what plugins you're running, what the game mode is etc. Probably have a few categories to pick from

quasi echo
#

They also will probably manually review it

unreal crescent
#

i cant wait for it tbh

quasi echo
#

Gotta make sure child safe and all that

#

There's also likely going to be a way to filter by adult or not

unreal crescent
#

There should be an option for that, like they've already written their docs for server owners and what to follow. Especially for monetisations.

quasi echo
#

Because kid accounts have VC off and idk if parental control can let that be turned on or not be cool to let specific servers have it so you know okay this is a private family server and this is the server with adults playing factions

sterile plank
#

Can you allow restricted access to Hytale profile with you oauth endpoint?

#

I am working on a site where you login with Hytale, its not releasable in the current state with no security restrictions

viscid lily
#

with the message: client.general.disconnect.noWorldAvailable

why this could be happen? Anyone knows?

quasi echo
#

generally indicates a local internal connection timeout or a failure between the game client and the internal server that runs even during single-player sessions.

#

Recommended Possible Fixes

  • Sync Your System Clock: Right-click the clock on your taskbar, select Adjust date/time, and click Sync now.
  • Restore from Backup: In the Worlds list, right-click your world, select Open Folder, and look for a Backup folder. Extract the latest ZIP file into the Universe folder to restore a previous state.
  • Clear AOT Cache: Close the game and delete the file located at: C:\Users[YourName]\AppData\Roaming\Hytale\install\release\package\game\latest\Server\HytaleServer.aot.
  • Disable Problematic Mods: If you recently added mods, disable them one by one to see if the world becomes available again.
  • Language Settings: Some users found that changing their Windows display language and regional format to English (United States) resolved deep-seated localization errors.
  • Firewall Exceptions: Ensure Hytale.exe is allowed through both Public and Private networks in your Windows Firewall settings.
viscid lily
unreal crescent
viscid lily
quasi echo
#

They mean how are you joining directly? a proxy?

unreal crescent
unreal crescent
quasi echo
viscid lily
#

yeah i dont think it's a network issue. i am able to join world now. its happen when the long time pass the from start

unreal crescent
quasi echo
#

Lol

unreal crescent
#

Everyone runs like a trillion mods and they all run arch linux xD

viscid lily
#

i should check all ram settings probably.

unreal crescent
sterile forum
#

Going to be intersting with mods and hosting when people need to age verify on each instance they start.

safe rapids
#

I got a question for anyone making custom animations.
So i have been trying to edit the emotes of a cusom model but they dont seam to change. I HAVE been able to edit the eat animation by just replacing the file. but any of the emotes and facial expretions do not change. any idea how to change these?

half roost
#

Hi, I wanted to ask about initializers that work or activate as soon as you enter the world. Has anyone worked with systems of this type?I'm having problems because originally I used a patch that would automatically add the patch if it wasn't already installed when using the command, but now I need it to activate as soon as I log in and I'm not having any luck.

neat pelican
# half roost Hi, I wanted to ask about initializers that work or activate as soon as you ente...

For "When a player enters a world", you basically have two options:

  • The AddPlayerToWorldEvent is an IEvent that triggers when a player is ABOUT TO join the world. The player is still a Holder at this point and their components have not been added to the world's EntityStore yet.
  • The RefSystem<EntityStore> has the onComponentAdded() method that triggers when a component has been added to a word's EntityStore which happens for the Player component when a player enters a world.
#

but you're saying "as soon as I log in", which is different from entering a world. Logging in happens once per session but entering a world can happen multiple times when players switch worlds (entering the Forgotten Temple for example). The PlayerConnectEvent fires for you when a player has connected to the server and before the "entering world" process starts.

half roost
#

Since it's a system that "feeds" information to the player so they can acquire new stats from a system as well as other items related to the mod

neat pelican
#

This is also where you parse the referral data from the transfer packet, if any

half roost
near sky
#

i dont know where to ask....
i think the servers cant be any good if i chad to authenticate every x days...
is there a way to say to the server that he should ignore auth for the server?
bc our server was offline i dont know how long bc i dont play on it i amjust the hoster...

#
Server session token not available - cannot request auth grant
quasi echo
near sky
#

thats the problem i wanna have the server online ontil i say so....
so thats the problem....

#

so it is not usefull for hosting....

#

let me setup for one server

half roost
near sky
#

yeah ....
thats the one thats just was not there that encrypted auth is theone that expires after 30 days...

half roost
near sky
near sky
#

a little bit ai magic and looks like it works...

nova bronze
#

yes, during the auth process it explains to use encrypted. a server doesn't need to be re authd if it remains online. mine has been up since launch

brave mural
#

Where should ich check if damage was blocked ? IN the damage event system probably but in which group ?

copper wyvern
#

Hello, does anyone know how to update color value in UI?
I'm getting client error:

Failed to convert JSON value (String) to specified type (UInt32Color)

Tried sending it as #ffffff(0.5)

sterile forum
#

to specified type (UInt32Color) <- could be a hint

copper wyvern
#

I gave it some random attempts

acoustic matrix
#

it seems like it recieves a string?

#

try without quotations idk

copper wyvern
#

and UI update is sent as json

acoustic matrix
#

randomly remembered i know literally nothing about server plugins i dont even know why im trying to help

#

my bad

copper wyvern
#

This happens when updating color property such as #MyNode.Background.Color

sterile forum
#

A UNint32 means its a unsigned integer with 32 bit length. Meaning a number that can not be negative.
So either way a string will never work.
So either there is a constructor for theuint32color that takes a string or a utility class converting some kind of color class to the type.

copper wyvern
#

Since it's a custom type, it can have any structure

sterile forum
#

you are using java right, and intellij?

#

So you should be able to get the class or type and see how its declared, or the function and see what input it wants.

neat pelican
#

It's a client error unfortunately, not a server error

#

the UInt32Color class doesn't exist on the server

sterile forum
#

Ah.

#

Sorry.

neat pelican
#

@copper wyvern It must be com.hypixel.hytale.protocol.Color. The util class for this is ColorParseUtil.hexStringToColor()

#

I found this from PortalDeviceSummonPage.java:

   private static void updateCustomPills(@Nonnull UICommandBuilder commandBuilder, @Nonnull PortalType portalType) {
      List<PillTag> pills = portalType.getDescription().getPillTags();

      for (int i = 0; i < pills.size(); i++) {
         PillTag pillTag = pills.get(i);
         String child = "#Pills[" + i + "]";
         commandBuilder.append("#Pills", "Pages/Portals/Pill.ui");
         commandBuilder.set(child + ".Background.Color", ColorParseUtil.colorToHexString(pillTag.getColor()));
         commandBuilder.set(child + " #Label.TextSpans", pillTag.getMessage());
      }
   }
neat pelican
copper wyvern
neat pelican
#

Yeah, so that must mean that we can construct these color strings ourselves if we know the correct format the client expects 🤔

copper wyvern
#

Now I got different error

CustomUI is not allowed to change this property. Selector: #TextButton1.Style.Default.Background.TexturePath System.Exception: CustomUI is not allowed to change this property

So I guess I hit the limit what we can do 😄

#

anyway seems like sending it as hex string works

neat pelican
tardy vortex
#

Getting ai to spit me out a list of block from minecraft converted into hytale blocks is more challenging than expected, none of them are giving me reasonable conversion lists

#

I'm trying to make a mod that converts minecraft worlds to hytale worlds and i need a like of all minecraft block ids with a hytale counterpart and i dont wanna make that myself lmao

sterile forum
#

No surprise that ai have no idea how to do things people have not done thousands of times before.

tardy vortex
neat pelican
#

You need to tell it the list of blocks that exist in hytale

tardy vortex
#

i did

#

ive tried like 6 different ais, most of em holucinate even with a list of blocks and ids from both games, but even the ones that arent hollucinated dont really make sense like its trying to make doors into logs beacuse they are both wood etc

neat pelican
#

haha

red briar
#

weren't there conversion projects already? Swear I saw some on Reddit
could use those as a starting point

quasi echo
#

There's a mod for builds but you have to manually choose blocks to swap

tardy vortex
#

my end goal is to convert this minecraft world of the earth that is hella big

#

i already made a program to convert that into a text file of every block and its coordinates and now i need to convert that into hytale blocks then make a mod to generate that world lmao

#

idk why i took this route but it did lmao

acoustic matrix
#

also yeah im pretty sure there is already a conversion mod, probably even full online bridges

sullen vault
tribal patrol
# tardy vortex i looked idk google sucks

Could try giving "Blu Schematic Converter" a go (search on curse forge). Might need to tweak or add particular mappings depending on the block your using, as last I checked it hasn't got full support yet. Disclaimer: I'm part of the team that made it, though I didn't work on it myself.

brave mural
#

Can someone explain to me why some plugins can use this syntax in the .lang files

<b>LMB</b> consumes <color is="#0c95ff"><b>15 mana</b></color>

And it works but when i do it i doesnt?

Im alittle bit confused

#

I just see the tags instead of the formatted stuff

carmine plaza
#

I been regretting using Lootr lol

#

Worked so well in Minecraft was hoping same for Hytale 😭

tribal patrol
#

you can find a guide on the "hytalemodding" dev website ("Formatting the chat" page)

brave mural
#

Im pretty sure its possible without no? Becuase hytale itself uses that syntax? For example when i put that syntax into item.json

#

it actually works wihtout any plugins

neat pelican
tribal patrol
#

they probably shade it in, wait do you mean additional plugins?

neat pelican
#

This is in the vanilla en-US server.lang file
memories.general.chestLocked.tooltipText = <color is="#990000"><b>Locked</b></color> \n<color is="#888888">Restore {count, number} {count, plural, one {memory} other {memories}} to unlock.</color>

tribal patrol
#

yeah I just saw that in the guide and assumed the color would work in different formats

#

maybe making use of FormattedMessage?

#

that's nice if theres a built in option

brave mural
#

I tried using cmd.set(selector, message) but didnt seem to work either

neat pelican
brave mural
#

Oh ok interesting. I really wonder why it is possible when passing it into the json. My intuition says hytale is probably also doing something to display it formatted.

Im not sure where to look tho :/

tribal patrol
#

wonder if the client or server parses it? Since atleast a fair amount only seem to send the message id and I guess arguments

brave mural
#

Wait i maybe found it. There is a TooltipTextSpans

Property seems like. I ll test it out

tribal patrol
#

hmm yep this one seems client side too (from MemoriesPage)
Message.translation("server.memories.general.chestLocked.tooltipText").param("count", memoryAmount);....

neat pelican
desert arch
#

Good Morning,

Our Hytale server will not load, we are using G-Portal. It is a modded server. I do have a copy of the logs. I do see some severe errors associated with the mods. One of the severe errors is with Essentials.

Is there anyone available to look over the logs?

neat pelican
#

This channel is generally for discussion around plugin development, not support for usage/installation of 3rd-party plugins

desert arch
neat pelican
sterile forum
#

Wierd reflection is that a message that contains all the formating required can be converted to preparsed string by the system using the utf8string method and sent as a Message.raw
Atleast thats what the flow looked like to me.

brave mural
#

Another quick question. Does automatic Word-Breaks work for textspans/ tooltipTextSpans too? My whole texts are weird line broken for some reason 😄 when my tooltip is max 350px for example it sometimes cuts words mid word.

Button #Spend {
    TooltipText: "";
    TooltipTextSpans: "";
    TextTooltipStyle: TextTooltipStyle(
      Background: (TexturePath: "../../../Common/TooltipDefaultBackground.png", Border: 24),
      MaxWidth: 450,
      LabelStyle: (Wrap: true, FontSize: 16),
      Padding: 25
    );
}

I tried that

brave mural
#

Does anybody know how to check what group an entity is part of ? Like Predator, or player or something like that ?

winter steppe
#

My custom benches will not work on the latest release build.. I'm not even remotely sure what's wrong cause I get no errors or anything in logs it just wont open the gui?

sterile forum
winter steppe
#

Yeah they are working on a completely different computer, exact same files, 0 changes. But on my end on the exact same version I cannot get yhe bench to open

#

Its super weird.

stark holly
winter steppe
stark holly
# winter steppe I've verfied the game twice in the last week trying to make it work already beca...

what did you change after the update it broke all benches so they wouldnt open if you didnt change anything then the other computers are running a previous version,

make sure you have:

"BlockEntity": {
  "Components": {
    "BenchBlock": {}
  }

inbetween your bench tiers and your blockstates in the json file

Under the "state":{ section the "Id" line is no longer used (after any of them including the ones that follow the hitboxType sections

those are the changes you HAVE to look for in the new update if your bencch still has those you wont be able to open them

winter steppe
tardy vortex
#

love that hytale just lets me do this and doesnt care

Placed 8490000/16427888 blocks...
Placed 8495000/16427888 blocks...
Placed 8500000/16427888 blocks...
Placed 8505000/16427888 blocks...
Placed 8510000/16427888 blocks...
Placed 8515000/16427888 blocks...
Placed 8520000/16427888 blocks...
Placed 8525000/16427888 blocks...
Placed 8530000/16427888 blocks...
Placed 8535000/16427888 blocks...```
#

only 25ms delay between each 5000 blocks, and it only crashes the world sometimes if im in it flying around while its placing the blocks

#

i need to place 985,673,280 blocks lmao

#

and thats only a test run, the real world is like 100x as big if not more

#

im porting a minecraft world over to hytale that is 1:500 scale of the earth

#

also, anyone know how i can place the actual water fluid rather than that block you break and it turns into water?

neat pelican
hexed glade
#

hi, is there a class for adding a loading bar/charge bar? like when u hold left click while holding a sword, there's a progress/loading bar

hexed glade
#

also does UseBlcokEvent work with normal blocks, like right click a normal block or it got to be interactable blocks like echests?

#

playerInteractEvent is depecrated

copper wyvern
#

Does anyone figured out what is difference between text and textSpans properties in UI?
Looking at the source, both are used with Message object, often translated.

#

I bet I've seen spans being used with list of values, but cannot find it in current hytale version

heady locust
#

Did they add the key press detection yet?

unreal crescent
remote chasm
#

seems like my suggestion for custom actions with opt-in keybinds was straight up removed from the feedback site :c

#

oh, no, it's there, jsut doesn't show up under "my posts"

#

extremely odd

remote chasm
copper wyvern
#

By any key I mean alphabet/numerics except reserved keys for vanilla

neat pelican
remote chasm
#

for ex. in winddos or on x11 in linux application technically can read key presses regardless if it's focused or not

quasi echo
remote chasm
#

technically client could check if the game is focused, buuuuuut that's not really something I would trust the api to be correct about 100% of the time

remote chasm
copper wyvern
#

So in that case you could only read some keys while user is controlling the character in game. Not when they type in chat, or UI, or in some other application

#

Then it could work only if you had hytale focused and accidentally typed your password for some reason

brave mural
#

Out of interest did any of you join the prized event ?

remote chasm
#

I would have joined the worldgen v2 one, but that's not available on linux and I'm not about to install a garbage os just to use that

half roost
neat pelican
lime cairn
#

Heya, does anyone know how to set up a codec for a recursive array for a custom codec?

public class CustomEntitySpawnEntry {

    private DropType type;
    private String id;
    private double weight;
    private int minRepeat = 1;
    private int maxRepeat = 1;
    private int minCount = 1;
    private int maxCount = 1;
    private OriginSource originSource = OriginSource.Block;
    private Vector3Codec offset = new Vector3Codec(0,0,0);
    private CustomEntitySpawnEntry[] entries;

public static final BuilderCodec<CustomEntitySpawnEntry> CODEC =
            BuilderCodec.builder(CustomEntitySpawnEntry.class, CustomEntitySpawnEntry::new)
            ... many mode codecs
            .append(new KeyedCodec<>("Entries", Codec.???),
                    .add()
                    .build();
... more stuff
}

what I want to achieve is that I use this class to define an array of objects and each object inside that array can be 1 single entity data or a group of entities data. More or less have 1 array at top level and a second one if one of the objects is a group. This is an example generated by my mod to be read by asset editor but can't seem to find out how to make it read this recursive array... :

{
          "Type" : "CustomInteraction",
          "SpawnChance" : 0.9074410163339383,
          "Entries" : [ {
            "Type" : "SingleEntity",
            "Id" : "Antelope"
          }, {
            "Type" : "SingleEntity",
            "Id" : "Boar"
          }, {
            "Type" : "GroupEntity",
            "Entries" : [ {
              "Type" : "SingleEntity",
              "Id" : "Bunny"
            }, {
              "Type" : "SingleEntity",
              "Id" : "Chicken"
            } ]
          } ]
        }
zealous quail
#

lets go autocomplete was something I really needed just for the usability perspective great update

winter steppe
stark holly
ruby arrow
#

Has anyone already created a plugin similar to Minecraft's Wordguard?

lime cairn
#

yeah, it's called orbisguard by wifflow @ruby arrow

brave mural
#

Whats the proper way to retrieve DamageResistance from an entity? Like Ice resistance or Projectile Resistance and so on?

Is it possible to retrieve those for both mob and player ?

#

I assume via InventoryComponent.Armor But do mobs also have that ?

lucid zodiac
#

"When the Outlanders rejected the flame and split from their brethren, they turned instead toward the colder regions and the fragile strength found in the advancing sheets of ice."
-lore excerpt from Essence of Ice.
"In Outlander myth, this metal is said to be cold to the touch, even when molten. While verifying this would be ill-advised, its origins amidst the frigid peaks and frozen caverns of their territory lend the story some credence."
-lore excerpt from Cobalt Ingot.
"There are frozen forests into which not even an Outlander dares set foot, no matter how the whispers beckon."
-lore excerpt for Fragment: Orbis - Dragonspire Weald.
...that's all the ice lore I could find. It mostly pertains to the Human faction known as Outlanders.

brave mural
#

Can effects also apply "DamageEnhancement": {
"Magic": [
{
"CalculationType": "Multiplicative",
"Amount": 0.30
}
]
},?

Because armor can

granite swan
#

so the pre-patch notes says "For further changes in this pre-release related to modding, please refer to the API Changelog." but no link or something telling where to find said Changelog

void wagon
granite swan
void wagon
#

It's pretty hidden how it currently is, yep. Still, at least it is somewhere which is an improvement. 😅

hexed glade
#

Hi! how is it possible to make a player do an attack/left click animation? what java class? is there something like it?

#

tried playing around with playAnimation but i dont think its for players

hexed glade
#

nvm got it to work

#

where to see all "Actions" available?

AnimationUtils.playAnimation(ref, AnimationSlot.Action, "SwingLeft", true, store);

lime cairn
# ruby arrow thanks

Anytime, remember to use hyxin and mixin as well for full protection (for now because not all methods to stop things are revealed through hytale s API so yeah.)

ruby arrow
lime cairn
viscid lily
#

with the message: client.general.disconnect.noWorldAvailable

why this could be happen? Anyone knows?(it happens after 8 hours later from server start)

neat pelican
ruby arrow
copper wyvern
#

That's weird. Getting error Target element in CustomUI event binding has no compatible ValueChanged event for DropdownBox even its specified in offical docs that it should have ValueChanged binding 🤔

lime cairn
viscid lily
neat pelican
viscid lily
neat pelican
#

no logs is wrong

viscid lily
neat pelican
#

no thank you

unreal crescent
#

In the world's config.json set:
"IsUnloadingChunks": false,

But note that your memory usage might skyrocket

viscid lily
unreal crescent
#

ah sorry I missed that 🙁 I'm not overly sure without knowing what you're doing with the world

verbal wasp
#

Hey guys, is it possible to set a border radius? and if yes, also to only let says the left side?

kind osprey
#

Okay, so i have taken some time away from developing mods for hytale because of an issue quite a while ago that seems to have not been resolved... or maybe it has.

Essentially, prior to like update 3/4, you were able to run the dev server say from IntelliJ, join the server locally, and in real time edit the asset pack introduced by the plugin template kaupen posted. This was shown in his video if you need it. However that has now been changed with the asset pack no longer showing up in the asset editor making it so much more difficult to iterate and was such a nice workflow. Has this been fixed or does anyone know about this?

somber lodge
#

I’m assuming his template needs patched

kind osprey
somber lodge
#

It’s probably how inventory management changed.

kind osprey
somber lodge
#

It would likely change how many of the items in the Pack are stored in the first place. Yes.

sick ridge
#

T_T Has anyone had a problem with the furnace not being interactive?

kind osprey
somber lodge
#

I doubt it but maybe

kind osprey
#

-.- depressing

shy narwhal
#

Can I silence errors somehow?

#

My console is being spammed with this [ChunkStore] Failed to load chunk! 4, 21 followed by a trace stack and I genuinely couldnt care less

#

Im aware I have some missing chunks in my world folder, because I copy files between my test and production server (and dont want to have to copy all the world data along with it just to speed up transfers)
But the error message makes it hard to find the actual useful errors that are produced by my plugin jar

#

Otherwise can I redirect all errors that have anything to do with my plugin to a different filestream?

neat pelican
shy narwhal
neat pelican
#

startup parameters

shy narwhal
#

oh yes I know what you suggested I do
Im just asking what it does if I try your suggestion :3

neat pelican
#

oh mb. It should make the ChunkStore logger only print lines with SEVERE and above (there is nothing above)

#
--log <KeyValueHolder>                   Sets the logger level. 
shy narwhal
#

Unfortunately it is a severe error [2026/04/04 05:37:11 SEVERE] [Hytale] Failed to load chunk! 4, 15. So unless there is a "SUPERSERVERE" level I take it that wont work then?

neat pelican
#

try Level.OFF

#

so --log=ChunkStore:OFF

shy narwhal
#

Didn't work

#

pastebin (döt) com (slas h) CJA2dgeM <- if you want to see the cmd... the spam system is flagging my cmd as spam here. I also tried moving it to be the first argument, right before --assets

#

But can I maybe route my errors into a different filestream somehow - without having to like manually catch every single exception in every function and forward it to my own logging function (because that is a bit too much boilerplate for my liking)?

half roost
#

There are already mods that set up zones for things like claims; I suppose by checking those you should be able to find something for what you need.

heady locust
#

Is there a Component to modify attack speed of mobs?

hasty verge
#

Hi there! I'm currently looking for someone who uses blockbench and makes models on it, I work on a server in the zombie cod style, everything is almost finished (some details need to be done) but it’s completely playable at this moment, if someone wants to help me by making some models, send a friend request please 🙏🏽

Here's what is already done: wave system, buyable door, mystery box, weapons buyable on the wall, perks, electricty, maps, weapons system, revive system

half roost
heady locust
half roost
half roost
heady locust
#

Ahh okay, thank you.

neat pelican
#

@last pilot still slop, but at least it doesn't break anymore when switching worlds

#

still doesn't make sense to keep track of the store and components

#

especially since they're still accessible. the getter functions should be the only public interface

#

what do you mean?

last pilot
#

look at line 110

neat pelican
#

You're as incoherent as your AI's code

last pilot
#

You won't even score more than 80

neat pelican
#

Why are you deleting your messages?

half roost
#

Currently, I have only been able to do so by modifying the JSON itself.

neat pelican
#

by editing the asset

nova bronze
#

is that the same person from before?

snow steeple
#

anyone know why stamina might be abnormally high?

half roost
#

Modifiers

#

Well, that's 10 stamina; anyone who adds a little more is already "a lot".

snow steeple
# half roost Modifiers

well yea but where would u find modifiers like that on a server? I only have 1 mod that does player mods like that and I already deleted it ran it and nothing changed

nova bronze
#

it only took me like a week to get everything updated, yaye

nova bronze
#

I have a job yk

half roost
#

Hello, I created a custom UI page and there's a space where I want to display the item exactly as it appears in the inventory, with its rare quality box and item icon. Does anyone know how to do this?

half roost
# neat pelican

I Thanks to that, I got the exact result I wanted xdxd thank you so much

half roost
#

Hi again I'm having a problem with the QualityValue; I'm using it to reference anything related to the quality of the item. But I don't know why the numbers for the Quality values, for example, in common, only appear or work with the value of 10 when in the JSON it shows 1

#

Has anyone else experienced something similar?

somber lodge
#

i think quality value isnt numeric, i could be wrong

somber lodge
half roost
#

So I had to play guessing games until I got to the number that showed my new quality and its effects

somber lodge
half roost
#

Mmorpg mechanics

somber lodge
quasi echo