#server-plugins-read-only
1 messages · Page 108 of 1
Beep boop. Not enough context to answer user query. You haven't said what you're trying to do or what event you're talking about
lol fair, I'm trying to use a BreakBlockEvent to have a chance at spawning a block in the world in the position where you broke the block
Then I'll add an interaction to it that'll open a GUI but that'll come later
What would you want out of an electrical mod
Hyperion integration
Whats that
energy api standard
Is that a thing you made?
I guess there's probably not much room left for adding my own stuff then lel
it's an api, not a content mod
Well, you could say I am the custodian, but the history of it all goes way back 😅 And the project has evolved in many directions, all of which are waiting for proper reveal 🙈
I want to be absolutely clear. The ECS framework Hytale is based off of has broken any concept we had for an Energy API. Everyone's working hard to re-implement their ideas in a way that makes sense with ECS
oh that's funny, i am trying to learn the tools so i can make a similar system. hope you get it working 🙂
And whether one of us is called to take the stand as Automation devs or not, like Simon announced recently, I am confident we will all continue with our efforts
How do I dynamically update data in a custom HUD? I'm making my own coordinate display HUD for practice. I was able to display a placeholder, but I don't know how to change the data in real time.
Hytale seems to have modding only for the regular user interface, but there is very little about the HUD.
i am losing my mind with this rust server
how do u guys register a custom interaction on a npc, lets say im cloning the klops gentelman npc, and i want to register a interaction on the asset editor so player can press F on him. any idea?
interesting, can you explain in more details what architecture you wanted that isn't compatible with ecs?
I suppose one could always make their own system, And later add a block that converts their power to Hyperion
is it possible to detect player interact with other player ?
Well, any API that involves inheritance. When we first built it, we didn't quite understand ECS, so we tried to standardize thinking of "what IS an energy block" (buffers, generators). We needed to shift to "what DOES an energy block HAVE". You may find this obvious, but coming from OOP oriented experiences, it wasn't.
yea oke makes sense if you had a big inheritance tree all laid out
It wasn't that big, and yet it proved difficult to use
is the ui code that hytale ellie au produces causing errors for anyone else too? i keep geting "Failed to load CustomUI documents"
personally i really like the ecs, never been a big fan of inheritence, in general it's over-used and over complicates things, so glad hytale uses ecs, you're a fan or not?
It is definitely interesting Sven 🙂 and it's a great approach for games, especially voxel games
a
I like the ECS so far, haven't ran into many issues so far for my projects.
To me the greatest obstacle is not ECS itself, but CODECS. Not having much documentation, sometimes I find it difficult to create more complex data structures.
I mean, MapCodec and ArrayCodec exist; but yeah its a little hard to figure out
It's quite easy if you need basic codecs,but once you start having dynamic codecs it gets a bit cloudy
i don't even bother figuring out this boilerplate syntax, claude code cli makes them for me
I have been tinkering with codecmapcodec a lot, which I think is the cornerstone for downstream personalization
give it access to the hytale decompiled source to search in and it goes hard
It's fine to have Claude or any AI give you a starting point, but please try to code yourself the plugins. AI is great but it does not think out of the box like we do
Claude Sonnet 4.5 is my preferred Model for coding rn
And you build better understanding of how the code works
Its good to understand what changes its asking you to make
I wrote a small plugin that shows the player’s current coordinates in the top-right corner when using the /coordinates command.
The HUD appears correctly, but the values do not update.
If the player moves, the coordinates stay the same as when the command was executed.
How can I make the HUD update dynamically while the player is moving?
I just got this working
yea me too but just for costs, if possible i'd spam opus all day 😄
I suppose it helps that my work pays for it 😄
Atleast I think the one on my desktop is my work account >.>
dw i read all the the code and understand it, making the architecture is the fun part, writing it all out is a quick job for ai
I'm not really sure lmao
register a schedule via HytaleServer.SCHEDULED_EXECUTOR to update the ui periodically
cursor tracks in the analytics in which repo you are coding, it's very visible on the dashboad, not sure about claude 😨
Ah yes I am logged into my Work account for Github Copilot 😄
Thank god for that
I've used 81.3% of my Premium Requests for this month
I don't know if it's too late but Unity (the game engine) has resources about ECS that might help you understand the theory even if Hytale's implementation isn't the exact same
Hello, As far as i noticed, I do not write a code for specific block, but make a custom object like interaction or something which then I can use on my custom asset.
Now I want to do this think: I have asset prepared, I want it to spawn a specific block constantly on top of it. If i brake that block I want it to appear again and again. I know it needs be done with ticking but i cannot find any documeentation on that, someone might provide a link to docs that cover it?
devs nowadays living token limit to token limit
Hello, do you know any mod that has a clickable interface directly in the inventory, similar to the backpack feature? I’m trying to get into Hytale modding, and I wanted to create an interface that you can open through the in-game inventory instead of using a command. Is there already a mod that does this? I’d like to see how they implemented it. Thanks in advance!
I don't think you can manipulate vanilla client UI stuff currently
If I understand you correctly, you are trying to extend the RefSystem. It has the onEntityAdded and onEntityRemove methods that run when entities are added/removed from the world. Alternatively, there is the TickingSystem. It has a tick method that is executed every tick.
Yeah, I figured that might be the case. So for now it’s not really possible to manipulate the vanilla client UI directly, right?
That is my understanding as of today
thx for the reply anyway
I dont believe they plan to let you have any client mods
bald
because you dont need them
you can add mods to your world directly
yea no need, but would be cool to have the EyeSpy on every server you join tho
not sure if that will become possible at some point
How can I spawn a block in the world? I'm trying to use a BreakBlockEvent to have a chance at spawning a block in the world in the position where you broke the block
Someone should make the "gathering chunks" mod from Minecraft into hytale
I got an issue with mods.. Playing singleplayer on my deck, and I got some mods downloaded and activated. Made a new world, activated them all. But they don't show up in game.
Does anyone know how to fix this?
What mods, I'm not on steamdeck but I'm on Linux so I may be able to help
I figured out how to use these EcsEvents. You create an ecs system around it. The handle method then gives you all the necessary references:
public class BlockBreakEventSystem extends EntityEventSystem<EntityStore, BreakBlockEvent> {
public BlockBreakEventSystem() {
super(BreakBlockEvent.class);
}
@NullableDecl
@Override
public Query<EntityStore> getQuery() { return Player.getComponentType(); } // Only run for players
@Override
public void handle(int index, @NonNullDecl ArchetypeChunk<EntityStore> chunk, @NonNullDecl Store<EntityStore> store, @NonNullDecl CommandBuffer<EntityStore> commandBuffer, @NonNullDecl BreakBlockEvent event) {
var ref = chunk.getReferenceTo(index);
var player = store.getComponent(ref, Player.getComponentType());
var blockId = event.getBlockType().getId();
if (blockId.equals("Empty")) return;
var position = event.getTargetBlock();
player.sendMessage(Message.raw("Broke block: "+blockId+" at x:"+position.x+" y:"+position.y+" z:"+position.z));
if(Math.random()<0.1) {
event.setCancelled(true);
var world = store.getExternalData().getWorld();
world.setBlock(position.x, position.y, position.z, "Rock_Gold_Brick_Smooth");
}
}
}
CC @subtle spoke
Oh thanks for the copy 🙂
Thanks, been trying to wrap my head around how ecs works so this helps a lot
I learned a lot from the ECS tutorial video by TroubleDEV. Really explains the mindset behind it
I should probably rewatch that, feel like I missed how refs work
how would you take the tint brush's functionality and expand upon it and make it into an item that can paint more than just grass blocks?
Hello, maybe someone writes simple plugins, I need a command after death
A ref is basically just a uuid. The EntityStore uses it as a key to keep track of components:
EntityStore:
(ref1, PlayerRef): PlayerRef component with handler to the network connection
(ref1, Player): Player component with gamemode, inventory, etc
(ref1, EntityStatMap): EntityStatMap component with numeric data like heath, stamina, mana
(ref2, PlayerRef): Player 2's network data
(ref2, Player): Player 2's network data
(ref2, EntityStatMap): Player 2's stats
(ref3, Horse): Horse-related data (i haven't worked with npcs so this is a guess)
(ref3, Mountable): This entity is mountable
(ref3, EntityStatMap): Horse also has numeric stats like health
(ref1, DeathComponent) Player 1 is currently dead. Component includes cause and item loss data
Sending a dm with the links as I can't post it here
anyone know?
Nvm couldn't send a dm.
But it's:
Another trashcan
2x Durability and no repair loss (Mrgreengames)
Another trashcan
Rpg leveling and stats/skills
Sure text me private
when hytale will give an option to disable the "MEMBER left WORLDNAME" ... This message is annoying in chat. It appears every time a player changes worlds, and it looks as if the player is leaving the server. It would be great to have an option to disable this on the server!
Yall know if there is a vr mod yet?
Chat is there a class file or a json file for the vanilla items descriptions that you can edit? Or for an example if you want to add some extra details etc. can you do it with the vanilla UI or do you need a custom UI?
Ask in#game-discussion and not in a dev channel
k
wym?
you'd have to manually override each item and point their description/name etc. to your own .lang file i think
Ah okay tysm
Ok, I might do it another way, i just created a custom water_source_block and added interaction to bucket so it doesnt call TransformFluid: "Empty" when i use it. Problem is I still connot figure out how to spawn that custom water source block when i place my well Item.
I tried using similar approach from container_bucket when in state filled_water it has a secondary interaction:
"Interactions": {
"Secondary": {
"Interactions": [
{
"Type": "PlaceFluid",
"FluidToPlace": "Well_Water_Source",
"Effects": {
"ClearSoundEventOnFinish": true,
"LocalSoundEventId": "SFX_WATER_MoveOut"
}
}
]
}
},
Butt now it acts as bucket and only places fluid source not itself. I can manualy put my fluid into the well.
Did you look into the using an outbound packet filter? Not sure if that allows it tho
I don't understand what you're trying to do, but does the BreakBlockEvent trigger in your use-case?
example
Does someone also run into not working projectile configs after the hotfix update?
Is anyone using Pterodactyl on Hytale experiencing lag/TPS/ticks on their server?
I tried opening the server directly in cmd on the same server, and compared to pterodactyl, it works much better.
Or if anyone can recommend something lighter than pterodactyl for creating a server that doesn't consume many resources, I would appreciate it.
Also have a similar solution working for block detection with handle, so far working very well:
private final World world;
public AreaBreakSystem(HytaleLogger logger, World world) {
super(BreakBlockEvent.class);
this.world = world;
}
@Override
public void handle(int entityId, ArchetypeChunk<EntityStore> chunk, Store<EntityStore> store,
CommandBuffer<EntityStore> commandBuffer, BreakBlockEvent event)
The only thing I need to do after is register the system on a start():
AreaBreakSystem system = new AreaBreakSystem(getLogger(), world);
EntityStore.REGISTRY.registerSystem(system);
@sharp rock his pidoras
how do i detect collission with a block? (e.g. if a player walks over it)
i don't know what this is?
if you could find the packet that causes the message to be displayed client side, you could manipulate the packet and remove the message without an "official" api
"dev/en/docs/guides/plugin/listening-to-packets" on hytalemoding website has nice info (can't link here...)
Hey guys, does anybody here knows how to detect that my custom item was swaped off?
Final question guys 😄
I have this
"Interactions": {
"Secondary": {
"Interactions": [
{
"Type": "PlaceBlock",
"BlockTypeToPlace": "Well_Test",
"RemoveItemInHand": true
},
{
"Type": "PlaceFluid",
"FluidToPlace": "Well_Water_Source",
"RunTime": 0.5,
"Effects": {
"ClearSoundEventOnFinish": true,
"LocalSoundEventId": "SFX_WATER_MoveOut"
}
}
]
}
}
When i right click with item twice it places the block and then water, how can i make it so iit does both interactions one after another
i found the most jank way to detect collisions im not sure its worth, is there an official way im not seeing? without needing to make HitBox assets etc?
KIT_COOLDOWN = Message.raw("cooldown").color(Color.RED).bold(true);
Does anyone know how to save half of the text in a different color?
you can add formatted messages together with msg.insert() or Message.join()
Hello guys !
Is there a way to have access to mouse movement/position when the player use a custom UI (Page) ?
like what?
some template
im starting with plugins
If you start typing Message. your IDE will show you
Message.join(
Message.raw("Cooldown: ").color(Color.RED).bold(true),
Message.raw("3...").color(Color.CYAN)
);
working thx @west elk
is there an exposed API by which I can check my server status and number of player in it (probably with their names). I'm trying to write a monitoring tool for my server.
(without a plugin actually, I want to be running on a different server)
No, you'd have to install a plugin like Nitrado's hytale-plugin-query to expost an http api like that
ahh, okay
ok and now I have a question how to save hex color because .color(Color.decode("#FF5733")) doesn't work xdd
That's something you can google since it's a native Java api
i want that server-wide for all players, not only client-side at me 😄
"Java hex code to Color"
where u guys put earlyplugins ?
Being a beginner, it's hard to understand some functions and rewrite them into the Hytale API
im kinda confuse where is it sry
same folder as mods? or other?
other
I'm currently working on a tool to decode binary region files and view their contents. For now there's a lot of stuff I'm missing, like decoding "biomes" format, "TileEntities", inventories and more. For now I can only view the block palette and the decoded block layout in a chunk.
Once it's done I'll work on the possibility to edit the file, just like NBTExplorer would. The goal is to have a tool that could convert Hytale maps to Minecraft maps and vice versa
Actually, you can just do Message.raw("test").color("#FF5733")
the same folder as your "mods", sorry
when cancelling a BreakBlockEvent the cracks still appear (even to other players)
is there a way to set the "block health"?
in the earlyplugins/ folder, next to mods/. Create it if it doesn't exist
ok tysm
Try DamageBlockEvent
looks like that's intended for this on first glance
Which placeholder mod should I be using to support placeholders and by who?
Would it be a mistake to utilize the portal shard system for a main gameplay loop on a server? Would many portals being entered and used at the same time destroy a server?
Hay is there anyone that could make me a addon that has my merch that you can wear as a cosmetic in game? I want to have my artist logo on a shirt and hat in a custom crafting table. Is there anyone that can make a mod for that?
Only 1 way to find out hehe
Yup lol
I need it for a custom map i am making
good morning
Do you have the blockbench files already? Then you can simply do it yourself with an asset pack. Adding cosmetics requires no coding. You can look at existing cosmetics packs on curseforge for the structure
anyone know how to create a portal and specify its location?
is it even possible to do that or do I need to render a portal and have the collision interaction as a separate thing?
Yea I have block bench. I am not good at it tho so id just would like someone to make me the plugin ready to go
Can anyone explain to me why my vanilla override keeps reverted back to vanilla on server restart? I made an override of an iron repair kit and it works fine until I restart my server, then it reverts back to the vanilla repair kit.
How would I forbid players from moving? Is there a player move event? Or do I need a system that looks for a certain component?
🙂
I would use a tickingsystem that looks for the player and transform components and makes sure their position hasn't changed since every tick
Hey is it possible to change mob aggro using mods?
Is this the correct channel to ask if there is a website or how can I find a list of servers to chose where I want to play with others?
or edit mob ai?
world.execute(() -> {
try {
// Get entity store to check position
Store<EntityStore> store = world.getEntityStore().getStore();
if (store == null) return;
Ref<EntityStore> entityRef = playerRef.getReference();
if (entityRef == null || !entityRef.isValid()) return;
TransformComponent transform = store.getComponent(entityRef, TransformComponent.getComponentType());
if (transform == null) return;
Vector3d position = transform.getPosition();
int blockX = (int) Math.floor(position.getX());
int blockY = (int) Math.floor(position.getY());
int blockZ = (int) Math.floor(position.getZ());
// Check if player moved to a new block
boolean hasMoved = blockX != tracking.lastBlockX ||
blockY != tracking.lastBlockY ||
blockZ != tracking.lastBlockZ;
not sure if this is ideal at all lol but this is how i track if a player has moved a block
Does anyone know if anyone is working on a Spleef (minigame) plugin?
Hello hello, I have a question which is the following!
I wrote a small plugin/mod which displays a text in the chat which is the following: "ő" "ű"
The problem is the following, the accented betas are displayed with a ?, maybe the game does not support double accents?
So, i had an issue trying to read or reference the hytale server source code. In intellij it rakes a few seconds (4-5) per search, which i do repeatidly trying to track down where the flow of data is going. I created a HTML page that lets you do the same search and ingress in 5MS (given you have at least a GB of spare memory)
The question is this: would this be something anyone else would find useful?
I call it "Quick Cash Search"
If anyone else finds this potentially useful, i will upload it to a dedicated site. I just dont want to be the only one using it lol!
keep in mind you're not allowed to distribute the hytale source code. You'd have to let people import the code they decompiled on their own
So it uses UTF-8, meaning it should support accented characters. The font lobrary may not have those characters, you may need to submit a bug report
Ah ok. I did write a ps1 script to generate the pre compuled cache file used for it to process data. I could just add a guide on how to use it. It can also be used for really any file structure, allowong searching large amounts of data quickly.
And thanks for replying 😁
If you put it on github, I'd probably use it.
Is this the correct channel to ask if there is a website or how can I find a list of servers to chose where I want to play with others?
you already asked this and this channel is for discussing about plugin development
where would my question be best asked? Cause no one seems to know.
What question @spark belfry
Can anyone explain to me why my vanilla override keeps reverted back to vanilla on server restart? I made an override of an iron repair kit and it works fine until I restart my server, then it reverts back to the vanilla repair kit.
anyone around with experience for worldgen and prefabs? kinda stuck on the density
My custom version is still there, and will work if I make a change to it and save it... Until I restart again and then its right back to the vanilla version.
I think there is placeholder api
Did you include the pack's path in the server's startup parameters? --mods I believe
There aye youtube videos for this btw, there are a few that are actually super helpful
Had no clue that was something I had to do. Some of my overrides work fine, while others revert.
Weird, my overrides didnt require the mods parameter
i know @fiery lodge but still stuck on the density, my prefabs are buildings that wont spawn together as a cluster for some reason.
You have to mess around with the generation settings to get them to spawn in clusters.
I believe you don't if it's in the mods/ folder. That should be the default value
You.may be able to just offset the generation values to achieve that affect
Yeah, its all kept within my own custom pack in the mods folder. It doesn't make much sense that this is happening.
@fiery lodge i know m8, ive got them all to spawn but even in clusters of the same buildings, but they wont spawn together as a cluster.
Ah, all of mine were stored in a custom mod in the mods folder so that makes since if he didnt do that
They are inside of a custom mod in the mods folder.
@fiery lodge working on a villager mod like MC but its a pain in the ass so far hehe
@spark belfry when the server starts, check /packs list to see if it's loaded. If not, check the console for errors
Always learning something initially is! 🙃
ye its getting to know the api i know
Yep, my pack is at the bottom of the list.
You can try to see what other mods are doing with what youre trying to do
think im getting somewhere now im getting multiple different prefabs clustered... not all of m but still
Any news about Discord Hosting ?
has anyone figured out how to add AI to mounts? or even just simple movement while mounted? i cant seem to move the player along with a mount since mounts seem to be controlled 100% by the client. Once the player is on, the server cant change the position.
Wdym discord hosting?
It’s still in beta but discord will allow you to host a game server and it’ll work with Hytale
I had the pop up on Discord PC, and it will work on Hytale for sure
Checked it out, interesting feature for discord to add ngl. I didn't know they dabbled in server hosting, but it seems like they just delegate the hosting to shockbyte and add extra fees on top
From a functionassignment Use a simplex noise density which is large scaled, at values above a limit like 0.8-1 , then from the functionassignment add on multiple weighted assignments for each prefab
If you want paths between each building I have a density method for that but it’s a bit intensive
ok ty will take this in consideration
GOAT... got a complete village now all buildings are spawning but not in the right amount but ill fix that
Hi, I'm using hytale.ellie.au to generate some UI. The problem is that when I enter my server it throw "Failed to load CustomUI documts". I dont know if there is a problem with that page
What plugin are people using for networks?
activate debug in settings of the game and retry it will give u and error instead of that one
Anyone?
I have my own interaction type:
"Interactions": {
"Use": "OpenUI"
},
but another plugin is blocking a usage of "use" in certain region... is there any way to bypass it?
I thought I might replace "Use" with my own type of interaction but I'm not sure if it's even possible. so it'd look like this:
"Interactions": {
"RootInteraction_OpenUI": "OpenUI"
},
does anybody know if it even makes sense?
so my local server has always worked now they released update and i imported new assets and server.jar but the server wont start anyone know why? Do i need to import something more from new version etc?
I believe there is no way to create custom interactions but you can create custom operations
You can make custom interactions if you register them fine
If theres a plugin blocking all use’s then theres probably nothing you can do besides seeing if theres some trick or entry point in the mod that’s cancelled the usages to make it not do that
I believe you are talking about operations, there are fixed interactions types. Unless you refere to create interactions for assets?
Oh you’re talking about the literal action you have to do to preform the operation
Yeah you can’t make new ones of those
But what they have displayed would work just fine (F key) if they registered an OpenAI interaction. Theoretically, if the plugin wasn’t blocking all uses and they registered the interaction properly
guys is there any official api referrence what the api calls are made?
I thought the same, might be a permission problem as well.
Decompile and community guides like HytaleModding. Nothing official at the moment
anyone here can explain how to detect a player walking over a block using block colissions?
There’s a bug with NPC interactions and creative mode where they don’t register unless you turn on NPC noticing on yourself in creative
I haven’t got my decomp on me as im not at home but whatever collision interaction the boomshroom has should have the bit of code you need in it efficiently probably
I assume you’re asking because you don’t want to just check every tick
I think the plugin is blocking all uses, I'll ask the owner if there is any bypass to that, thank you for your help, @civic zephyr & @arctic mist
good idea, ill check it out
and yeah I need it for a game mode so if theres like 50 players and 20 blocks to check every tick at 30 TPS thats 30k checks per second lol
I see
@zenith hatch do you have discord server?
thanks, now I can clearly see what's wrong
no idea why you would ping someone out of the blue but it's literally in his bio
It's my guilds discord. I don't have any official "Hytale Mods" Discord
ive created a pretty detailed wiki/docs check my bio ive gotten some praise already for it id love to have more people check it out and if you find any issues let me know or create a pull request
Hey so I have been struggling with finding a way to do this in the asset editor if it's even possible but how would I make it so you can fire 3 projectiles instead of 1 from one of the staff's
check everything every tick all the time always
Thanks!
Add interaction on ProjectileSpawn to another projectile twice
Is this possible if say I moved the staff's projectile to an axe?
someone can help me, i install hytale launcher on my windows laptop, but when i try to sign in, is not open nothing to sign in
or do i need to edit the staff's projectiles first.
I haven’t tried melee weapons yet but I imagine it’s a similar process, ie on swing / hit trigger interaction to spawn projectile
How would you make them not going all on the same line? like going in 3 dif directions.
Separate projectiles/configs with different offsets
I have issues setting Text in UI as anything other than a translated Message. When I set a joined or raw message my client gets kicked for: Set command couldn't set value. Is this known and is there any solution?
Well that's not fun but that can just be done in the asset editor correct?
Yeah can all be done in the asset editor
May ask for your help in a bit if i can't figure it out is that fine lol
How can I get the name of the item using itemId (ex: Rock_Stone) ?
I have a rifle that stacks damage per hit, needs like 3 entity effects and 6 interactions I think, plus the projectile config and weapon itself
so there is gonna be a lot of files lol
How can I update a HUD in real time?
I made a simple plugin that shows the player’s coordinates on the screen when they run the /coordinates command, but the values never change.
It always displays the coordinates from the moment the command was executed.
How can I make the coordinates on my HUD update continuously as the player moves?
I always do new Itemstack with the ItemId and then do #getItem()#getTranslationKey
How i can build my project to .jar in IDEA?
Probably better if u do this to get the item tough:
Item.getAssetMap().getAsset(this.itemId)
Bit confused now so on the staff on interactions all I see is primary and secondary were do u even add projectile spawn
Hello @queen verge i come from your github account and i'd like to get some help from you to build your project correctly. I tried to do modifications but it resulted in the mod not loading any schematics anymore and sadly the overwrite.txt files are not providing enough options for what i want to do.
i'll wait for your answer
questing, trying to make my first mod for hytale, is this the correct channel?
question*
probably you need DelayedEntitySystem
Pre sure it would be primary but I’m not 100% familiar with how the staff works. If you wanted to control it better there should be an InteractionVars section
yep I see that but when clicking it the only interaction is modify inventory.
You can try going to creative mode -> assets editor. There are some impressive mods only made with it
Are you referencing an existing or creating an embedded? there should be an option to add
I literally just found an article about this, and you sent me a message. I haven't read it yet, so the question might be stupid, but anyway. Am I correct in assuming I need to create this DelayedEntitySystem in which I'll specify the logic for how my HUD will be updated?
does it work correctly if you clone the project without changes? im not sure how i can help without knowing what you changed and why it would have broken
I would be referencing an existing as it needs to fire the same projectile.
ya im in the assists editor, im trying to make custom coal, i got icon color changed, im having issues changing model texture, i got a texture made in paint.net, but its not updating
Yeah make sure you’re in th right pack and the action is either projectile or launch projectile, depending on whether you are using a config or not
i'll do another clone just to be sure (do we hop in Private?)
you need to check if the player has your custom hud, then send a packet to update the text
try exiting the world and entering it again
yeah you should be able to d m me
no i can't, that's why i ping you
still showing default texture
uh
Hello, is it possible without plugin to retrieve throught ping protocol or query all server datas like number of players and max players etc ?
No, you'll have to install something like Nitrado's hytale-plugin-query plugin
does the texture need a special path to file
Ok thanks :/ how do you have access to the cursbreaker rank ?
I bought the game and (re)connected discord in https://accounts.hytale.com/settings
Ty this worked but the new issue is it doesn't fire the same thing lmfao
fk it, keep it old charcoal color the basechar coal has no texture refrence in it
Ok good thx
I tried both methods. It outputs something like “server.items.Weapon_Shield_Thorium.name”. How can I display this in the UI in a way that the user can see it?
I tried putting it between % signs, but it didn't work.
Hey! Didn't know this existed! 😄 - Thanks man
dose anyone wanna playa hytale ive never played
If you like that, you might also like ApexHosting's hytale-plugin-prometheus 
Is that a tie into prometheus?!
yeah it's a basic prometheus exporter
I just want a simple metrics to trigger my orchestrator to scale. and down scale. 😄 - I actually dunno which is best. 😛 - Prometheus sounds better and battle tested.
Oh I jsut realized, that is basically putting a exporter process INTO the server. Oh that is quite nice. 😄
Hey, what was this patch that I just downloaded today? - I got one yestarday and one now today. 😄
Any good AFK Zone mod?
be sure to star it if you find it helpful
you need to use a translated Message
the client will then translate it in its language
Is there a way to add an interaction component to a block? I wanted to open a UI when right clicked on that block
I'm not sure if there's another way like making an entity disguised as a block
Is there a Server Essentials plugin for Hytale?
interactions are the way to go for this
i would suggest looking into vanilla blocks that have such a functionality and look how they handle that. But yes interactions are the way to go
is there a way to access prefabs?
Is there a Server Essentials plugin for Hytale?
PrefabStore.get().getServerPrefab(prefabPath)
not the right channel for such questions. This channel is for making mods.
ok, but does it exist?
go look on curseforge. probably multiple
Thank you for your help.
So I'd have to use a block that can be interacted with? Or can I use something else like a grass block?
Kinda wanted to use a mud block since this block would spawn underground
You want to add an interaction to an existing block?
Pretty much, yeah
I am trying to make a message command. How can I get the message argument that has more than 1 word?
I am doing /msg <player> Hello how are you. And its saying Expected 2, Actual 5
override the asset/block you want (e.g Mud) and add an interaction to it (the Use interaction is for when someone presses F on it)
how to link?
In your constructor: this.setAllowsExtraArguments(true);
Anyway of running 2 hytale clients for development test of plugin ?
I tried but the launcher isn't letting me
you'd probably have to containerize it somehow or run the second client in a vm
You could probably just launch the client manually in 2 different instances, but you need at least the session token, identity token, name and uuid of the player you're logging in as
The launcher is a go application, so you could easily just launch it with GODEBUG=http2debug=2 env var to get them logged after the transaction is complete
Do note that it's quite a verbose output and not very easy to read
I have no idea how you could get the 2 accounts in the same server though if they are the same account
I have bought the game twice for two user profiles. But the problem is that I can't change where it stores/loads the logs, settings, user data. The game refuses to launch a second instance.
Hi there has anyone experienced this client crash when teleporting to and from worlds/instances?
2026-01-28 15:31:46.6041|INFO|HytaleClient.Utils.SentryHelper|Sentry event captured: 18838d092a54401e91e127ae40ff803a
2026-01-28 15:31:46.7698|ERROR|HytaleClient.Application.Program|System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at HytaleClient!<BaseAddress>+0xa9b5ab
at HytaleClient!<BaseAddress>+0x3db934
at HytaleClient!<BaseAddress>+0x3f9c88
at HytaleClient!<BaseAddress>+0x2f38ef
at HytaleClient!<BaseAddress>+0x2ea377
at HytaleClient!<BaseAddress>+0x640e41
at HytaleClient!<BaseAddress>+0x63bf50
at HytaleClient!<BaseAddress>+0x653ba7
at HytaleClient!<BaseAddress>+0x65374c
at HytaleClient!<BaseAddress>+0x120bc57
2026-01-28 15:31:46.7698|INFO|HytaleClient.Utils.SentryHelper|Sentry event captured: b3ec165184a14bc9ab95fdc82c194c0d
The launcher handles the working directory of the client, so if you forego the launcher you could just have a second copy of the game
You'll have to figure out how to launch the client manually on your own though
what you mean i need to add lauch option somehow ?
The client is an executable the launcher executes for you. You could skip the launcher and use the client yourself
if you're trying to do this with code feel free to check out the documentation i created in my bio i will be adding a whole asset editor page with tutorials, examples and a general breakdown of how it works (if you check out the editor please star it and if you find any issues or want to make an addition please lmk or you can create a pull request)
Been looking for the interaction component but I can't seem to find it
yes, so i can add launch option to the client to run 2 instances ?
Is this in the asset editor or an IDE?
In an IDE
It's not as simple as a launch option, you need all the auth information, but yes
3rd party launchers might actually become a thing for hytale ^^
use the asset editor to add interactions to your block
use IDE to make a custom interaction to suit your needs (place them in resources/Server/Item/Interactions)
alr exists
Ah, I'll give that a shot, ty
I tried to add an interaction to an existing block, probably why I couldn't find a way to do it
so it is not possible easily
If you really need 2 accounts, you could give it a go. But nobody has documented the exact process yet afaik
Yo how do you make multiple projectiles go flying elsewhere from each other.
I need to test a plugin which requires an 2 instances of the game running
you can do this but it requires overriding the asset in your pack - but this apparently isn't great for compatibility long term
I kinda wanted to go with making an entity disguised as a block like in minecraft but that doesn't seem like an option
what are you trying to make here?
Check out my YouTube tutorial for this! Link is in my bio
Whenever you mine something underground, there's a chance to spawn a block that when right clicked, opens up a UI to play a minigame. If you complete it, you get loot
For anyone curious, each time a player transfers world on a basic server you are bursting ~40MB of data per player. Scale that up 100X40 = 4G. - Its high but not unusual. This is with basically no extra content but a performance mod and my mod, and a 12 chunk view distance. - This is for each hop even the same servers.
Hope to see some optimizations later, but bump up your Linux UDP buffers as they are defaulted to 200KB. and at least 5 seconds between hops
Also something that has been affecting my "reliable" transfers is the Fluid Plugin, takes 1-4 seconds per chunk. That is about 4000ms or if you do that math 80ticks spent on one chunk.
then yeah interactions seem like the way to go and you'd probably want to create a custom interaction
would recommend watching OG_Ali's video on them or just finding the custom interactions section on hytalemodding (d_o_t) dev (links are no fun here...)
I'll check them out, ty for the help
Pretty hard to find information online since most docs are mostly incomplete
So I've been pretty lost lol, feel like I've been asking around too much
Hi everyone,
is anyone else getting this error when entering instances like the Forgotten Temple?
"Disconnected from server – Exception when adding player to world!"
Server logs show a lot of:
- Took too long to run pre-load process hook for chunk
- BlockTickPlugin / ChunkStore warnings
- GC running during chunk preload
This started after the January 2026 hotfix.
Just want to confirm if this is a known issue or something server-side only.
Thanks!
yeah they are scarce or AI generated and incorrect, but the hytalemodding one seems generally pretty good. feel free to ask if you get stuck on anything
Hii, Is it possible to change MaxHealth or MaxSpeed when a sensor detects it?
hi how could I get ComponentAccessor<EntityStore> for placing prefabs?
using the store for the world you're placing it in - World.getEntityStore().getStore() IIRC
that give me the entitystore, how do I get the componentaccessor?
that is the accessor
Anyone know how to create and trigger a custom event?
oh yea mb ty
implementing some form of IEvent<> and dispatching it through the eventbus i guess?
Im hosting a server for my friends and one friend has an issue with item names, whenever he hovers over items they're long strings like server.item.... or server.instance.... (hes on linux)
anyone had this issue?
Linux explains a lot, but no I have not had that issue. Sounds like the formatter could be OS specific?
Yeah one friend on Windows isnt having the issue, I'm not having the issue either so it could be that
Thanks! :)
So I'm pretty sure it was something broken in my assets. I returned to the drawing board and found a different method for restricting unarmed block interactions. Thanks for trying.
I haven't had such issues on linux either. Could it be due to the language they're using?
I use arch btw
Does anyone know how to give a piece of armor to a player and equip it directly?
hello how to play with my friend for free in the same world ?
Wdym for free? You mean without the cost of hosting a server?
@proven gyro sorry for the ping but do you know how to make it so 2 projectiles dont go the same direction.
yes or site for free servers
once in the world press escape and online play, then send the code to your friend
that don't working, this button is grey
i can't click
on online play or on the code ?
on online play
theres something called play hosting by tubbo. it's free to host a hytale server look into it.
maybe your game isn't updated to the latest version ?
that on internet ? thx
Or just open the port on your own router 🤔
i don't know how
Thousands of YouTube tutorials
i look on the site but that look hard
ok i will check thx
It looks scarier than it is
ok i trust you
Im hosting on some dedicated server site, could it be that although I doubt it as well, his language is set to English
Is there any way to not need --<argName>= for Optional Arguments? it is kinda dumb when you don't have multiple optional args
How can I make it so non op players cannot destroy blocks in my map for my plugin?
Hi, im working on a plugin and I have my own entity system that should process entities with the TransformComponent and my custom component. So I did:
@Override
public Query<EntityStore> getQuery() {
return Query.and(ProjectileEmitter.getComponentType(), TransformComponent.getComponentType());
}
But on server startup I get this error:
java.lang.IllegalArgumentException: Query in AndQuery cannot be null (Index: 1)
at com.hypixel.hytale.component.query.AndQuery.<init>(AndQuery.java:35)
at com.hypixel.hytale.component.query.Query.and(Query.java:50)
at com.daanb.testplugin.ProjectileEmitterSystem.getQuery(ProjectileEmitterSystem.java:51)
I assume this is because my plugin loaded before the EntityModule plugin, which loads the transformComponentType. How can I ensure that my plugin loads after the EntityModule plugin?
add it as a dep?
but how do I do that
your manifest?
🐱
good idea, but what should I put in Dependencies": {}. Im new to this
hmm, Haven't tested but my guess is {"Hytale:EntityModule"}
yeah
"com.remy:RemyUtils": ">=1.0",
"Ellie:HyUI": ">=0.5.0",
"com.remy:Remconomy": "*",
"Hytale:Instances": "*"
}``` something like this
thanks! it worked with
"Dependencies": {
"Hytale:EntityModule": "*"
},
is there a way to use custom fonts in ui assets?
I know thats a super easy plugin but i have just started learning java and i can't figure out how do i call a player and send a message about broken and placed block
import com.hypixel.hytale.server.core.Message;
import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
import com.hypixel.hytale.server.core.entity.entities.Player;
import com.hypixel.hytale.server.core.event.events.ecs.BreakBlockEvent;
import com.hypixel.hytale.server.core.event.events.ecs.PlaceBlockEvent;
public class gameListener {
public static void onBlockBreak(BreakBlockEvent event, Player player) {
BlockType brokenBlock = event.getBlockType();
player.sendMessage(Message.raw("You have broke " + brokenBlock));
}
public static void onBlockPlace(PlaceBlockEvent event, Player player) {
var placedBlock = event.getItemInHand();
player.sendMessage(Message.raw("You have placed " + placedBlock));
}
}
how can i detect when a player walks over a block?
Whats the workBench id for the crafting in the inventory
@quasi escarp
i found a issue where right after teleporting to a different world, the world represented by playerRef.worldUuid was diff then playerRef.reference.s't'ore.externalData.world
anyone know why its like this?
Are you holding on to playerRef during the world switch?
I'm messing around with Asset Editor in my server.. I'm trying to make custom block just to get the hang of putting in custom Items/Blocks. im following "Modding by Kaupenjoe" on Youtube but I cant seem to get my Translations name to auto fill so that everything is cleaned up and block looks clean in inventory & while holding in hand.. instead its just saying server.items.Ore_Sulfur_Basalt.name=Sulfur Ore - Basalt .. wont auto complete at all here is all in my server.lang file. Is doing it in normal worlds vs server different? do i gotta find a way to do it server wise?
server.items.Ore_Sulfur.name=Sulfur Ore
server.items.Ore_Sulfur_Basalt.name=Sulfur Ore - Basalt
na, i copied the teleport code and yoinked the completble future gotten after teleporting
Finally I've released my mod. It took a while to figure it out. I was thinking of using the hytale apis for storing player data, it turns out they store it as plain json, so I decided to go with a sql database as it is less complicated
How can i give an armor piece to a player directly in the armor slot ?
getCombinedArmorHotbarStorage ?
this should be it
try Interactive Custom Blocks & Block States | Hytale Modding Tutorial (#5) on Youtube by Ali
Or do I need to make it a FieldCrafting Recipe ?
I think it is field crafting.
how to get camera/rotation direction using player?
Sorry I'm asking you from a long time ago! Is it confirmed? I'm about to use it for my mod and I wouldn't like it to be removed
The id is FieldCraft
Thank you! Working on a rock salt gun and wanted to be able to craft ammo on the run
I believe it is using ref<EntityStore>.getStore()
If there is a way
isnt that the same as getTransform()?
thank you so much
ill check that out, thanks
I believe so. I don't know much about it
getTransformation getDirection and getRotation both didnt work so it cant be that
try seeing the spawn code
Yeah, its still happening and I have no idea why. I made a custom pack, override asset for wooden hatchet, make my changes and they are there, quit to main menu and reload world, its now a vanilla wooden hatchet again. Why is this happening? D:
quick question: is checking for a players mouse input(s) possible? if yes, then also is checking for a player crouching and doing a mouse input possible?
The blockstate system is just their wrapping for per-block component data with its own tracking (Placing/Destroying blocks), for what its worth, the chests still use the blockstate system that they have themselves deprecated
The alternative to not using their blockstate system is tracking your own per-block components
Did you ever figure this out? I am having the same thing happen 🙁
Didn’t work as in returned no data or returned odd data
You can get the rotation from an entity’s transformcomponent
Its in radians not degrees iirc
nope, just redownlaoded manually and replaced the files. Might check if that fixes it next time
like it stayed at 0.5 and didnt move at all even when i rotated
Were you getting the transformcomponent?
I think theres some kind of getTransform in the PlayerRef or something but Im not sure how valid that is
ye i was using getTransform from playerref
but i think it gets player rotation instead of camera rotation
I think theres a getHeadRotation somewhere but I can’t check at the moment
there isnt
I meant the TransformComponent, its on the entity, same as the PlayerRef component
Anywhere? I didn’t mean on the transform youre getting back, I haven’t got my decomp atm
how do i get it
Have you got a Store<EntityStore> and a Ref<EntityStore>
atleast not in player, playerref and getTransform
nope
Just a PlayerRef?
ye and a playerconnectevent
Im on mobile so forgive me for the lack of formatting and I might get a specific method name incorrectly:
nw
Save data might be the issue
u are the only one helping me im thankfull for that
my game doesnt download or extremly slow. any idead to fix it? i tried everything... and google doesnt help either
what specs do u have
var entityRef = playerRef.getReference();
var store = entityRef.getStore();
var transformComponent = store.getComponent(entityRef, TransformComponent.getComponentType());
Brand new world, fresh game install, new pack. I've tried everything I can think of.
Theres a getPosition and a getRotation in the transformcomponent
thx
Inferred type 'T' for type parameter 'T' is not within its bound; should implement 'com.hypixel.hytale.component.Component<com.hypixel.hytale.server.core.universe.world.storage.EntityStore>'
I should just have to make a new pack, override asset, make my changes and I'm good to go right? Nothing else I should be doing?
i think getTransform just gets the component
It might I haven’t used getTransform directly
Lots of weird and useless methods in Hytale atm
i7 intel core, geforce 1070
ye
What line is erroring?
which gen and how much ram
Is it possible to prevent player from moving an item to a chest
idk, tho i dont think i need ur method since getTransform gets the same class
Oh then nevermind then
16 gigs
i dont think a LivingEntityInventoryChangeEvent is cancellable
and what cpu gen
I sent you an PM 🚀
- generation
whats the best way to detect a player walking over a block?
Is there a way to make a server available 24/7? And are there any guides how to do it?
You can use a dedicated host
Just made a GPortal server , cant seem to join it, Anyone else have this issue?
why when ijoin any server he said tome faild to conect to server in single player
is there a way to get all living entities in a x block radius from the player?
How do i do that? Sorry I'm really new to this😭
ye your specs are pretty weak
when the interaction system will get updated?
why when ijoin any server igot error
they are, but the launcher should be able to download the game. doesnt has anything to do with specs in my knowledge 😅
bro watching hytale from mc is so weird imgur com/a/uKv3QWZ
try turning down your settings
there isnt anything to turn down
rip then idk
If you can still refund the game then do it, it’s not worth having something you can’t use
thats what i thought... thank you anyway. ill try it on steam deck
ill try. ty
I think I also got it, is it only when doing singelapyler atlaeast?
I have a bad pc but a good pc I Dont get to access often I play on via moonlight, I got hytlae on the bad pc orignally which should have good enoguh specs, but it always just hung and died
well loadogin into a world
Whats currently a good Plugin-Template to start? Not sure what the best start is.
Yep, no matter what I do, these items just revert back to vanilla. i cant figure this out and it seems like no one else is having this issue.
i cant even start playing, bc the launcher wont download the game...
If you cannot refund it then keep trying with optimization mods. They boost fps etc
what does it say?
error applying update to jre etc....
Has anybody indexed the Hytale maven pre-release artifacts to see everything that's provided?
error from downloading the files from https://launcher.hytale.com..........
wat
yes xD
Does someone know how to replace a block with the java code? Tried several functions but he does not replace the block.
Has anyone tested what happends if 2 plugins edit the same asset?
My Mod has reached 14 Downloads 😄
You shouldn’t really be editing the same asset or any of that, it should be copying/duplicating
Ready for the 144 bugs?
Yes Please
I want to iron out any further bugs so we can go live with it on our own server
This was a ploy all along, Release it so others can test it >:)
I just ironed out my UDP relay. And now no more random disconnects and packet loss! 😄
Having the game and server run from my IDE at the same time keeps triggering the OOM killer 😭, I have 32GB of ram
Is your IDE allowing that all to be allocated?
well i'm just triggering gradle
gradle is triggered
I had issues with IDEs running everything because for an example Rider caps you and you have to manually adjust the resources allowed to be controlled and allocated.
Does anyone know how to get the references to all living entities near the player?
the hytale client in a singleplayer game is using ~11GB RAM
Yep! Its a chunky Boi! 😄 but its likely the server and client acting together
Does anyone know if its possible to hide the player model when mounting an npc?
Can anyone offer any advice on this so I have a staff it's shooting two projectiles but I cannot seem to get it to allow them to go a different direction from each other
OK - I officially have modding working in Clojure (for however long the server lasts before it starts sending terrain)
It's mostly vibe coded so I'ma do a full rewrite by hand, but I got nice shorthands like defplugin, defcommand, defcomponent, and defsystem
Hello quick question about teleporting players:
The docs say to use Teleport.createForPlayer(world, pos, rot), but that method doesn't seem to exist in the Teleport class.
Has this been renamed or moved? How are you guys instantiating the Teleport component for players?
Current setup: SimpleInstantInteraction + world.execute().
Thanks!
Why rewrite? Its already writen, just go through and make sure you understand it and its architecture, change if needed.
guys if i want to send a message in the chat, but i don't want to use the player.sendMessage() how can i do that? i use Universe or World?
Yes the client is responsibly for loading the server as well. this makes sense
Mostly the need to remove unneccesary parts, and also as a way to make sure I understand everything since I blindly trusted it
I want to redo the entire Java bootstrapper
This is fair. I understand this entirely. I use AI to write my code, but I also direct the absolute brains out of it. 😄 code doesnt go in if I don't like it 😄 (but it also solves problems I didnt know how to solve, and allows me to write and ship thingsin days or weeks that would take weeks to months!) 😂
how can I tp a player to a different world and coordinates?
The standard Hub Portal Asset has code for teleporting to another world atleast
for coordinates I believe you need to attach the Teleport component to the player
ik, not sure how across worlds tho
how do i detect a player walking over a block?
Does anybody know if there's a CDN for hytale server JAR and assets yet?
i think you can check with an interaction onCollision or similar (i don't remember the name) and then check if the player pos is above the block or not
how do you register a interaction though?
wondering the same. trying to do custom actions on NPC interaction
Does aternos have 24/7 uptime feature? Like servers always up or nah?
example of interaction:
public class ChestConnectorEnableInteraction extends SimpleInteraction {
private static final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
public static final BuilderCodec<ChestConnectorEnableInteraction> CODEC= BuilderCodec.builder(
ChestConnectorEnableInteraction.class,
ChestConnectorEnableInteraction::new,
SimpleInteraction.CODEC
).documentation("Interaction for enabling the chest connector").build();
@Override
protected void tick0(
boolean firstRun,
float time,
@Nonnull InteractionType type,
@Nonnull InteractionContext context,
@Nonnull CooldownHandler cooldown_handler) {....//what need to appen in the interaction..}
``` (in my case i've extended SimpleInteraction becase i needed that)
you make an interaction class (that extend SimpleInteraction, SimpleBlockInteraction, or other classes) and then in the main of the plugin you register the interaction like this (in the setup()):
//======== Register new interactions ========
this.getCodecRegistry(Interaction.CODEC).register(
"NewInteractionId",
ChestConnectorEnableInteraction.class,
ChestConnectorEnableInteraction.CODEC
);
, then the "NewInteractionId" will be the id that you will put in the asset editor under the interaction section (you can chose what trigger the interaction directly from the asset editor, in your case you can chose something called "onCollision" or similar now i don't remember)
How does one allow for parameters on a command? I know you can add setAllowsExtraArguments(true); and parse the context.getInputString(); but then that doesn't show up on the help info.
I doubt. Its not a ton of data to transfer, really no need.
i send you in dm the link for a tutorial that i saw some days ago
can someone help me w/ my manifest? { "Group": "org.orbis.industries", "Name": "OrbisIndustries", "Version": "1.0.0", "Description": "Your plugin description here.", "Authors": [ { "Name": "bananababoo", "Email": "banababnana@gmail.com", "Url": "https://example.com" } ], "Website": "", "ServerVersion": "*", "Dependencies": {}, "OptionalDependencies": {}, "DisabledByDefault": false, "IncludesAssetPack": false, "Main": "org.orbis.industries.OrbisIndustries" }
anyone a UI wiz wanna help me create one for my mod? I'm pulling teeth over here
its saying Skipping pack at Bananababoo_OrbisIndustries: missing or invalid manifest.json
is there a way to make npcs into shopkeepers?
look in the asset editor at merchants
see how the interaction is set up
k
When a player joins the server, I see a UUID in the console. Can you please tell me if this UUID is unique to my server? Or is it unique to all servers?
User UUID, it's the same on every server afaik
How can i give and equip an item in the offhand of a player ?
UUID is that players identifier, it is gained via
my-account/get-profiles
Endpoint in account-data
at hytale.com
I do believe OAuth is a requirement to attain this data, at least that is what I required, whenever I auth I can gather that on the response.
if i want a component to make an action every 5secs (for example) i need to use the ticking system right?
Anyone know how I would go about adding an overlay? like a leaderboard on the side of my screen?
Is there an explanation somewhere of what the hytalemodding dot dev guide setting up environment page (can't post the link) means by it being outdated but correct but there are better ways of setting up your evironment?
How to move a Player from one Server to another? Are there plugins for that?
"referToServer" method
How do I run a command ingame from a plugin?
has anyone figured out, when apply velocity to an enitity, how to cap the top speed?
(or just how to do that in general, excluding the appling velocity part if it's not relavent)
Hi, I am having the same problem. Have you find any solutions?
hello, how to freeze npc on position?
How can I select a chunk, with world.getChunk?
u need chunk index: long chunkIndex = ChunkUtil.indexChunk(ChunkUtil.chunkCoordinate(pos.getX()), ChunkUtil.chunkCoordinate(pos.getZ())); then world.getChunk(chunkIndex);
I want to open links from the UI and i can't figure out how 😄
just AI slop documentation here right now
you compute the magnitude for the velocity vector and have some scalar for your max speed, you compare them and if the magnitude is higher, multiply the max speed by the normal vector
How can I add a custom block to the world that should be considered in world gen?
how to handle projectile hit block by code?
anyone know how to import sounds?
hey sorry if this has already been asked but where can I find links to documentation on getting started with plugin development
AFK Zone plugin?
So I have to Write my own? Why?
Guys, can we make commands like "/plugin lobby create <name>". My plugin constantly says it has 0 arguments issues.
does anyone know how to make 2 projectiles go different ways
Yes? 😄 I dont know any other way. Maybe a command.
Is it possible to somehow create a clickable link in the game?
Hmm, the Assets.zip is not available through some cdn/maven right? only lancher installation.
-# want to make a devserver run fully independent of a launcher
How? Can u tell me pls
Message.raw("yourText").link("yourUrl")
Hello guys! Does anyone here knows how "config.json" file is created for instanced portals?
I would like to prevent the temporal worlds to be deleted on exit, but i don't know why, the config.json is being overwritten with DeleteOnRemove: true when it's set on false in the config.bson of the instance
is there a way to store data in held item ?> like position of rightclicked block?
referToServer is an existing method on PlayerRef. You can just call it with the host, port and referral data if you have any.
I have a mod that I just released for it
Look up "Shubshub Server Jump" it even has Inventory Sync
Both the launcher and the server downloader are golang applications that you can easily find the download address of by running it with the env var GODEBUG=http2debug=2
Though, the server endpoint requires JWT auth, that I know for sure
For Inventory Sync both servers need the mod btw
When I do CommandContext.sendMessage, is that sent to everyone or just whoever typed in that command?
just command typer
Jump to source to see what exactly it calls
Hint, it just delegates to sender.sendMessage
yeah, I was just looking at maybe asking the poor user even before getting to the runServer to download if the launcher is not available already
thank you
I saw that but from the IMessageReceiver interface I did not know who would receive it
another update... damn
guys if i want to do an operation every 5seconds, i need to make a function that get called every tick and check if the tick is a multiple of 5x<server tick per second> ? or there are other function in the ticketing system that will help me doing that better?
You can check the implementations of CommandSender, it's directly implemented on Player and ConsoleSender
use HytaleServer.SCHEDULED_EXECUTOR.schedule()
ok ty
Is there a way to use a in game command in a plugin? Like set blocks?
HytaleServer.get().getCommandManager().handleCommand()
Did you find a solution at your problem ? I have the same ?
not sure which of them fixed the issue, but I ended up deleting the server jar, the aot cache, and the assets.zip BEFORE copying the new ones over to make sure they were actually copying over,
and then i regenerated the aot cache for my java version with
java -XX:AOTCacheOutput=HytaleServer.aot -cp .\HytaleServer.jar com.hypixel.hytale.Main --assets ../Assets.zip --backup --backup-dir backups --backup-frequency 30
and then when i started the server again after this the error was gone
how to auto-update server
is there a way i can set up interactions with npcs, for example dialogue, where the npc will ask something and depending on how the player responds will affect what they say next
to auto update I would run it in docker and tell it to pull latest.
How do I import HytaleServer?
com.hypixel.hytale.server.core.HytaleServer
OK very strange I will try !
you found something ?
no 
hell i found out that's the reason of 80% of my problems x) i'll try to find a solution and tell you back
thx
Does anyone know how effects are applied, for example "Burn"?
found a fast solution: setAllowsExtraArguments(true) + manual args parsing
I'm making a server referral system to enforce that users join a subserver from a main server. I'm checking against the PlayerSetupConnectEvent and if the server is not properly referred I'm referring it to an expected main server:
val server = getRandomServer() ?: return@registerGlobal
event.reason = "EzLobby Linked Server - Forced Referral"
event.referToServer(server.host, server.port)
}
I don't know why the referral seems to be working partially: the user is referred but disconnected due to an "unexpected error", but once the user presses the "try again button" they are on the expected server to which it was referred.
Any idea what I might be missing?
Does hytale supports sub commands like /plugin lobby create <name> ?
yes
I‘ll see
How? I constantly get 0 arguments error
Github => Degoos-Team/EzLobby
Not released yet, but you can build it yourself.
Anyone that needs a dev hmu
Anyone that needs a non-dev acquainted with AI to research classes/methods/fields/etc... I gotchu 😄
I'm actually looking to assemble a team for my network, while also having a secondary dev team (being a dev myself), but we are targetting right now the Spanish community
What exactly are you bringing to the table besides an API key to some LLM provider?
Hey, API keys are expensive
True tbf
i don't have real example (i don't use them for now), but there is a guide/tutorial on how to setup them on the hytalemodding,dev site (i know only this site as guide for this specific case)
I'm a nice guy 😄
Great, lmk if you want to work something out!
I bring to the table my two mods 😄 HomePlus and LootPlus !!
Feel free to give it a look to the open projects we have at Degoos-Team (github). We are open to PRs 😛
@steady wolf open your private messages, i have made a class for this
accept friend request
oh you are a AI slop dev lol
There is actually an applyEffect method on entities. Not in front of the computer right now, but I'll see if I can get you the example when I'm back at it!
Thanks, that would be very helpful!
Locualo? xD Not gonna throw my CV here, but if that's what you think, then all good ^^
Found it: addSubCommand
Brother just go read your code and your md files lmao
AI all over it
Wait, is AI bad? Even fortune 500 companies are using it? I thought it was good 🙁
Doc generation? Yup, for sure, but that's mostly it. But as I said, not gonna fight you. You are entitled to your opinion
depends on how you use it, but, overall? yes bad
overall it is not yes bad LOL
As long as it's used as a tool by someone who understand wth is going on... but that's not the normal usage lately unfortunately
this is much better 🙂
Don't worry he was this way earlier too. 😂
Anyone else getting this error every time they restart the server?
[2026/01/28 22:50:12 SEVERE] [SERR] java.util.concurrent.CompletionException: com.hypixel.hytale.common.util.CompletableFutureUtil$TailedRuntimeException: java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: World default already exists on disk!
This is a real thing and fully agreed. AInis a tool its slop if you let it be slop, or if you dont know how to use the tool.
Anything is slop if you just use it without understanding it
Is this completely blocking the server initialization? Because it looks like there is something trying to create the default world whilst it already exist
yes, I don't know why it tries to create the world and crashes since it exists
I used to be extremely Anti AI too at the start
And then I realized actually only AI Art is bad because it offers no real creativity to the process
Do you have all mods disabled? Just to ensure that there is no plugin/mod interfering during initialization
it's vanilla
Look at the rest of the log, its probably asset validation or something causing the default world to be unable to be loaded
It currently falls through to this case where it attempts to make the default world if its not loaded
I checked my recent logs and did not see this.
maybe it's a permissions issue
why it doesnt work when i try usuing my plugin? commandManager.handleCommand(player, "/selectchunksection");
it says that command dooesnt exist when trying to use my command in game
I would imagine drop the /
makes sense
Just so it doesn't get lost. Not the biggest thing ever to fix, but annoying for the end user. In the end, the least the friction the better
referToServer takes in a third parameter
Yeah. I use AI like I would a co-worker.
I know each and every line of code, I just get the code I need. "Advanced google" is what I call it.
It can be null though, Its just referraldata
CMD ["java", "-XX:AOTCache=HytaleServer.aot", "-jar", "HytaleServer.jar", "--assets", "Assets.zip"]
What commnds do you use to start the server?
is possible to set a ui button to "enabled" or "disabled" like clickable or not?
Does anyone know how to disable player collisions and prevent a player from picking up dropped items?
It's null by default, at least for what I can see:
public void referToServer(@Nonnull String host, int port) {
this.referToServer(host, port, (byte[])null);
}
is there like a context.getarguments()? for commands like /levelup "argument"
Oh interesting I didnt know it had an override
Try introducing a delay with a CompletableFuture
world.execute(() -> {
if (isAuthoritative) {
playerData.setAuthoritativeServer(playerUuid, targetHost, targetPort);
}
playerRef.referToServer(targetHost, targetPort, customData);
});
}, CompletableFuture.delayedExecutor(500L, TimeUnit.MILLISECONDS));```
I would suggest to use the commandRegistry to register the command, is going to be easier to include and manage complex commands that way.
I'll give it a try but I'm not on high hopes as I'm acting over the PlayerSetupConnectEvent, but worths a chance
Yeah I had the same issue 🙂
Let me grab the code I use in my Player Connect event
In the PlayerConnectEvent I found I had to delay the execution by 5 seconds otherwise itd crash like yours
hi there wanted to ask does anyone know how to fix the issue going on with the game after the current update not letting you connect with friends online via code ?
any help with this issue would be great
@haughty sand hey saw your friend request, I don't really friend up, but you can send me messages if you need.
Ohh dont worry, i just wanted to ask if u want to join my project hehe
I saw that
I realized you were doing something different but I still don't trust CompletableFuture with world thread lol
How would you do it instead?
Something like this work? T_T
` String input = context.getInputString();
String[] args = input.split("\s+");
int level = 1;
if (args.length > 1) {
try {
level = Integer.parseInt(args[1]);
} catch (NumberFormatException e) {
player.sendMessage(
Message.raw("§cUsage: /resetchunk <level>")
);
return;
}
}`
Try ``` instead of single `
You can optionally put the language of the codeblock in front of the first ```, like ```java
For what you're doing, I have no idea. I mean maybe that works, but what I was doing, it seemed like a hit or miss depending on the mod
My mod is Server Jump with Inventory Sync
oh sry mb
Actually, I would use Hytale's built in Scheduler
Hytale has a built in scheduler?
Forget about I wrote, nope, coroutines are working in another way xD
HytaleServer.SCHEDULED_EXECUTOR.schedule(() -> {
// Do something in two seconds
}, 2, TimeUnit.SECONDS);```
Thanks
Guys, is there a mod or plugin that allows me to create other worlds on the same server?
Check CurseForge, there are a few
Thanks, I'm using a mod called "multiworld" but it doesn't work, so I wanted more specific help
vanilla command /world
You can also use the /world command
Does anyone have a small example of how to dynamically apply or build a UI? My idea is to create a leaderboard.
Each server can have multiple worlds by default.
There's a global Universe with multiple worlds within
guys, i'm not sure how it's work the UIEventBuilder.addEventBinding() function work, if i want to add two different event binding i need to call this fuction two time for the 2 different trigger, but then in the handleEventData() how can i see what event triggered the function?
thanks, how can i create it?
Doh, neither the CompletableFuture nor the scheduled executor did the trick. But thanks in any case!
I'll keep giving it a spin tomorrow as it's getting quite late already 😅
if u write /world u get help in chat, but for create /world add (name)
oh god thanks, I didn't know that
I'll try it now, thanks for the support
super.setup();
getCommandRegistry().registerCommand(
new ResetChunkCommand(
"resetchunk",
"Resets the current chunk with a level preset",
false
)
);
}
do you guys know how can i add a new parameter?
How do I teleport to the world?
I noticed you're running referToServer on the event, But its actually a method on the Player Ref
Alternatively whats the actual error you're seeing on the other side or on your server?
I can't send a picture, but if you check the PlayerSetupConnectEvent.class it does have the referToServer method within the event.
Supposedly, it's the way to refer the user to other servers while they are connecting, but my brain is mushy already to give too much of a spin
Why not cache the data you need and then grab it in the PlayerConnectEvent
Funnily enough, it doesn't reach the referred server (until you press the Try Again button in the client interface)
Because that's already joining the "having to work with workarounds" world which I'd rather try to avoid xD
This is odd. I dont know why that would be good use. 😛 weird hops make things wonky.
What is your goal? What are you trying to do?
Has anyone ever had this bug [InteractionManager] Client finished chain earlier than server!? If so, what might cause it?
Player connects to lobby => goes to gamemode server => profit
Player connects directly to gamemode without going by lobby => uuuh, nonono, go back to lobby => profit
Trying to do this all in server realm? Or do you have external services to handle such information?
As the referToServer is part of the event natively I'm assuming that this is an intended behaviour from Hytale's side, maybe not fully implemented/tested. But that'll be a problem for future me. Now it's time to sleep tight xD
Server realm. making use of the isReferralConnection and the data attached to the event by the lobby server (that part is working fine)
It definitely works. I have an orchestration system that Matchmakes players based on player count and server types. ReferToServer works, but I have external services that report the origin server and find the destination. Then I use the origin to execute the command and that fills the user's ID and Destinations IP:Port.
For further info, I've already made a push against github on
Degoos-Team/EzLobby
feat/lobby-referral branch
Ooh, that sounds neat
going to sound DUMB but i would like ot know what config commands i need to put in to keep inventory on death and no fall damage.
"Death": {
"RespawnController": {
"Type": "HomeOrSpawnPoint"
},
"ItemsLossMode": "Configured",
"ItemsAmountLossPercentage": 0,
"ItemsDurabilityLossPercentage": 0
},```
falldamage is in by default, you have to add the rest. Its in your worlds config.json
Hello is there a way to setup a server to auto-update? Link to a guide on how to make a server update without having to manually copy the files in?
its on the hytale support page
they have downloader that you can run with your periodical restart process to update the server files
someone knows why when on a player I put canFly = false, is still flying the player?
I don't see anywhere that talks about auto updating if you wouldnt mind providing a link to the page?
https://support.hytale.com/hc/en-us/articles/45326769420827-Hytale-Server-Manual
its the hytale-downloader there
they added an updater to the server jar
nice, though as a hoster you still want to control when you update instead of a server deciding it for you
its a command
public UpdateCommand() {
super("update", "server.commands.update.desc");
this.addSubCommand(new UpdateCheckCommand());
this.addSubCommand(new UpdateDownloadCommand());
this.addSubCommand(new UpdateApplyCommand());
this.addSubCommand(new UpdateCancelCommand());
this.addSubCommand(new UpdateStatusCommand());
this.addSubCommand(new UpdatePatchlineCommand());
}
hey, is there anyone here using the simple claims mod? how does it work as a party? do we get the standard amount of chunks in total as a party or do we get the standard amount each?
For all of those who experience the issue: "The wrong number of required argument was specified. Expected: 0, actual 1:" if you use RequiredArg you need to provide the arg if you use OptionalArg it's like a flag arg you have to set --<argName> arg else you can use none of them (excepted your own type of args) and use setAllowsExtraArguments(true) in your constructor
you all get the same amount, regardless of party size
thanks man
I tried using the built in one and it says my folder isnt setup for auto-install what would i need to do to fix that?
/update apply ?
when i do that it says i need to manually add the files
Hey guys, does anyone knows how to get all entities in HytaleAPI?
[TMP] Cannot download update: folder layout not compatible with auto-update.
Expected Assets.zip and launcher scripts in parent directory.
Use '/update download --force' to download anyway.
never seen the command work, there must be some undocumented step
-# (to be fair, I had not spent hours on it to figure it out)
yes i did that and manually moved to files like with the external downloader just wondering how i fix the parent directory issue
its just looking for Assets[dot]zip and start[dot]sh / start[dot]bat to be in the parent directory
what do you mean by all entities ?
I wanna remove all entities like /entity remove all
server/
- HytaleServer[dot]jar
- ...
start[dot]sh (linux)
start[dot]bat (windows)
Assets[dot]zip
import com.hypixel.hytale.server.core.universe.World;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.component.Ref;
// Get the world
World world = player.getWorld(); // or Universe.getWorld(worldUUID)
// Execute in world's thread context
world.execute(() -> {
// Get EntityStore
Store<EntityStore> store = world.getEntityStore();
// Iterate through all entities
store.forEach(entityRef -> {
// entityRef is Ref<EntityStore>
if (entityRef.isValid()) {
// Do something with entity
System.out.println("Found entity: " + entityRef.id());
}
});
});
@tall hemlock
thx
Hii, someone knows a server plugin for skywars?
when i put the .bat file in over my manually created one it throws errors and force closes
you're welcome
just use your manually created one
just make sure assets.zip and the bat are in the parent directory of the server and then the updater should work
public static boolean isValidUpdateLayout() {
Path parent = Path.of("..").toAbsolutePath();
return Files.exists(parent.resolve("Assets.zip"))
&& (Files.exists(parent.resolve("start.sh"))
|| Files.exists(parent.resolve("start.bat")));
}
server/
- HytaleServer*.jar
- ...
start.sh (linux)
start.bat (windows)
Assets.*zip
Use Formatting
to send paths 🙂
Assets*.*zip
for example
yes since making it bold prevents it to make it Hyperlink
backslash should also works then
How many of you are running this off Proxmox LXC?
I am code illiterate would i put the folder address in the ".."? Also do i copy that into the bat file?
idk this is
If you don’t know then why comment? Lol
lightweight virtual machines for linux kernels
oh okay
to know what this is 🙂
I think this is a fine use! 😄 just make sure security is in place if Public as lxc is host driven not truly isolated
how do I access hytales Api if I'm using IntelliJ
I know what it is but I'm not that cool
Guys I've let my server on for a few days and it corrupted?
When I joined in it said no world available
then i restarted the server and now it crashes with
[2026/01/29 00:47:57 SEVERE] [ChunkStore] Failed to load chunk! 22, -9
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: capacity < 0: (-950530401 < 0)
at java.base/java.util.concurrent.CompletableFuture.wrapInCompletionException(CompletableFuture.java:323)
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:359)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:364)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1791)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1781)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:511)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1450)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2019)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
Caused by: java.lang.IllegalArgumentException: capacity < 0: (-950530401 < 0)
at java.base/java.nio.Buffer.createCapacityException(Buffer.java:289)
at java.base/java.nio.Buffer.<init>(Buffer.java:252)
at java.base/java.nio.ByteBuffer.<init>(ByteBuffer.java:323)
at java.base/java.nio.ByteBuffer.<init>(ByteBuffer.java:331)
at java.base/java.nio.MappedByteBuffer.<init>(MappedByteBuffer.java:114)
at java.base/java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:104)
at java.base/java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:367)
at com.github.luben.zstd.ZstdDecompressCtx.decompress(ZstdDecompressCtx.java:350)
at com.github.luben.zstd.Zstd.decompress(Zstd.java:1560)
at com.hypixel.hytale.storage.IndexedStorageFile.readBlob(IndexedStorageFile.java:612)
at com.hypixel.hytale.server.core.universe.world.storage.provider.IndexedStorageChunkStorageProvider$IndexedStorageChunkLoader.lambda$loadBuffer$0(IndexedStorageChunkStorageProvider.java:122)
at com.hypixel.hytale.sneakythrow.supplier.ThrowableSupplier.get(ThrowableSupplier.java:13)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1789)
... 5 more
what i should do?
is it dead?
yup, dats world ending doom right there
``` above and below that log
but i didn't do anything weird i just let my ovh vps on for like 3 days straight
you can load a backup of the world probably, see of that works
i added markdown
Wdym? Like, the server as a dependency? You could use the maven artifact they provide, or use the local server jar you download alongside the game by referring to its path
@nova void How's your C# server software coming along?
What's the alternative for the Didn't Make the Cut mod that was re-enabling and fixing up a good chunk of vanilla content? I see the modder discontinued the mod.
Someone's making a C# server?
Interesting, afaik we have like 4 people making rust servers, 1 in C, 1 in java and now 1 in C#
It slowed down mostly asset stuff is kinda complicated to get client load world
Asset stuff is a bummer indeed, it's just so much work to get the codecs done
Did you manage to get any assets to load?
Not really just asset its pain
ngl this doesnt tell me anything, these are all just hytale errors nothing to do with your plugin, probably caused by your plugin but we need more info
There's another person making a C# server too. Would you be able to share the rust and C server softwares?
I could try making some converter to always have fresh data but idk
You should open source the project, maybe some people can help
Oh, we have a small discord server for the few people implementing servers, I can dm if you want
Sure!
The projects are linked there for the most part
Does anyone know how to block a command for a player in code? (I mean, block it for X seconds at certain moments)
I've never had something like this happen yet but you do know where the bad chunk is the 22, -9
You probably have backups of your world in your server, could backup the server yourself make a copy
Then you could try to go into your universe -> worlds -> default -> chunks aaand try to figure out which ones could be that 22, -9 and then ...
I don't know. Since it would be a copy you backed up, you could try deleting?
Any servers available?
How do i call my .ui file correctly?
commandBuilder.append("ui/skytale_menu.ui");
I am currently building up a dedicated 24/7 server. you are welcome to tool around on it. It is not public yet
Alright
location of .ui file
\src\main\resources\assets\skytale\ui
You need to respect the asset hierarchy,
save it under
resources/Common/UI/Custom/Pages/MyPage.ui
than you can call it via
commandBuilder.append("Pages/MyPage.ui");
Oh okay, thanks!
the max in the C# server I did just mostly getting client to loading state of assets like hello server pls gimme xyz
I was mostly working after this to get some assets to load
also make sure you have
"IncludesAssetPack": true
in your manifest
Does anyone know how to get a more updated hytale.serverjar in my Intellij?
Thank!
You can use a symlink to the actual server jar, so with each update, your plugin depends on the newer jar
But it might lead to unexpected compilation failures if you updated the game
So make Intellij point directly to the real server ?
You might find the project no-longer compiling after an update
I'm currently only hosting the server through the app, what's the method to udpate the one in the project? Do i just open the folder and replace it with a newer version and refresh?
It would be safer to depend on the maven artifact, check if the latest version is being used and emit an error if there's a new release
if you are using gradle i'd make a libs folder, and put the newest server jar in there
or whichever version you need
Exactly. But, if you use a symlink, it'll always use the latest server that you've updated the game to
than you can just add something like
compileOnly(files("libs/HytaleServer.jar"))
@quartz plover can you send discord link o? for that server
You're not accepting friend requests and have dms closed. Technically speaking, I can't.
I think I opened dms now
Thanks all
Still nope
ree
Can anyone explain why this projectile wont't fly from each other oh cant upload files
You can still send codeblocks
```java
<your code here>
```
"TranslationProperties": {
"Name": "server.items.Weapon_Staff_Frost.name"
},
"Categories": [
"Items.Weapons"
],
"Quality": "Common",
"ItemLevel": 40,
"Model": "Items/Weapons/Staff/Frost.blockymodel",
"Texture": "Items/Weapons/Staff/Frost_Texture.png",
"PlayerAnimationsId": "Staff",
"Interactions": {
"Primary": "Staff_Primary",
"Secondary": "Staff_Primary"
},
"InteractionVars": {
"Staff_Cast_Summon_Charged": {
"Interactions": [
{
"Parent": "Staff_Cast_Summon_Charged",
"Costs": {
"Mana": 50
}
}
]
},
"Staff_Cast_Summon_Cost": {
"Interactions": [
{
"Parent": "Staff_Cast_Cost",
"StatModifiers": {
"Mana": -50
}
}
]
},
"Staff_Cast_Summon_Launch": {
"Interactions": [
{
"Type": "Parallel",
"Interactions": [
{
"Interactions": [
{
"Type": "LaunchProjectile",
"RunTime": 0.25,
"ProjectileId": "Ice_Ball",
"SpawnRotationOffset": {
"Yaw": -45
},
"Effects": {
"ItemAnimationId": "CastSummonCharged"
}
}
]
},
{
"Interactions": [
{
"Type": "LaunchProjectile",
"RunTime": 0.25,
"ProjectileId": "Ice_Ball",
"SpawnRotationOffset": {
"Yaw": 45
},
"Effects": {
"ItemAnimationId": "CastSummonCharged"
}
}
]
}
]
}
]
},
"Staff_Cast_Summon_Effect": "Staff_Cast_Effect",
"Staff_Cast_Summon_Fail": "Staff_Cast_Fail",
"Spear_Swing_Left_Damage": "Spear_Swing_Left_Damage",
"Spear_Swing_Right_Damage": "Spear_Swing_Right_Damage",
"Spear_Swing_Left_Effect": "Spear_Swing_Left_Effect",
"Spear_Swing_Right_Effect": "Spear_Swing_Right_Effect"
},
"IconProperties": {
"Scale": 0.27,
"Translation": [
-52,
-50
],
"Rotation": [
45,
90,
0
]
},
"Icon": "Icons/ItemsGenerated/Weapon_Staff_Frost.png",
"Particles": [
{
"TargetEntityPart": "PrimaryItem",
"TargetNodeName": "Crystal1",
"SystemId": "Weapon_Frost_Mist",
"PositionOffset": {
"Y": 0
},
"RotationOffset": {
"Pitch": 0,
"Yaw": 0,
"Roll": 90
},
"Scale": 1
},
{
"SystemId": "Weapon_Frost_Mist",
"TargetEntityPart": "PrimaryItem",
"TargetNodeName": "Crystal1",
"RotationOffset": {
"Roll": 90,
"Yaw": 90
},
"Scale": 1
}
],
"DroppedItemAnimation": "Items/Animations/Dropped/Dropped_Diagonal_Left.blockyanim",
"Tags": {
"Type": [
"Weapon"
],
"Family": [
"Staff"
]
},
"Weapon": {},
"Light": {
"Color": "#146",
"Radius": 1
},
"ItemSoundSetId": "ISS_Weapons_Wood"
}
"Parent": "Projectile_Config_Ice_Ball",
"SpawnRotationOffset": {
"Yaw": 45
},
"SpawnOffset": {
"X": 0
}
}```
anyone know why the projectials will not move from each other
{
"Parent": "Projectile_Config_Ice_Ball",
"SpawnRotationOffset": {
"Yaw": -45
},
"SpawnOffset": {
"X": 0
}
}
Been trying all day to see what can be done and this pos will not allow them to move from each other at all.
Holy json dump
Yeah.... But needed to actually get help on it
if i modify a component, does it automatically apply if i then do getComponent from somewhere else?
000zzzZx
Sorry one of my two children decided to faceroll my keyboard when I went to the bathroom.
It was the dumb one wasnt it?
thats a bit ruder than i wanted it to be my b
when I try this my store doesnt have a forEach method
Hello, I was wondering if I want to teleport a player when it connect to the server, can I do it from the PlayerConnectEvent, or should I use another one ?
If you want to change which world they get added to, PlayerConnectEvent sound correct to me. If you want to change which position they have within a world, do it in a RefSystem onEntityAdded
My goal is that the player "could" disconnect in a world that would be deleted when he log back to the server
So I can send it like to world "X" and when it's added to it, I move it using onEntityAdded ? Am I correct?
or in a refchangesystem when the transform component gets added
Is there any community recommended docs now?
hytalemodding . dev is what I mostly reference
yo, is there a way to test my mod locally which requires another player interaction? Like I can connect to my local but is there a way to spawn or something like that another account / entity etc that I can control to test interactions?
I'll take a look, thanks!
I dont have any plugin
Not without a second account.
Some how a chunk failed to load..
Everything else is async tasks
I don't actually know. It's a vanilla server. I just logged out from the server and didnt log straight for 3-4 days, the only thing that i did was keeping the server up
damn, seems annoying a bit right now
Hello, I made a server on my linux free tier vps from oracle, I want to know how to update it, I have the instaler and I've downloaded the zip with the latest version, how do I update it without losing my world?
Oh yeah there is some chunk instability, have you tried a restart?
When i logged back in the server told me no universe was available
when i restarted the server i got the corruption in the chunks
They have an auto update system built in, just backup your world prior.
Yeah, looks like a bug. Something with threading and timing? Maybe failed marshalling unsure.
Lol, but that looks nasty asf I've letting up the server straight for just 4 days
without logging in and i got that as result
i just got anxiety issues that my world can anytime corrupt and im doing like /backup every 15 minutes lmao
also because the argument in the java server that makes automatic backup didnt work at all I just got 3-4 backups
Yeah, early access. Im suprised this isnt happening more.
lol I laughed when I read it 😄 I do have 3 children just 2 in the vicinity... and I mean they are 1 and 5 years old so they aren't too brilliant yet.
my tried but true method is cross my fingers, then post it on curseforge, and then refresh until comments come in 😄
If you have a server that you want to share information with me, I can join and test whatever you'd like. Assuming we can reciprocate for my mods lol. Since I'm kind of in a similar boat.
testing out a new dedicated world if anyone wants to hop on saybrook.ggwp.cc:15575
any one just wanna play
Does anyone know how to programmatically retrieve the name of an NPC using their ID?
For example using entityID "Skeleton_Burnt_Gunner" to retrieve displayName "Burnt Skeleton Gunner"
Maybe com.hypixel.hytale.server.npc.role.Role and maybe like getNameTranslationKey?
If you stack two uis on top of each other does it break the second ui?
The second one just says loading forever when i click something on it
wait nvm it looks like i was accidently closing it as soon as i opened it trying to close the last one
yup was this
Anyone have success with /update command?
Got weird file structure I suppose but don't see any documentation how to correct it.. can use hytale-downloader, but figured this method is probably gonna be the "official" one
Cannot download update: folder layout not compatible with auto-update.
Hi guys! I just recently got Hytale pretty fun game! I had an issues about joining Into my friend’s server for some reason I got an error joining the same thing is happening to my last game is there an another way to connect with them? It work when they join mine but I can’t join theirs
Anyone able to tell me why this doesnt work?
It doesnt even cancel the UseBlockEvent and doesnt open the ui either
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.server.core.entity.entities.Player;
import com.hypixel.hytale.server.core.event.events.ecs.UseBlockEvent;
import com.hypixel.hytale.server.core.inventory.ItemStack;
import com.hypixel.hytale.server.core.universe.PlayerRef;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import javax.annotation.Nonnull;
public class MenuItemListener {
private static final String MENU_ITEM_TYPE = "Deco_Book_Pile_Small";
public static void onUseBlock(@Nonnull UseBlockEvent.Pre event) {
Ref<EntityStore> entityRef = event.getContext().getEntity();
Store<EntityStore> store = entityRef.getStore();
Player player = store.getComponent(entityRef, Player.getComponentType());
if (player == null) {
return;
}
ItemStack itemStack = event.getContext().getHeldItem();
if (itemStack == null || ItemStack.isEmpty(itemStack)) {
return;
}
String itemType = itemStack.getItemId();
if (MENU_ITEM_TYPE.equals(itemType)) {
event.setCancelled(true);
PlayerRef playerRef = store.getComponent(entityRef, PlayerRef.getComponentType());
if (playerRef != null) {
player.getPageManager().openCustomPage(entityRef, store, new MenuPage(playerRef));
}
}
}
}
register in my main plugin class
this.getEventRegistry().registerGlobal(com.hypixel.hytale.server.core.event.events.ecs.UseBlockEvent.Pre.class, MenuItemListener::onUseBlock);
Should i be doing this with the PlayerMouseButtonEvent?
PlayerMouseButtonEvent dont work either
package com.SkyTale.STWMS;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.server.core.entity.entities.Player;
import com.hypixel.hytale.server.core.event.events.player.PlayerMouseButtonEvent;
import com.hypixel.hytale.server.core.asset.type.item.config.Item;
import com.hypixel.hytale.server.core.universe.PlayerRef;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.protocol.MouseButtonEvent;
import javax.annotation.Nonnull;
public class MenuItemListener {
private static final String MENU_ITEM_TYPE = "Deco_Book_Pile_Small";
public static void onMouseButton(@Nonnull PlayerMouseButtonEvent event) {
// 1. Check for Right Click using the string name to avoid "Symbol not found"
// Most Hytale enums for buttons are "RIGHT" or "BUTTON_1"
String buttonName = String.valueOf(event.getMouseButton());
if (!buttonName.contains("RIGHT") && !buttonName.contains("BUTTON_1")) {
return;
}
// 2. Validate the item in hand
Item itemInHand = event.getItemInHand();
if (itemInHand == null || !MENU_ITEM_TYPE.equals(itemInHand.getId())) {
return;
}
// 3. Get the Player and PlayerRef directly from the event
Player player = event.getPlayer();
PlayerRef playerRef = event.getPlayerRefComponent();
// Use the Ref provided in the constructor (inherited from PlayerEvent)
Ref<EntityStore> entityRef = event.getPlayerRef();
if (player == null || playerRef == null || entityRef == null) {
return;
}
Store<EntityStore> store = entityRef.getStore();
// 4. Cancel and Open
event.setCancelled(true);
player.getPageManager().openCustomPage(entityRef, store, new MenuPage(playerRef));
}
}
this.getEventRegistry().registerGlobal(com.hypixel.hytale.server.core.event.events.player.PlayerMouseButtonEvent.class, MenuItemListener::onMouseButton);
Anyone got another idea or just happen to know why my method isnt working?
Did you both update game/server? there was 1 today
I don’t think we did we just very recently got it
That update dont matter, i never updated my server, then updated my game and i was still able to join my server
Still havent updated my server yet
How do I loop entities in a radius of another entity/player
We did the update and it still doesn’t work
I'm guessing mods are written in JS?
No, Java
and a lot can be done without any coding, via the Asset Editor
if someone wonders yes, client runs which is in C# runs java server when creating single-player worlds soo mods stay still as java
Cool beans guess I need to brush back up on my java
Does HT have documentation yet?
only community-made like hytalemodding,dev
Ok thanks for the help
tip: decompile and use an LLM to learn the patterns
Has anyone figured out how to setup a world border/limit to how far players can explore? I'm trying to limit my server to 250kx250k
@wary lion do you have a version of the server that compiles for the quantized thing you're working on?
there are world border mods
also, who tf is going 250k out???
Yknow what I was just thinking about
pie?
Using AI as an assistant helps to take away the stress of figuring out how to implement something, And instead makes the process more about the specific flow and concept of what needs to happen
You're living under a rock, my guy
What makes you say that
The fact that you just thought about using AI
Yeah, it also makes you stupid and reliant on ai if you use it too much
Ive been using ai for a while now in small increments
I still make it a point to understand what its asking me to implement
Also kinda hostile for no reason fam

Nobody has to use AI if they dont want to and they can use it to whatever extent they wish
No, I don't want anyone to use AI at all. I'm already not using it, I want you to not use it too.
Its been legitamitely helpful for letting me break into the Java space, Sorry to be the bearer of bad news
no way, is that the doom playpal in your profile background
Yea
That recognizable?
nice lol, I recognize it because I have implemented like, 2 wad parsers lol
Accurate, and also ai is getting so good that it can do almost as good of a job as someone that actually knows how to code. The crappy part is if you run into something it cant do you're probably screwed if you made your whole program with ai
and the playpal is one of the easiest lumps to extract
spare flats, but you have to parse the playpal to visualize them nicely
Based based
Luckily ive reviewed my own codebase back to front, And not just let the AI directly make changes willynilly
I'm not talking about you, just in general
Fair
🫂
If you can't figure it out without AI, you don't deserve to know how to do it
Ok bro
he may be trollin ya
Thats what we call gatekeeping now wether you hate ai or not
unrelated, but for certain things like program data, I like to implement a wad-style format lmao
mostly for the funnyness of it, particularly with small bits of program data
Fun fact, People also had similar reactions when photoshop first became a thing
But I dont support ai image generation for the record
I do
If a tool can assist me then thats good
I dont want a tool doing the entire job for me
ok to be fair, ai image generation and (major commercial)llms have basically the same moral pitfalls
I actually hate you for saying that. Why do you think someone wants to know something? To not ask or reach for help or, in this case, ask AI
Yo what does ts have to do wit server plugins
Its the future of the world wether we want it to be or not, it has to be able to know how to create art
Gang fell fo the bait itz ggs
Yo no hable inglés
I admit it was mean and I considered not saying it, but I do genuinely mean it
you don't need to as you said :D, just be mindful there will be people doing it though. I still __asm when I need but if I can prompt a python script that uses 10GB of RAM to process 100kb of data in a few seconds... 10GB of RAM it is
Ask a professional, like everyone before the machine did
Id be more okay with it if it werent just about churning out art that lacks any creativity what so ever
If it were more assistive instead like a coding llm can be
Rage baiting in 2026 🫠
What a joke 😭
Thats equivalent to saying sumshit like if you didnt go to college then you don't deserve to know calculus like what is we on about gang
Lacks creativity? Ai is a better artist than 80% of artists
This is one of those times where innovation is a negative and leans into the demonic (/srs)
oh come on, embrace moloch won't ya
Better doesnt mean good though, I can spot AI images from 10 miles away and it just personally turns me off
If yo statement is so fkn stupid it looks like bait jus stop talkin atp ykwim
eeeh, that bits dubious for now
Its capable of generating coherent imagery sure
But there will always be something about a piece youre making that you couldnt control with a 10gb prompt
Thats a god awful reasoning for it gang. What do we mean by creativity? Shi can be as creative as you want with a well designed prompt
whats the command for converting a world to world gen v2? i forgot it