#server-plugins-read-only
1 messages ยท Page 92 of 1
How to fix the RAM leak? I have a 12GB server and it hits max ram with only six people on
yeah i know i mentioned network logs lol, but joining a server with 100 mods means you're trusting a lot more people than just the server owner. It's not like there's much they will be able to do but the less people with my info the better
i wonder if anyone knows if its currently possible to mod in alternate combat, like would it be possible to mod in directional melee combat? I'd imagine it would need a server plugin, but i want combat where someone throws an attack from the left and the other player has to match the direction to block it
Microsoft already knows more than you know about yourself. I'd just give up ๐
servers arent sending anything to client, no exes or anything.. mods exist on the server only.. client just becomes aware of em
isnt that how it works already?
i'm on linux though
no? im talking mordhau esque
im pretty sure that if i block, and someone attacks me from behind or from the side, i will take damage
That's also a point, you only download JSON and Images, pretty much safe files.
Linus knows
yeah but thats the same in mordhau, im talking if i am infront of u and i swing at u from above, u have to block the above attack, not just rightclick and it blocks the entire attack without the direction mattering
actually i'm on linux-libre so if anyone its rms
blocking with rightclick only blocks attacks coming from infront already. idk what you mean
No, like, one player represents 1gb, one server need have 200 gb to have 200 players actively? This is insane
just google DMC or mordhau/chivalry/kingdom come combat, it will show u
im not the one with the problem so im not googling anything lol
There are currently leaks that haven't been solved by the Hytale Team, you can't do anything about it, just wait.
anyone working on a lootr like plugin? (unique per player lootable chests, mmorpg style)
you dont understand what dmc is
Yeah, thx, thats why i asked before
Searching still people who want join to make a network ๐
Does anyone know what's causing this error? The server was working before, but I created a new one and now I'm getting this error.
2026/01/21 06:24:14 FINE] [LoginTiming] Add To Universe took 47us 950ns
[2026/01/21 06:24:14 INFO] [WorldMapTracker] Started Generating Map!
[2026/01/21 06:24:14 WARN] [Entity] getPositionComponent called async [CONTEXT ratelimit_period="5 MINUTES" ]
java.lang.Throwable
at com.hypixel.hytale.server.core.entity.Entity.getTransformComponent(Entity.java:278)
at com.hypixel.hytale.server.core.universe.world.WorldMapTracker.tick(WorldMapTracker.java:151)
at com.hypixel.hytale.server.core.universe.world.worldmap.WorldMapManager.tick(WorldMapManager.java:149)
at com.hypixel.hytale.server.core.util.thread.TickingThread.run(TickingThread.java:89)
at java.base/java.lang.Thread.run(Thread.java:1474)
[2026/01/21 06:24:14 WARN] [Spawning|P] Marker 7ecc6154-ec7c-3b1d-8162-2a8291b66bd2 at Vector3d{x=121.57203674316406, y=32.0, z=194.89744186401367} removed due to repeated spawning fails of Skeleton_Incandescent_Fighter with reason: TOO_HIGH
and close the server :(
you came here asking for directional blocking. we already have directional blocking. if i block and look to the north, i can get attacked from south, east, west, bottom and top. idk what other directions you need
bro wants the 4th dimension
literally
like i said u dont understand directional melee combat
well apparently nobody here understands what you mean and since you are unwilling to explain, you cant expect help
time is the 4th dimension, blocking takes stamina, it's already 4 dimensional, we need 5th dimensional blocking
already explained ur just baiting lol
u couldnt help anyway, you havent even heard of DMC
maybe i could help if you would explain to me how the mechanic works. just cause i don't know every mechanic from every game out there doesnt mean i dont know how to implement it, once the functionality is explained to me
You're right, how could I have seen this most obvious blunder :.(
Now how long till we add tracer teleport back mechanic, to really spice up the pvp
Its like, if you are swinging from top to bottom you need to look up, from bottom to up need to defend looking down (not just player position relative to your direction)
women are scary, sorry
and since time and space are relative, we cant even be sure if you are ever blocking ๐ญ schroedingers combat system ๐
i see. thats not possible to implement tho
Yea dont think so too
okay unga bunga time 4 attack directions, up, down, left, right I throw an overhead attack, you must block up to block the overhead attack so move your mouse up slightly and right click to block the up direction, to throw an up attack you must move your mouse up slightly and left click, this can be done in any of the 4 directions. The player can feint an attack by pressing a hotkey where an attack animation will play and then stop. And to be more clear, the directional attack is the weapon will come from the up, down, left or right in the first or 3rd person view in which the player being attack to block it must match the direction with their own weapon but right click instead to play a directional block animation to then block the attack
im not even reading past the first line. unga bunga time for you. if you are so smart, you shouldnt need to ask for help in this channel :) not knowing how to code a mod makes you 10 times dumber than me not knowing the combat system of a game lol
ive already made a few mods, im asking if the complex nature of the mod im asking about is possible
well if you have even the most basic understanding how hytale and its API work, you would know that its not possible
Cool, thats what i was looking for o7
haha, someone proved u wrong already thanks for the fun

bro is having delusions
another discord im in, i asked and recieved helpful information
Hello (sorry if this is the wrong chanel), I was wondering something about the asset editor, is there a way to make an interaction bypass an interruption rule?
What info?
that the mod i was asking about in here, directional melee combat, is possible with the use of plugins
How?
they mentioned a mixin plugin makes it possible, ive just started making in hytale and have very little experience with coding so idk any details but ik what i want to make is difficult
Early load plugins? i know they CAN change some default server behavior but its gonna be very difficult :/
The reason I'm asking is because I'm just trying to make this LaunchProjectile interaction more consistent as blocking seems to sometimes stop the projectile from spawning if you do it too close to the start of the Primary. It can be solved by removing the rule but then it would be inconsistent with all other swords
Hello, how can I obtain the player's language? When I do player.getPlayerRef().getLanguage(), it tells me that playerRef is deprecated.
i am tying to use playerinteractevent, and nothing happens
Is anyone interested in helping me test my skywars plugin?
I would like to
The question is when? On weekend or today?
Anyone else?
[SERR] Reallocate: 131072 to 1179648
[HytaleGenerator] Duplicate export name for asset: Plains1-Gorges-BaseTerrain
[AssetStore|EntityEffect] Unused key(s) in 'Food_EffectCondition_Buff_Small' file /Server/Entity/Effects/Food/Buff/_Deprecated/Food_EffectCondition_Buff_Small.json: Type, EntityEffectIds, Match, Next, Failed
[BlockSetModule|P] Creating block sets: Failed to find hitbox name 'Fence_Corner_Thin'
Id: Tool_Hatchet_Crude
Path: /Server/Item/Items/Tool/Hatchet/Tool_Hatchet_Crude.json
Key: Recipe
Results:
WARNING: Bench Requirement in recipe for 'Fieldcraft' should not have a delay (TimeSeconds) set!
[2026/01/21 06:55:19 WARN] [AssetStore|Item] Failed to validate asset!
Id: Bench_Builders
Path: /Server/Item/Items/Bench/Bench_Builders.json
Key: Recipe
Results:
WARNING: Bench Requirement in recipe for 'Fieldcraft' should not have a delay (TimeSeconds) set!
[2026/01/21 06:55:19 WARN] [AssetStore|Item] Failed to validate asset!
[AssetStore|Interaction] Unused key(s) in '**Weapon_Staff_Thorium_InteractionVars_Staff_Cast_Summon_Charged_Interactions_0': Costs
What is with all these warnings when I boot up server? Is there a way to remove them?
Hi everyone kan enyone tell me what the unique idetifier is on a player that i can use. I saw that the player had a uuid but it was flagged as depricated.
how can i use the playerinteractevent, nothing happens when i try to use it
Lookign for this also.
I'm using component.setShowDeathMenu(false) in my OnDeathSystem but the respawn screen still shows. You mentioned I need to use getDependencies for system ordering, how do I make my system run BEFORE the built-in death screen system? What should getDependencies return?
finally finished my module system, modules are compiled jars that are loaded from the mod data folder
Does shutdown() run on player quitting the game or does it run when the server shuts down
or is there an event that's the quit equivalent of PlayerReadyEvent
You'd want to run last no?
One of the systems might be running after yours and turning the menu back to true
public Set<Dependency<EntityStore>> getDependencies() {
return Set.of(
new SystemDependency(Order.AFTER, DeathSystems.PlayerDropItemsConfig.class),
new SystemDependency(Order.BEFORE, DeathSystems.DropPlayerDeathItems.class)
);
}
Heres an example
You can stack as many of these as you want theres just two here in this example
the player still has an uuid, just the player(get.uuid) or whatever it was called is deprecated.
you can get the player aswell as the uuidcomponent via the entity store from chunk as example
dude your putting in the most work out of ANYONE ive seen in this discord ngl
Theres setDisplayDataOnDeathScreen which should probably also be set to false (It is set to true in the DropPlayerDeathItems system)
anyone know how to make floating text?
Ah I found out how and I feel a bit dumb, I'll put it here for people searching just in case. For context I'm modifying a sword in the asset editor to launch a projectile when you swing the weapon but came across a bug where blocking to early would occasionally stop the projectile from spawning.
This is because there is a Rule set on the Secondary Interaction in Root_Weapon_Secondary_Guard to interupt the Primary interaction. To make it not occasionally stop the projectile from spawning you need to remove the interruption rule on the Secondary and set an Interrupted By rule on the sword swing selector interaction, in the case of the item Template_Weapon_Sword it would be the Weapon_Sword_Primary_Swing_*_Selector.
you've been so incredibly helpful one of the staff here should give you a special role
Not sure if anyone replied to you. In the graddle.properties was use_insecure_auth=true i changed it to use_insecure_auth=false. Then when you start the server you need to do /auth login and login through browser. Gradle was by default running and not allowing me to type commands so i had to get copilot to make it change the gradle task to instead spawn a cmd window with the server so i could enter commands.
let me guess, you hooked into the eventbus and are listening on this event?
Thats how minecraft would have worked, but since we have an ECS system in place here you need to write your own systems to get the information you need
Nah @civic zephyr is def hella smart, I am using this man as my personal AI atp ๐
I'm looking for someone to help me out with a plugin. I am wanting to try to use the one of the gateways or teleporters to connect to an external server. I know there is the [SYXS] Multi-Server Warp plugin but I dont think it does that
I'll see what I can do
like its insane
People make holograms with the Nametag component I believe is what it is
hes grinding rn
You have to make a dummy entity
With the NPC system you told me about or just adding an entity?
Is it possible, or has someone: created a mod that makes it so barriers dont cast shadows?
I mean I am a beginner, im bruteforcing 90% of my stuff ๐ But this discord chat has saved my ass a bit
For a dummy entity (For just the nametag) it would be better to just make it from scratch, I don't think you'd need that many components for it
i'm working on simplifying the event system with a friend because the hell i went thru just to do a block place and break message imma publicly release it
Or you could save yourself the trouble and just make a new entity role that does nothing, has no model, and then you give it a Nametag
oh hellllll yeah
Im noticing hytale has built in persistent data for players... Is there any reason to use this instead of a database?
same he helped me with figuring out how to get player uuids instantly
Its just easier to use, not sure how scalable it is
Is anyone interested in helping me test my skywars plugin?
Is it tho we gotta make custom compenents for each variable...
Or how efficient the datastore is, but literally everything is saved via persisted components on entities right now
No haha you do not have to do that
One component can have as many variables as you want as long as your codec supports every variable
Oh gotcha!
@civic zephyr Do you know if Hytale disabled merchants with the recent update? I cannot test properly when I cannot even open the default merchants for troubleshooting ๐ข
I guess we just keep appending values then in the builder
i dont understand why is playerinteractevent there, i just wanna use that event it has the actionType() but nothing happens when i use it
Are you in creative
god i hope not
What are the imports for SystemDependency, Dependency, and Order in that example? I'm getting 'Cannot resolve symbol' errors.
well
Theres a bug with NPC interactions where they don't work in creative
Is there anything wrong with just having my own custom player data wrapper and populating it from a database on join?
oh that
Nothings wrong with that, you can do whatever you feel is best
Thx for this info I wasted 3 hours ๐
aaaa
Are there any advantages to having it saved in the component system that i should know abt?>
what am i saying thats being flagged as advertising i'm so confused
i can't tell for sure why it is there, but i guess its some old code. Maybe go to youtube and search for "troubleDEV", he made a somewhat good video how the ecs system works in hytale
the mods here think they are god
DOES ANYONE KNOW HOW TO MAKE PLAYERS JOIN AT WORLD SPAWN EVERYTIME?
com.hypixel.hytale.component.dependency
For all of them
Add a teleport component to the world spawn on join?
Send it over in dms, I can try to guess ๐
how do i do that please?
It just gets saved to the entity automatically, you don't need to reassociate, usually much more convenient
how to apply damage to other player?
wish that old code still existed, this is just annoying lol
They're just an alternative if you don't want to store a config or a textfile or keep everything in a database
I see it can also tranfer between servers... but only a max of 4MB of data. Maybe a database is the way to go, although i cant imagine have 4MB of data on a player
its a different system then minecraft, but tbh if you get used to it, its pretty good (:
Between servers? Where are you reading that?
Do you mean the refer to another server's additional data can have a max of 4MB?
Yeah
@civic zephyr how much you charging for java/hytale modding lessons? ๐
is it possible to create an custom npc to do a command instead of this player interact event?
Knowledge is free!!!!
Id deadass pay you to get me up to a good level since I am a beginner hahah
I think thats exclusively for custom data, but I suppose you can serialize components in there too
not sure if this is the right chat for this question but im after a hosting website, to start a hytale server. any aussgestions
i don't know what you try to achieve there.
you can have results of player interactions, just not with this interactevent you try to use, you need to go the "ecs"-way instead
You're supposed to just ship whatever information you want to the other server for them to handle on connect
What is custom data in this scenario if not a component?
en el de mi perfil hay de latinoamerica principalmente y tenemos vc en ds para socializar xd
anyone know why a mod will work but not be under the mod list?
If I referred you to one of my minigame servers I could send over your party key from the main server or whatever
Gotcha, that makes sense
Could be any byte array
so i cannot make a custom npc with command interaction?
i just want to be able to use /deposit for a npc, but how to detect that interaction event
i don't know what your deposit command does, but if you wanna have / react to an interaction you need to code the "ECS"-Way of getting said information. Ofcourse you can still get any interactions in the game with the ecs system
I am wanting to make a plugin for a server where u have a lobby and a teleporter warps you to another server. PM me if you can help
Last question @civic zephyr
I'm setting component.setShowDeathMenu(false) and component.setDisplayDataOnDeathScreen(false) in my OnDeathSystem with Order.BEFORE PlayerDeathScreen, but the respawn screen still shows. Is there a way to completely prevent the death screen from appearing, or do I need to manually close the RespawnPage after it opens? I want to instantly teleport the player to another world on death without showing any death UI.
its deposit players coins which they have in there inventory
Do after
After everything you can
im literally just trying to reply to @dusky sable saying we could help each other because im working on a game lifecycle management system for minigames/generic modes like skywars
not sure why it matters to you what it does, i just want to know where hypixel do the interaction events they removed playerinteractevent
I got instant respawn working fine without any respawn screen by just turning the deathmenu off (And then removing the DeathComponent), but I put like every deathsystem I could in Order.AFTER
Guys, can i add an extra place after the backpack tab in the inventory? for an skill tree tab for example
i lowkey hope a fork of the hytale server is released with a simplified api that'd be amazing for modders
or at least javadocs
it had target block and entity but its gone i guess?
see ive used ECS for a while but i only used it for player profiles and bro this is just a lot ๐
Yup, that did it. Cheers โค๏ธ
You should just make a new EntityRole with your interactions in
Have you got that and are just wondering if theres an interaction to execute a command? Because I don't think there is, but I can check
was asking other dude about that, is it possible to make npc execute a command for the player in that?
You can register your own npc interactions easy
I have not yet tried making plugins for hytale, but is it possible to change core/private methods of the server ? I'm thinking of not rendering certain entities to some players
Only if theres already an NPC interaction that runs a command
I managed to create an invincibility bug now though LMAO, if I die in my 2nd world, get brought back to my 1st world, go back to the 2nd one and try to die again I am just invincible
ty i will look into that ๐ฅฐ
You might be sending the player a little too quickly when they die and they never actually come back to life in the world they died in, they just get sent to the other world while being recreated there
Are you removing the DeathComponent when you TP them or are you just TPing them
You can also just make your own interactions
You can look at NpcPlugin.class for all the interactions they have (There are a few more elsewhere but those are for shops)
ngl im gonna make a chat color mod/lib that simplifies chat colors to just like mc ngl & and ยง with gradients, formatting, links and nesting
And it shows you how to register them
i just tried the test pet, it looks complicated
its so annoying to use the default color system tbh
@civic zephyr there is no official documentation, but the classes are not obfuscated ? I'm trying to understand how to start modding ngl
Nope they didn't obfuscate the server
They're basically expecting you to decomp and poke around it as of right now
Ok nice
2,959 classes across 664 packages tho
Gonna take a look at it and watch some ressources
Lots of those are junk util libraries
that is true
not all junk
There is packages to help understand what's useful
we're talking about the junk
At least I hope it helps navigate lol
there is definitely some junk utils in there
The important stuff for plugin development is in com.hypixel
Ive removed everything else practically (Just com.* is what I look at/index)
@fleet plover THIS
Ty
i misunderstood what you meant by util, i was thinking classes, not libraries
Yeah I meant libraries
my b. lol
If I want to make the server not render certain entities to specific players, how could I do it ? (I don't mean the algorithm or anything, I just saw that there is packets package with entity updates methods, but not public if I understood it)
There are things called PacketWatchers which you can make an implement for and register them
Oh
In your case you would want to register an outbound listener like:
PacketAdapters.registerOutbound(new YourPacketWatcher());
So you can listen to specific packets and modify/drop them without changing the class itself?
Thanks mate
Im not sure if you can just drop them but you can definitely zero out the data
Gonna try it tonight ๐
Anyone know the non deprecated way to spawn an entity.
NpcPlugin.get().spawnEntity
Any way to auto populate the components, say i wanted to spawna grizzly brear just default?
There are parameters for the role (behavior) and model (Visual) in that method
And is the Store<EntityStore> parameter the world's entity store i want to add it to i assume?
Yeah
Sweet ill try it out
Do you recommend any resource to start modding hytale @civic zephyr ?
Not really
But im sure there are perfectly fine community docs out there
๐
@civic zephyr I got as far as to make my custom entity to open the barter trading ui,.I already got my ui I want to open instead. But I just cannot seem to figure out on how to open a UI that is not the barter UI. It seems like there is a OpenCustomUI action but this only works for blocks apparently and not for NPC roles. Do you maybe know where my gap is? ๐
Just make a new action
Have you made one already?
Any way to access the main class without passing it through constructor every time i need it?
Main class of what?
My plugin
Oh just make a static instance field
Hmmm i tried it and it didnt like it
What didn't like it?
Thats what all the built-in plugins do
They just have a .get method for the static instance
Oh gotcha its already in the JAvaPlugin object
I was trying to make my own
nope, I guess this is my issue? ๐
I don't think there are any built-in NPC interactions that allow you to provide any UI as a parameter for it to open
So I need to register a new action in the plugin, I see
Its easy to make a new action, you can look at the barter action (OpenShop) in NPCShopPlugin
Thats how they register it, you have to make a builder, but those are easy to make, they don't need to be complicated
You are an angel
Thank you yet again, learning more step by step
Coming from a SAP framework JS background, Java is beating my bum a lil bit but it gets better ๐
Is anyone available to help me test my skywars plugin?
The most direct way to the brain is to beat your head against the problem till your skull cracks open
Hi! Where I can download servr files?
real
Yo, hablame al MD
How to get the model id of a model, i tried hytale:grizzly_bear but it didnt like that
You're getting the ModelAsset ?
Yes
Hey @civic zephyr. By any chance do you have 5 minutes to help me test my plugin?
The bear model name is called
Bear_Grizzly
Just check the models menu ingame
Yeah i found it thanks, and the namespace is correct with hytale: ??
No
No namespace, just Bear_Grizzly
Gotcha
hi. does anyone know how to create a new world instance in code with a specific WorldStructure which was defined in json?
Hi everyone, can anyone tell me how to get the uuid componet of a player out of the PlayerReadyEvent?
does anyone have a dedicated server? have you guys ran into issues where there are mobs that cant spawn versus a normal singleplayer world? ex: [2026/01/21 08:09:45 SEVERE] [NPC|P] Builder 'Rex_Cave' validation failed: java.lang.IllegalStateException: Reference to unknown builder: Template_Predator
So you played whit the Asset.zip? do you know if we can edit directly for new types i saw in the decompiled server.jar some "examples" for creating new Mobs and there behaviour.
Just make a new EntityRole
UUIDComponent uuidcomp = event.getPlayerRef().getStore().getComponent(event.getPlayerRef(), UUIDComponent.getComponentType());
where event equals the playerreadyevent
Hey, running a moderate populate server ( 50+) i have some issue with mob spawning when player reach a cap, there is like no mob spawning, anyone know a fix or a workarround ?
no workaround i think, issue is that the servers have something called entity overload which causes it. you might be able to change the code around to not have it do that but idk
Hello, is there a way to manipulate the cobblestone generator?
thanks
i've been having an issue with the mobs just not spawning at all. they just dont exist in the world haha. the logs say that the json wont load them due to an error
i wanted yetis and dinosaurs, my server doesnt have them
yeah i did some log about spawning,
[2026/01/20 17:25:26 INFO] [AestheriaLogSpawnPlugin] - Env: Env_Zone1_Plains, NPCs: 34/752.9, Segments: 1541902, Unspawnable: false
[2026/01/20 17:25:26 INFO] [AestheriaLogSpawnPlugin] [Env Details] Fully Populated: false (Chunks: 819/1783), Weight: 718.88
[2026/01/20 17:25:26 INFO] [AestheriaLogSpawnPlugin] * NPC: Cow, Count: 0/43.9, Tried: 10, Success: 3, Failed: 0```
how to render chunk world map at specific location or have to re-render a whole chunk?
nothing explain why mobs don t spawn
its just mob overload, its weird but its there. i see that in my logs with just me and my other friend
You mean too much mobs already spawned ?
yea
It says multiplayer is unavailable. Any solutions? I can't access my server.
not the issue, already tried to clean every mobs every 5 min, no more spawning
ive also had this error
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/_Core/Templates/Template_Predator.json: Parameter "KnockbackScale" of Role Abstract is not computable (yet) in context Role|Abstract
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/_Core/Templates/Template_Predator.json: Parameter "AscentAnimationType" of MotionController Walk is not computable (yet) in context Role|Abstract|MotionControllerList|-|Walk
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/_Core/Templates/Template_Predator.json: Parameter "ClimbSpeedMult" of MotionController Walk is not computable (yet) in context Role|Abstract|MotionControllerList|-|Walk
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/_Core/Templates/Template_Predator.json: Parameter "ClimbSpeedPow" of MotionController Walk is not computable (yet) in context Role|Abstract|MotionControllerList|-|Walk
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/_Core/Templates/Template_Predator.json: Parameter "ClimbSpeedConst" of MotionController Walk is not computable (yet) in context Role|Abstract|MotionControllerList|-|Walk
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Incandescent/Skeleton_Incandescent_Mage.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Incandescent/Skeleton_Incandescent_Head.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Incandescent/Skeleton_Incandescent_Footman.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Incandescent/Skeleton_Incandescent_Fighter.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Burnt/Skeleton_Burnt_Wizard.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Burnt/Skeleton_Burnt_Soldier.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Burnt/Skeleton_Burnt_Lancer.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Burnt/Skeleton_Burnt_Knight.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Burnt/Skeleton_Burnt_Gunner.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Burnt/Skeleton_Burnt_Archer.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Undead/Skeleton/Skeleton_Burnt/Skeleton_Burnt_Alchemist.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Elemental/Spirit/Spirit_Ember.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Elemental/Golem/Golem_Firesteel.json: Failed to load NPC: JsonObject
[2026/01/21 08:35:32 SEVERE] [NPC|P] FAIL: /Server/NPC/Roles/Creature/Vermin/Slug_Magma.json: Failed to load NPC: JsonObject
discord wont let me send more
theres a ton of this error
It says multiplayer is unavailable. Any solutions?
check firewall?
Does anyone know how I can find a survival server 2 join?
Need like 3 testers for my factions mod if interested, factions mod
It stopped working after the launcher was updated yesterday and today
Wtf is the health component called for giving entities health... HealthComponent doesnt exist
Health etc are stored in the EntityStatMap
anyone use metallurgy mod?
Is that a component? how do i add it to an entity ive spawned it
Hello, one question does anybody know how to add translations for my translation keys in my mod? ๐
what can i do if i can't fully decompile the server jar, because several classes are causing intellij to run out of memory? i've changed the max heap size to 8gb and still same thing
I added a language_EN.json file but it does not work
does anyone know if the server jar will be documented? or will there maybe be a library?
Languages are supposed to be .lang, not .json
Your file should be resources/Server/Languages/en-US/server.lang
Hello, someone managed to change the camera angle of a player ?
I assume eventually there will be official docs, it would be weird if it wasnt. but for now you can decompile the unobsfucated jar and see how things work by reading it
Theres a default command to change it to topdown or side view im pretty sure its /player camera you could maybe decompile the server and check bow it works
Uhhh nice i looked inside other mods they used .json :). I will try it after my Work.
I see, ill try to do that, thank you so much !
Sorry to ask. I dont know if I need to put it here but. does anyone else running the Bread oven having issues upgrading it?
alrr gonna be a lot of reading but ill try that
You might be running out of total system memory -- make sure you have page file (on Windows) or Swap (on Linux) enabled
decompile it and then use AI to ask it questions about how things work, that is what I am doing
its almost as good as official docs
I have to warn you though, there is a lot of Java jargon in use
did you use github com/HytaleModding/patcher
no, i didn't know that exists
it's already enabled
it worked for me, it may help you because it doesnt decompile every single thing only core stuff I believe
ah
CurseForge just approved the first release of Lootr for Hytale!
loot4everyone on curseforge, u can try it.
HyScript
-# Powerful JavaScript/TypeScript scripting engine for Hytale servers
HyScript is a dedicated scripting solution for Hytale, designed to make server-side development fast and accessible. It allows server owners and developers to create complex gameplay logic, custom mini-games, and automation tools using JavaScript or TypeScript, eliminating the need for complex modding setups and long compilation times.
๐ Key Features
- Hot Reloading: Scripts update instantly upon saving. No server restarts required - apply changes to your world in real-time.
- Full Module Support: Native ESM support. Use import and export to organize your scripts into clean, reusable modules.
- TypeScript Native: Write robust code with full type safety. Powered by Bun/esbuild for lightning-fast execution and near-instant script loading.
- Fluent Event API: An intuitive, chainable API designed specifically for handling Hytale game events with ease.
This plugin is available on CurseForge
Looks really promising ๐ Hot reloading + native TypeScript is a huge win for rapid iteration, and the fluent event API sounds perfect for gameplay logic. Definitely a strong alternative to traditional modding setups.
Sure ๐
Stubled upon this package on my research. Myght it help you!
com.hypixel.hytale.server.core.entity.entities.player; Cameramanager.java;
if its still a thing to you.
How do I disable a players ability to sprint? I want to prevent sprinting in a specific world. Is there a SprintComponent or a method on Player/MovementStatesComponent?
.
๐ฅบ
the goat, I really appreciate it
Hey guys, I'm using the glider mod which uses stamina to fly. Does anyone know how to remove the stamina?
Oh, it's time to make JS framework for hytale!
And another one. And another one. And another one...
Still figuring out how to register a Entity though haha
EXACTLY what i needed, lord i searched around for so long and couldnt find it ๐คฆ
Hello, since you've sent this message I've looked into how this could be done, I've got it working, but its surprisingly not user-friendly to do, nor is it all that simple
@civic zephyrGPT any intel?
The MovementManagerComponent but even if you make a config with 0.9 sprint speed modifier the camera will still increase its fov as if it were running
no way. thank you so much. the only way that i can think of to do this would be just brute force modifying the config.json. how did you get it working?
I'll consolidate my finds:
First, you need to store the HytaleGenerator plugin as it doesn't seem like it has any methods outside of it to get its instance, you can store it in a static field like:
hytaleGenerator = (HytaleGenerator) PluginManager.get().getPlugin(new PluginIdentifier("Hytale", "HytaleGenerator"));
You then have to make a class that implements
implements IWorldGenProvider
This will ask you to implement a getGenerator() method, in here, you have to return:
// Get the hytalegenerator you stored. The second param is the generator profile which contains the WorldStructure's asset name and the world spawn location. The very last number is the seed, which I've set to 0
return new Handle(MainClass.hytaleGenerator , new ChunkRequest.GeneratorProfile("NameOfWorldStructureAsset", new Transform(0, 0, 0), 0));
i saw some World gen already on Curseforge maybe you can decopile them to to have an example?
Ive already figured out how to do it
You need to make a CODEC for the registry later, since this doesn't need to store any data, you can make the codec in this class like:
public static final BuilderCodec<CustomWorldGenProvider> CODEC = BuilderCodec.builder(CustomWorldGenProvider.class, CustomWorldGenProvider::new)
.build();
You then register it in your setup method in your plugin like:
IWorldGenProvider.CODEC.register("CustomWorldGen", CustomWorldGenProvider.class, CustomWorldGenProvider.CODEC);
And you can get the Universe to generate the world like:
Universe.get().addWorld("TESTWORLD", "CustomWorldGen", null);
Then you're done
@civic zephyr is on the grindset xD respect
The code runs and MovementSettings.forwardSprintSpeedMultiplier = 0.0f is being set (I see the logs), but the player can still sprint with full speed boost. Are there other fields I need to set? Or is there a different way to completely disable sprint?
You need to set a MovementConfig, however you're setting it probably doesn't do that
Hey guys, is there a way to use Hytale's OAuth system as means to log into my own webpage?
How do I set a MovementConfig on a player? Is it a component I add/replace, or is there a method on Player/MovementManager to set it? And does MovementConfig have a field to disable sprint?
PhysicsValues playerPhysicsValues = store.getComponent(playersRef, PhysicsValues.getComponentType());
MovementConfig movementConfig = MovementConfig.getAssetMap().getAsset("YourMovementConfig");
MovementManager movementManagerComponent = store.getComponent(playerReference, MovementManager.getComponentType());
movementManagerComponent.setDefaultSettings(movementConfig.toPacket(), playerPhysicsValues, playerComponent.getGameMode());
movementManagerComponent.applyDefaultSettings();
movementManagerComponent.update(playerRefComponent.getPacketHandler());
You have to make a new MovementConfig asset in the asseteditor as theres no easy way to just make one through code for some reason
Where is it stored even? ๐ I havent messed around with assets yet
The configs already in the game are "Default" (Regular movement) and one other one that I forgot the name of for mounts
Just uploaded my animal taming mod to curseforge ๐
Where is what stored
first ever mod, but pretty chuffed with it
Congratulations
MovementConfig, I assume there is one already premade?
Yes but you can't really edit its values unless you use reflection on the config which will definitely permanently alter the Default movement
Just make a new MovementConfig in the AssetEditor, you can copy the one ingame and call it something else
F me im gonna have to learn how to get into the asset editor then D:
Its easy
Ah I have to go create a creative world and do it from there, I've been handling everything through a local serve
Just go in creative in the local server it works fine
Nah, I cant access creative tools that way
Are you in creative
notnotnotswipez is our god ๐ซถ
Nvm I can, I rejoined the server just to make sure I was in creative and now I can do it for some reason LMAO
Glaaaze
What am I even looking for in the asset editor? I still dont even know where the existing movementconfig is stored
The movementconfig folder
im glazing you like a donut.
just release your own doc. you know everything anyways
I am either hella blind or hella dumb
One second, its probably not in the root folder
Only things I see that even have "movement" name in them is SFX_Eye_Void_Fly_movement, NPC Balance assets and Test_Movement_State or Test_Combat_State
Entiy > MovementConfig > Default?
Yes
Make a new pack and make a copy of the Default asset (Do not call it default in your new pack)
Its the "Override Asset" button but change the Unique Asset ID when you copy it to not be Default and don't change anything else (Set the Asset Pack at the top to be the one you just made)
Hi do you guys know how to create a predefined path and assign it to an NPC spawned with the /npc command? Or by plugin too
Nah i dont use AI
Alrr
My brain will explode, ill update you with my findings in like 5mins ๐
omg ur awesome. ill try this this evening :)
Okay so I can't tell you to message me I suppose
If you have any problems please use your internet capabilities to send me some text
Either ping me here or use my personal inbox
Having the opposite issue, tryna get floating liquids lol
I'll be asleep by then, off for the day
Have a good night swipezGPT
Anyone worked out mob spawners yet like factions
Is there a way to create "scoreboards" without using .ui files
? Or HUD in general?
Else, can we know from the plugin (java side) the absolute path of assets path (for the server)?
Hey guys, is there a linter for Hytale .ui files?
I found a plugin for IntelliJ that highlights UI components, but I havenโt found anything that actually shows syntax errors or provides real linting/autocomplete.
hey @civic zephyr you most likely know this how do i intercept and change chat messages i've already basically created my color library for easy color messages but for the mod/plugin part i want to parse color codes in chat with permissions
PlayerChatEvent
i know that but i'm having issues on using it
hello i know there is not much docummentation, but has someone found anything about the menus ? like open a menu, detect click buttons, add text ect .. ?
Then u should probs describe the issue and provide code ;p
the event for block placement/destruction is totally different i did it like that and it didnt work now im using event registry
Im pretty sure u need systems for those,
Still doesnt describe the issue ur having tho.
If u want us to help we need
- description of ur issue, errors, etc
- the relevant code
Event registry only works for events that are IEvents
BlockPlace/Break are Ecs events
yeah PlayerChatEvent is one of those
i already did block placement/destruction im just trying to figure out chat event
Hello,
I created a small free tool called "Hytale Server Monitoring" for those who have installed a Hytale server on their Linux PC (to avoid having to rent a VPS).
The tool allows you to monitor your server in real time through a mini graphical interface in the taskbar. It also lets you see the list of connected players, resource usage, and start/stop the server.
It's of course free and open-source, and you can find it on github : PublikoFR/hytale-monitoring-gnome
Cheers!
Please @wary lion
Ur just saying u have an,issue we cant help with that info
How do you create a marker on the server for a client?
I have this here
MapMarker m = new MapMarker(
target.getUuid().toString(),
target.getDisplayName(),
icon,
transform,
null
);
but what is icon supposed to be?
public class ChatListener {
private final EventRegistry eventRegistry;
private final Logger logger;
public ChatListener(@Nonnull EventRegistry eventRegistry, @Nonnull Logger logger) {
this.eventRegistry = eventRegistry;
this.logger = logger;
}
public void register() {
eventRegistry.registerAsync(
PlayerChatEvent.class,
future -> future.thenApply(event -> {
if (event.isCancelled()) return event;
String content = event.getContent();
Message parsed = ColorParser.parse(content, event.getSender());
event.setFormatted((playerRef, message) -> parsed);
return event;
})
);
}
}
NotificationSystem HQ
public static void onPlayerReady(PlayerReadyEvent event) {
var player = event.getPlayer();
var playerRef = Universe.get().getPlayer(player.getUuid());
var packetHandler = playerRef.getPacketHandler();
var primaryMessage = Message.raw("THIS WORKS!!!").color("#00FF00");
var secondaryMessage = Message.raw("This is the secondary message").color("#228B22");
var icon = new ItemStack("Weapon_Sword_Mithril", 1).toPacket();
NotificationUtil.sendNotification(
packetHandler,
primaryMessage,
secondaryMessage,
(ItemWithAllMetadata) icon);
}```
And now the issue? Is the event not firing when u chat, have u added debug, etc.
Wjat exactly isnt working ^^
W
Legend!
2 questions coming to mind
- is register ever called?
- have u tried with registerGlobal? I use that for all my events and dont have issues.
Is there a registerAsyncGlobal of some sort? Might be worth to check that
no i just realized i screwed up the entire usage
do we know about floating point error around 50k away from 0, 0? its any fix or not
I followed the hytale modding item interaction guide and when i try to equip item, the asset editor says Unknown Item "my_new_item"
any ideas?
what is the role of World chunk, entity chunk, block chunk and block component chunk, what is the role of each one of them?
What does this error mean?
com.hypixel.hytale.codec.exception.CodecValidationException: Failed to validate asset!
ExtraInfo
Key: Name
Results:
FAIL: Can't be null!
The component that is at fault is just this:
public class FunnelBlock implements Component<ChunkStore> {
public static final BuilderCodec<FunnelBlock> CODEC;
static {
CODEC = BuilderCodec.builder(FunnelBlock.class, FunnelBlock::new).build();
}
@Override
public @Nullable Component<ChunkStore> clone() {
return new FunnelBlock();
}
}
do anyone can write a plugin which checks that all assets are loaded and overrided correctly?
Rn i have a bug where the assets are not fully loaded, curious about it is, if i click them one time in the asset editor they reappear. this is kinda crazy behavior
anyone know why this crashes my game when i hit the mob. i think i have to populate the statMap but i cant figure out how ```Java
public void spawnMonster(World world, String modelID, Vector3d location, Vector3f rotation){
world.execute(() -> {
Holder<EntityStore> holder= EntityStore.REGISTRY.newHolder();
ModelAsset modelAsset = ModelAsset.getAssetMap().getAsset(modelID);
Model model = Model.createScaledModel(modelAsset, 1F);
TransformComponent transform = new TransformComponent(location, rotation);
holder.addComponent(TransformComponent.getComponentType(), transform);
holder.addComponent(PersistentModel.getComponentType(), new PersistentModel(model.toReference()));
holder.addComponent(ModelComponent.getComponentType(), new ModelComponent(model));
holder.addComponent(BoundingBox.getComponentType(), new BoundingBox(model.getBoundingBox()));
// Inside your world.execute block...
EntityStatMap stats = new EntityStatMap();
holder.addComponent(EntityStatMap.getComponentType(), stats);
holder.addComponent(NetworkId.getComponentType(), new NetworkId(world.getEntityStore().getStore().getExternalData().takeNextNetworkId()));
holder.addComponent(Interactions.getComponentType(), new Interactions());
holder.ensureComponent(UUIDComponent.getComponentType());
holder.ensureComponent(Interactable.getComponentType());
world.getEntityStore().getStore().addEntity(holder, AddReason.SPAWN);
});
}
missing health component ? or im jsut blind
HealthComponent isnt a thing... there is a statscomponent which i have added
Any errors in console?
Is someone have figured out how /plugin load , /plugin unload works when the jvm is locking the file ? i've try to unload before load to free it but it's not working
Getting a null pointer for Exception while ticking entity interactions
Does it point to something in particular?
For example as u mentioned, tje stats (health)
Not in my code, points to a bunch of places in the Hytale api tho
Ah
Can someone share a method which I should follow when loading UI's at the start of the game together with the GUI? I seem to constantly be loading UI's way earlier than I should.
Player ready event?
Well, the statmap has some easy getter/setters.
Ive done it myself, i cant share code as im,not on pc
it has a .get() function that requires an integer?? but i dont know what integer to use to access the given stat
Ah yea the index. Theres a class which has those values so
SomeClass.health iirc.
Try EntityStatTypes, or similar
Gotcha ill try it
If u cant figure out, ping me in a few hours ^^
Godsend its DefaultEntityStatType
:)
Okay its not crashing anymore, is there a component i need so its capable of combat? It doesnt crash but it doesnt take damage either
Uhhh, that I don't know. Maybe a Damagable or something, jusr guessing by name
Or Combat or smtn similar, id search for these keywords
Did that... nothing
thats alr thanks tho
If u do figure it out, lmk
KK
MapMarker ghost = new MapMarker(
"ghost_uuid",
"Ghost Member",
"Common/UI/WorldMap/MapMarkers/Portal.png",
ghostTransform,
null
);
``` Since theres no docs yet, whats supposed to go into the image param here? Paths dont seem to work and all the assets are client side
Ima decompile some other ppls plugins and see what i can do
some assets are not gonna override since last update
I'm trying to capture the stamina value, but something is wrong with this line
if ((stats != null) && stats.getSelfStatValues(getStamina()).get() >= CUSTO_STAMINA) {```
broski your caps lock is on
Just check curseforge lol
Is there an equivalent to Spigot's HoverComponent, or would I have to write my own chat widget to implement something like that?
is there any way to get nameplates to show up for yourself? i want to test some custom stuff with it
Time to make HyUI on builtbybit lool
oh hey, while you're here, do you have any plans for your UI designer site to handle image uploads?
I'd like to make it more local for that, uploads to web browser might be possible without server and if it is I'll do it haha
great, thanks! it's already helpful for layouts even without that so I appreciate the site either way lmao
Yee thanks for the feedback
Did they sey when they are releasing official documentation?
haven't seen anything other than Soonโข
Is there a way to reload plugins without having to restart a server?
Im' looking also for that , jvm block the file and i'm looking for a sollution
im so stumped how do i create a listener for chat event i'm stuck on this
PlayerchatEvent ?
jvm doesn't block the file. winddos does.
no such issue on penguin-branded OS โบ๏ธ
Hey, someone knows how do I make a custom interaction with an NPC? Like pressing F to trade but with a custom behavior (like opening a custom UI)
you register the interaction in your mod, add it in the asset pack and assign it in your npc's asset
Damn it you have right ! MB on that and F*** windows i'm gonna go mod on my mac ^^
oh damn, thanks ๐
Does someone have a fix for my Problem? We have a Hytale Server and every 15-20 minutes someone is getting kicked
[InteractionSystems$TickInteractionManagerSystem] Exception while ticking entity interactions! Removing!
can anyone point me to source/docs for how to be structure json files and how to then read from them in java/hytale specific? want to add data for rpg skills already got components setup and system for this and working.
Oculus reparo ?
Yes i can send you my config util class
I will send you a pm
What?
Is there a way to get information about an online server and the number of players without third-party plugins?
Kay please note I have no experience with the backend of hytale only Minecraft and a good deal of Java experience do you have any mods installed
uhh without doing auth with server like pretending you are joining server its not possible yet
the point of mods on day one is for people to fill those gaps :)
Hello Guys
I'd like to know how to implement a command that everyone can execute, even without OP.
My current code:
public class HelloCommand extends AbstractPlayerCommand {
public HelloCommand(@Nonnull String name, @Nonnull String description, boolean requiresConfirmation) {
super(name, description, requiresConfirmation);
}
@Override
protected void execute(@Nonnull CommandContext commandContext,
@Nonnull Store<EntityStore> store,
@Nonnull Ref<EntityStore> ref,
@Nonnull PlayerRef playerRef,
@Nonnull World world
) {
EventTitleUtil.showEventTitleToPlayer(
playerRef,
Message.raw("Ola Mundo"),
Message.raw("Divirta-se :)"),
true
);
}
}
What do I need for this? I have an account, but how do I simulate a connection? I want to monitor my server for my website.
your best bet is to just install a plugin that exposes that information via http or query protocol
yep
Someone can help me?
Send me the most popular one, there are tons of them. I still want the best.
any that works is "best"
"best" is a very, very subjective word
Yes, but you never know, I'll put it on and the server will be hacked the next day.
add
@Override
protected boolean canGeneratePermission() {
return false;
}
should work
get the plugin on curseforge then, they manually approve files
don't vibe code kids, it's bad for your brain
๐คจ
Thank you
Me trying to get a gradle project working on arch in vscode ๐ตโ๐ซ ๐จ
or this,setPermissionGroup(GameMode,Adventure)
this is from EmoteCommand class
How Bro? Can you explain me?
use Idea intelij if he on Arch there is a plugin for that ๐
yeah, use idea, you're getting yourself hurt for no reason lol
Im not touching vscode since 2023
i'm even gonna release full support of the hot reload on linux and mac os ๐ not windows
honestly fair, I wouldn't want to deal with the worst OS currently on the market too
i mean the plugin works on all but not the hot reload , i can by pass the windows file blocking by puting server file into wsl but i don't want to complicated my life for just a hot reload in devellopement
nothing of value was lost ๐
exit the server -> build mod -> replace mod in mod folder -> restart server is totaly fine
Look into EmoteCommand class, there is in initialization of it this thing in the end. i cant put example bc of auto mod. Or just use previous answer from YouHaveTrouble
if there move event and what is it called?
thanks bro
yooo what?
is it possible to display itemstacks in custom ui?
there is none iirc, but there is a packet called ClientMovement so I assume thats what you want
yo
Does anyone know if there's a way to add a crafting category to an existing workbench without overriding the bench completely? I don't want to interfere with other mods changing the bench just to add a category for my blocks
How do you prevent the server from crashing if it already has a world that it can load?
That "World default already exists on disk" error.
ohh graalvm
Was openjdk, and the exact same happens with temurin so that can't be relevant.
how do i make something run every tick?
If I delete the world then it does start normally, but that is unusable.
Is there any method to Update all Mods on a dedicated self hosted server?
NPCMountComponent mountComponent = new NPCMountComponent();
mountComponent.setAnchor(0, 1.5F, 0);
mountComponent.setOwnerPlayerRef(owner);
mountComponent.setOriginalRoleIndex(entityPair.second().getRoleIndex());
holder.addComponent(NPCMountComponent.getComponentType(), mountComponent);
Trying to make an entity mountable via java but its not working, any tips?
Does anyone know if the formatting for lang strings is documented? i was wondering if either item icons or bullet lists are supported yet?
I may have one solution though a creative one. What if you add a new block that is water loggable that is invisible? That should be able to be damaged. And then if a player needs to walk over it you can either set your custom fluid damage textures of extra fluids or make the damage go away and make it a true fluid. Just an idea ๐
If someone wanted to spawn player always on spawn after joining just put that inside readyevent
Player player = event.getPlayer();
Ref<EntityStore> ref = player.getReference();
if (ref != null && ref.isValid()) {
Store<EntityStore> store = ref.getStore();
World world = ((EntityStore) store.getExternalData()).getWorld();
world.execute(() -> {
Player playerComponent = (Player)store.getComponent(ref, Player.getComponentType());
if (playerComponent != null) {
PlayerRef playerRefComponent = (PlayerRef) store.getComponent(ref, PlayerRef.getComponentType());
assert playerRefComponent != null;
ISpawnProvider spawnProvider = world.getWorldConfig().getSpawnProvider();
Transform spawnTransform = spawnProvider.getSpawnPoint(world, playerRefComponent.getUuid());
Teleport teleportComponent = Teleport.createForPlayer(world, spawnTransform);
store.addComponent(ref, Teleport.getComponentType(), teleportComponent);
}
});
}```
it's what i said and it's not for me personaly it's for a intelij idea plugin context
hey everyone, I'm newbie in modding sphere and java itself, so I have question with organization
like how I can use some plugin API (classes, methods, etc) in other plugin? for example, I want to make a utils plugin with functional, and I need to use classes from it in other plugins (it can be one plugin, or multiple, doesn't matter).
how I can implement something like that?
You will need to include that project ((the util project), as a depenndency in your plugin. Several ways of doing this, (maven, gradle, just by adding the JAR)
its kinda the same way youre using HytaleServer.Jar
like hytaleserver.jar in libs?
ahh alright
yep!
thanks guys, you're awesome โค๏ธ
When should custom configs be loaded?
After trying 3 different ways to implement my plugin I finaly find out the expected Hytale ways to do it XD goddd damn. Lost like 6h just to finally have it right
on plugin init/setup
Anyone here know a reliable place for documentation on the UI
I am working with pages, I cant figure out whats allowed with different components and its really annoyinh
Trying it in the constructor just errors with "Config not loaded"
do someone knows which class has that notifiction where you enter idk new biome?
public class DiscordBridge extends JavaPlugin {
public static Config<DiscordBridgeConfig> CONFIG;
public DiscordBridge(@Nonnull JavaPluginInit init) {
super(init);
CONFIG = this.withConfig("DiscordBridge", DiscordBridgeConfig.CODEC);
}
protected void setup() {
super.setup();
CONFIG.save();
}
}
Golden TIP for everything: If you're stuck on something then findout a mod/plugin from curgeforge and see that mod's code how they are doing things
Let me rephrase. Can I not get() the config in the constructor?
I own a curseforge approved modding community lol
We have some CF officials with us to help along with mod devs of all kinds
I suggest you to check the ui files that comes in the Assets.zip a lot of information there
is it possible to display itemstacks in custom ui?
Not really proper docs unfortunately
Nice. I have full server access from my remote plugin. Finally
Like its mostly trial and error when it comes to working with it
yes 100%
with what element?
ItemIcon #ItemIcon { Anchor: (Width: 64, Height: 64, Bottom: 5); Visible: true; }
Didnt try, but config needs to be saved on plugin setup, so my logic says no
ty
dm
@hard rock u added me?
Yep, to dm you
there is an online ui builder tool, but doesnt work really good, anyways it could help you knowing what elements / properties you can use.
Search Hytale UI Builder in google, is Hytale Ellie au
and why xd
For Server owners around...
Do you guys also run into players that get stuck on downloading the server-side assets? Stuff like timeout errors, visually stuck at a specific thing at random?
Seems the server-side mod thing is not reliable, and it's not reproduceable it will work sometimes, sometimes and to specific players it won't.
Used that as well, it does not actually cross check compatibility so it can also generate incorrect things sometimes, I think I have it figured out now but I am unsure
It's rather annoying attm players having to attempt to join over and over again just to get past timeouts while downloading server assets.
so what do you need else? as I understood you wanna know what properties are available?
Yeah, I am working on a chat reimplementation for it to be server side but my biggest issue UI files
I can make anything in java and several other languages but these UI files are just odd...
yeah, had to restart the server 300 times to figure out a UI with a welcome banner and some buttons ๐
Any ideas on how to detect zone of player?
eg. in f7 advance I can see Environment: Env_Zone4_Wastes
I'd get it as string and detect Zone4
but I need to figure out how to get it from location
Im scared how will you manage to open links from chat, afaik hytale doesnt provide any way and its client handled
if you find a solution i would love to hear it
Hence I am making it all server sided
Atleast thats the goal
I want to open links from the UI and i can't figure out how ๐
My plugin will come with an API so you can access that and simply send messages on the custom hud, I also intercept server messages through a seperate channel
where can I find marker image in assets folder, Im wanna send marker on map
Right now, my biggest trouble is the UI.. I might decompile the client and pull the UI file from there
client was develop in c# right?
so the proper way about using mods on a dedicated server is just drag them into the servers mods folder right? Where`s no need to be on every clients side ?
right
Yeah the client is C#
thank you!
idk why client does not support custom fonts
For the fellows that have already started modding, what exactly is a Codec(Store) and the EntityStore ? I've seen theses classes pop up a lot in the .jar
what are yall using for holograms? the plugins i can s see support only text
hytale is ECS oriented, you can search about that it might help
๐ gonna do that
and a codec is basically an encoder-decoder between java and other formats, like JSON, thats how you read your plugin config.json and use it in code for example
A codec is simply a structure that defines how objects of your class are serialized and deserialitezed from and to JSON files for the asset editor
The last one would fit more for the "AssetCodec<T>" tho
๐ ty mate
I have experience with Java, and have already worked with it but I never did any modding or game dev so for now I'm trying to understand the different components of the code base ๐
I have HytaleServer.jar. Can I find the potion-related code there? I'd like to see how it works, and if so, where exactly?
Guys, what's the name of the event that displays the notification when an item is collected? I'm creating an auto pickup system and I want to have that feature in mine too.
I created a command that, when entered, removes the burning effect from the player, but now I want to make a potion so that it constantly removes this effect over a period of time, but I donโt know how to do this.
how to delete a world from disk? universe.removeWorld only unloads it
somehow i feel that could be done through asset editor? like duplicating an existing potion and changing its effects.
does anyone know an good way to get infinite water in buckets? im searching about an mod/plugin for server, but the two i test crashes the server after some hours cuase of the BlockUpdate :c
It might be possible through Asset Editor, but I want to make a plugin for practicing mod creation.
1
what is the best ai for plugin developement hytale
none, lol
but I mean, items are still assets, so you need the assets files, its blockymodel, the json config?
i literally made a daily rewards plugin with ui using claude and it works perfectly fine
of course, but i still need it, cause of mega builds :c
Probably Claude Code, you just gotta make sure to give it plenty of information (Server jar, docs websites etc). It'll probably still be a bit meh tho
i dont understand the hype for claude, always thought is kinda useless
guyd. anyyone can give-me any doc to start a mace plugins?
Guys, apart modifying / dropping packets with a packetWatcher or a listener, anyone has an idea on how I could render / hide certain entities to some players ?
Till it does not and then you are useful to someone who has issues with your plugin as toilet paper after wiping
Make mods with AI if you wish to but do not put them on the internet for the public to use
Again an question... if i download an mod, that's only an .zip file (not a jar), what do i need to do to install it on an server? 
thats what i mean, but at building code I would say majority of AI sucks, they miss half of the context when a project is advanced
Did you find a way how to hide Hytale server behind haproxy? Ping me for reply ๐
hi
Wouldn't say it was manufactured hype for claude. It's actually super capable if you have some prior programming knowledge
how do I wait / check for a world to be created and up before continuing?
im pretty sure mods are mods doesn't matter if its made with ai or not if it works aand performs well thats what matters.
I would say even gpt 5.2 overstands claude
For coding? Not a chance lol
guys, please, help-me, how you creating plugins if i cant find any doc in hytale blog?
are you debugind and coding?
not that feeling on my side
Boilerplate and review. If your a senior it's a good tool to fill in the wasted time. Shouldn't ever replace the creative aspects or coding in general
It doesnt perform well, you dont even know what you have made... for all you know it can corrupt a disk and you couldnt tell why
Especially dont use it for hytale since there are no docs, no proper configuration, nothing so you cant even work with it
heyyy !!
Since the latest Hytale updates, Iโve been getting setTimeout-receive-assets-request errors, even though Iโm not using any configuration plugins or plugins that load additional assets.
The connection process has become unbearable, whereas everything worked perfectly before the update.
The issue seems to have started with the new QUIC / BBR protocols.
I tried increasing the PlayTimeout values, but it makes the connection process far too slow.
If anyone has a solution, Iโd really appreciate it.
lets wait for hytale to introduce breaking changes and see how all those plugins perform haha
This is definitely correct. Even with the agent fully spec'd out, you'll run into issues. Never trust, always verify.
AI does not understand optimisation at all... I was on the hype train when AI coding agents arrived... worked on smth and saw the AI read and write from a file every 2 seconds
Any ideas ?
I see that TransformComponent is deprecated
what is used instead of it now?
does anyone have a working example or creating a new world and adding a player to it?
I have given up on finding undeprecated stuff till they release java docs honestly ๐
Do we have a estimation for the docs date ?
bro I am mentally losing it ๐
like why in the world CAN'T I GET POSITION OF PLAYER LOL
1-2 months after release, was the last communication I think
I want to get environment of chunk at player
and I am losing it
player.getWorld().getChunk()
Anytime between tomorrow and never is what I assume
rip
I dont understand what Hytale team meant by day one modding
They didnt provide the source code, they didnt provide docs
Was day 1 modding just an unobfuscated jar file..?
it was haha
Thats not how moddability works? I am 6 years into java now, I can make the mods sure yeah but that doesnt mean its supported modding
dude anyone experience with java and hytale api here
please god damn hit me up I will pay you to make things for me
I am losing it
Its the same as minecraft used to be without obfuscation
What do you want done? Dont worry about paying, tell me what exactly is the issue
Is there any event class for player death?
I have multiple things I need to make
currently I am trying to make it so that I allow pvp only in specific zones
but I have other more complicated and simpler things all around
I am a web dev my dumb aah is not made for this ๐
does anyone have a working example or creating a new world and adding a player to it?
So you wanna define regions pretty much?
These are the commands to look for in code:
/world add <name>
/tp world <name>
no no, I want to use built in zones that you can see in f7 environment
is there a way to get BlockType from block id?
Dam I think I'll wait with modding. Seems like development is a battle royale or something
Why would my custom config not be generating a file or mod data directory? I have triple checked my manifest and config. Everything is setup correctly.
do you have the Config.Save() on setup?
haha sure don't. Isit really that simple?
universe.addWorld(worldName, "Void", null).thenAccept(newWorld -> {
if (newWorld == null) {
player.sendMessage(Message.raw("Failed to create world"));
return;
};
world = universe.getWorld(worldName);
player.sendMessage(Message.raw("World created! Building..."));
buildWorld(player);
}).exceptionally(ex -> {
player.sendMessage(Message.raw("World creation failed: " + ex.getMessage()));
return null;
});;
I have this and I'm getting:
World creation failed: java.lang.IllegalMonitorStateException: attempt to unlock read lock, not locked by current thread
Do you know what could be the problem and fix?
Don't mind me passing player, its just for debugging
Most things are simple for me honestly... but I personally am not enjoying 2 things
- Lack of documentation
- UI system
I would have much preferred an existing language or like html for UI(mod is in work from ellie on the latter)
try it :p
I will GLADLY make the ui mod with html css js if they end up supporting it
well they are moving to another UI framework
.ui is really annoying to work with yeah
I am just astonished as to why and how
How would they migrate everything now lol...
Geez, thanks for that. Do you know of any decent docs? The one I am looking at is definitely not accurate.
Just seems weird. I'd expect a development team to have documentation for their work, why not publish that for modders
afaik they want to use Noesis GUI
Intellij can generate javadocs, it has been able to for like 7-8 years now lol
Iirc isn't it due to legal problems ?
WDYM LONG WHAT LONG WHAT LONG IN .GETCHUNK
SIMON GIVE ME DOCS ๐
I'm not a intelljj or java developer so don't quote me please ๐
var location = player.getWorld().getChunk().getBlockChunk().getEnvironment();
.getChunk requires a long or index
not really, perhaps hytalemodding dev (not sure if its AI generated or not, I feel it isnt, but didnt check too much)
@sterile raft can you check if world map tracker works?
ZoneDiscoveryInfo currentZone = worldMapTracker.getCurrentZone();
Hey guys, someone could help me? after "Hytale Server Booted! [Multiplayer]" How can I connect on my local server? I tried localhost:5520 but I cant
sadly I have to leave but I can check in few hours from now
did you run /auth login device?
I did
how do I wait for world creation before continuing?
can someone gift me the game please i really need it
Full numeric id, this stupid fricking discord wont let me send it 127 0 0 1
When I apply a custom MovementConfig from my plugin pack, the client crashes with IndexOutOfRangeException. The server successfully applies theconfig, but it seems like the client doesn't have the asset. How do I ensure custom MovementConfig assets are synced to clients? Or is there a way to modify movement settings without needing a custom asset?
does anybody know where i could change the hit of a pickaxe so that it hits multiple blocks at once say in a 3x3 area or anything like that?
just "localhost" should work btw
Javadocs aren't that helpful when the code is barely documented
I think I used /auth login browser, could that be the problem? Using device always gets stuck on "processing".
o_O, works for me
Hey guys, having a bit of trouble here. I'm building a Lootbox plugin and I want to handle configurations differently.
I want admins to be able to add/edit lootboxes via the asset editor instead of editing JSON/YML files manually, but I'm stuck on how to implement it. Any tips or ideas on how to achieve this?
(You can ping me if youโve got any ideas)
True yeah, kinda stupid of themr eally
Though I will admit, from what I've seen modding looks relatively easy compared to other games I've modded
Iโve already implemented my codecs and components
how to convert block id that we get from world chunk into BlockType
i need to do a production deployment at my job and im getting distracted here lol
I wanna see that repo ngl
some people are just genius :d
+1
Oh frick networking, I thought like sharded servers or smth lol
you might have to talk with my server sysadmin and teach him some things haha
When I apply a custom MovementConfig from my plugin pack, the client crashes with IndexOutOfRangeException. The server successfully applies the config, but it seems like the client doesn't have the asset. How do I ensure custom MovementConfig assets are synced to clients? Or is there a way to modify movement settings without needing a custom asset?
Asking this again but probably no one has a clue on what the f I am on about
If I want to have a quest where the npc is displayed only to a certain player, how could I without modifying directly the packets (seems a really bad idea ahah)
We are a team of 4, me (owner and dev), the sysadmin, and 2 creatives, they all work so fast, i dont even have time to finish a plugin
what are you trying to do?
Disable sprinting in a certain world
Did someone upload UI documentation?
If you need help with this later, join my dcord server btw, I dont look at this discord often
Or do I still need to look at the code myself like a Librarian.
oh, do you have the documentation on you?
isnt .ui suppose to start with $C = "../Common.ui"; ?
im getting " Could not resolve relative path: ../Common.ui "
guys if you want a good youtube video with ui basics friend me, i will send you the link, it might be useful for u
No, there are no docs for this afaik
only if you want to use elements from common.ui
The only method I am aware of that works is by copying the movementconfig, making a custom pack and setting the values there then registering it, as there is also no way to do through code either. But it just crashes the users client ๐
could you send me a personal message, ill send you the docs
is common.ui all of hytales elements? where is common.ui located
where is your ui file? make sure the path is /Resources/Common/UI/Custom/Pages/YourUIFile.ui
most of people misses the /Pages part
Hey all ! I'm trying to update the hitbox of the character when it slide to make it able to pass in a 1 bloc gap, but i only found the asset config with min and max and idk how to ubdate it when the slide action / animation is triggered. Do you have any video / tuto ref to share to help me pls ? (i know how to code but never did a mod so i'm a bit confused)
sure, send me a dm and 25$ and i gift
you can find it in the downloaded Assets, Assets\Common\UI\Custom
i tried first putting there but i was getting error from diagnostic it said it should be in Custom/myuifile.ui
should i add the pages in here i think that was my problem cmd.append("Custom/MainMenu.ui");
thanks
it must be in /pages and it should be cmd.append("Pages/MainMenu.ui")
if you get an error like it couldnt load custom UI, its most probably an error inside ur .ui file, some syntax or wrong property
Can you initiate a UI from the server side?
was common ui error because of pages or do i still need first get it from assets zip
playerComponent.getPageManager().openCustomPage(ref, store, new YourGUI(playerRef));
you just need to compile ur plugin and load it into mods folder
make sure the manifest has "IncludesAssetPack": true,
the assets zip?
you dont have to do absolutely anythink with assets.zip
only use it to check syntax and stuff that you can use in your plugin
okay
everything you want to add to "Assets" is what you put in Resources folder in your plugin
But no issues with the new QUIC/BBR protocol on your end?
I can no longer connect locally with Docker on Windows to my server,
whereas before the update, zero problems.
For example in my server i did a plugin that when a player joins it shows a Welcome title and reproduce a welcome audio, as well as it opens a UI with our server Roadmap image and a discord button
anybody know how to correctly import custom item animations into hytale? My file gets recognized but keep getting a 'xxx doesn't exist' error
Do people know how to play custom animations of an entity without adjusting the json file that decides the animation name and filepath? Like can we create a different json file and make a mob play the animation from that custom json?
i think this can be solved by wrapping addWorld in a lock that i think is somewhere in the World class
Hey one question in my Plugin is a MyEconomy.jar\Server\Languages\en-US\serrver.lang file with correct translations in my manifest.json is "IncludesAssetPack": true but the translations will not used?
is it a .blockyanim ?
it sure is. Just unsure how to tell the json of my custom item where it is etc. I'm seeing 'item player animations id', 'item animations id' show up in multiple places in the asset editor
Hytale doesn't have support for on-hover text in the chat yet, does it? If not I can maybe write my own chat widget, idk
look at World.execute(Runnable)
it's often in the template for weapons for example it's a bit of a mess to find it yes ๐
Chat is all client side, they have no real rich text support... its painful to do anything with it honestly
Coming from someone who has suffered it for 2 days
I'm trying to disable sprint for players in a dungeon world. I've tried two approaches and both crash the client with IndexOutOfRangeException:
Approach 1: Custom MovementConfig asset ("NoSprint") applied via:
movementManager.applyDefaultSettings();
movementManager.update(playerRef.getPacketHandler());```
**Approach 2: **Direct MovementSettings modification:
```javaMovementSettings settings = movementManager.getSettings();
settings.forwardSprintSpeedMultiplier = 1.0f;
movementManager.update(playerRef.getPacketHandler());```
Both crash the client when trying to sprint. Is there a supported way to modify player movement settings at runtime? Or is this a known limitation?
thanks! also do you know how to teleport a player to the new world? I'm trying playerRef.updatePosition() but doesnt work
it's not that bad. you can do basic color/italics/etc.
I was able to create a kit selector mod using the .ItemId
Mod: MiniKit
i have support for stuff like gradients in my own library but i know there are frameworks solely for html style RTF
kan only body tell me what events are called when the player join or leave a server and join or leave a world?
PlayerReadyEvent occurs when the player is physically spawned into the world
Yeah that pretty much sums it up, there is no custom font stuff or anything really either
Can anyone help me with mytranslations?
iirc there's also PlayerConnectEvent for the actual connection
How can I change โ<player> has joined defaultโ to my server?
Nah buddy we all blind, make the text bigger
Item/ItemPlayerAnimations in the asset editor
Thanks for the expert advice, chief.
depends on what you wanna change on it
You can technically do a custom font with a UI widget if you render the font as an image LMAO
Honestly just change โdefaultโ to my server name.
but you won't be able to enter dynamic strings in that font so
change the world name
Yeah.. I dont know how the UI works, if you know and can help me, it would be appreciated.. UI is the one thing I am genuinely struggling with
When I look at the assets folder it's Item/Animations for the folder structure. The asseteditor shows 'itemplayeranimations' but still shows my file that's in Item/Animations, but then yeah says it doesn't exist
theres a good tutorial by troubledev
there's a really basic one i used as a launchpad
Hey, does anyone know how to move a Entity to a certain Block? To be specific, I want to give the Entity a target Block that it then wanders to.
Gonna try that now ig...
Hey guys, i'm looking to create a system that trigger when a player interract with a workbench. I investigated found PlayerInteractEvent, but was deprecated, so i went for an ECS handler :
class RepairOnBenchInterract extends EntityEventSystem<EntityStore, UseBlockEvent> {
private static final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
public RepairOnBenchInterract() {
super(UseBlockEvent.class);
LOGGER.atInfo().log("RepairOnBenchInterract system initialized.");
}
@Override
public Query<EntityStore> getQuery() {
// TODO Auto-generated method stub
return Archetype.
}
@Override
public void handle(int index,
@NonNullDecl ArchetypeChunk<EntityStore> archetypeChunk,
@NonNullDecl Store<EntityStore> store,
@NonNullDecl CommandBuffer<EntityStore> commandBuffer,
@NonNullDecl UseBlockEvent usedBlockEvent) {
var usedBlockType = usedBlockEvent.getBlockType();
LOGGER.atInfo().log("Used block type: %s", usedBlockType);
// var usingPlayer = usedBlockEvent.
}
}
Plugin code :
public class DurabilityChangePlugin extends JavaPlugin {
private static final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
private static EventBus eventBus;
public DurabilityChangePlugin(JavaPluginInit init) {
super(init);
LOGGER.atInfo().log("Hello from %s version %s", this.getName(), this.getManifest().getVersion().toString());
}
@Override
protected void setup() {
eventBus = new EventBus(false);
this.getEntityStoreRegistry().registerSystem(new RepairOnBenchInterract());
}
@Override
protected void start() {
LOGGER.atInfo().log("DurabilityChangePlugin has been enabled.");
// eventBus.register(UseBlockEvent.class, event -> {
// LOGGER.atInfo().log("Player interacted with something.");
// });
// eventBus.register(PlayerInteractEvent.class, event -> {
// LOGGER.atInfo().log("Player interacted with the world.");
// });
}
}
I get the messages for systems being created and initiated, but the handler doesn't trigger
the asset folder on common is just to store the model textures and animations, this is in the server folder and it's to define the animations to play for the items
Why the spoiler lol
Why are people using random discord formatting today ๐
Yeah I'm talking about the server folder. Maybe my assets folder is outdated. But still strange that it would recognize the json in the asset editor even though it's supposedly in the wrong directory
You have proven not to be of use here.
you can try to duplicate an existing item to your own pack to see the structure, that's what i'm doing to create a new type of weapon and it was really helpful
I thought I had but it didnโt help? Whereโs this? Sorry for basic basic asks
I am of use just not when you randomly put a titled text of a question in front me lol
Wanted to make it more discreet but, won't lol
Go to your universe folder, change it there
Thank you.
Or create a world with code with the correct name
Honestly did the opposite lol
I'd refer to Universe.resetPlayer()
It seems to something like it, maybe this function is actually meant for it but idk
appreciate you
Renamed the folder to ItemPlayerAnimations and the asset editor no longer sees the json. So I'm pretty sure the folder has to be called 'animations' but the asset editor just shows its called 'playeranimationsid'
Hi everyone, does anyone know if there is a way to create a beam of particles from point A to point B?
Hi! Anyone knows how to spawn an NPc at player?
Does anyone know how to cancel a player dropping items?
public class PlayerDropItemListener extends EntityEventSystem<EntityStore, DropItemEvent> {
public PlayerDropItemListener() {
super(DropItemEvent.class);
}
@Override
public void handle(int i, @NonNullDecl ArchetypeChunk<EntityStore> archetypeChunk, @NonNullDecl Store<EntityStore> store, @NonNullDecl CommandBuffer<EntityStore> commandBuffer, @NonNullDecl DropItemEvent dropItemEvent) {
dropItemEvent.setCancelled(true);
}
@NullableDecl
@Override
public Query<EntityStore> getQuery() {
return PlayerRef.getComponentType();
}
}
in 2 hours i'm out of work if you want we can check this out together ?
I tried this, doesn't work
just kick the player from the server when they drop something, they will stop dropping stuff when they understand haha
damn
you can call it dropkick mechanic
Thats just awful
๐ข
You don't drop, I drop you
Wait, good old QQ command comeback
Guys, apart modifying / dropping packets with a packetWatcher or a listener, anyone has an idea on how I could render / hide certain entities to some players ?
make it invisible? Ie no model?
uh that sounds dangerous
seems a very bad idea yea so i'm trying to have other methods. The idea is to just render them to some players
Not sure, since some players need to see the model
Playerstat that enables render?
#server-plugins-read-only message
Does somebody knows why my handler wont trigger ? I'm trying to make an handler on when a Player use a workbench.
My current code is correctly initiated : I get the "plugin initiated" and "RepairOnBenchInterract initiated" log, but it wont trigger the log when I use a block
wdym ? (I have not tried that much modding)
Just figured it out actually. The playeranimation json needed a 'wiggleweights' and 'camera' section which I didn't have, so the json wasn't validating. Still I think it's a bug that the asset editor says the file 'doesn't exist' rather than saying it isn't validating.
I will just screenshot that in case i have the same issue in the future haha
Im just spitballing ideas.
Having the entity in the world means you don't need to mess with packets. Give the entity a new attribute isInvisible
I'd approach it by having a player stat, ie seeInvisible. IF it's true, they would have an aura which lets them see any entity that has isInvisible within 5 blocks
haha sure, and the correct folder structure is indeed server/Item/Animations, even though the asset editor says otherwise
Oh I see, that was basically my idea but my problem is the "which let's them see any entity" lol
But I will look into that
Sure, i'm just extending how i see it to work.
You would then just tell the item to have no texture or render when isInvisible = true
rock n roll GG
ty ๐
will the players be able to walk through the entity?
Thats a good point... Wouldn't that break things?
alright does anyone know how do I teleport a player to another world through code?? I've created the world succesfully but cant figure out how to tp the player there
Thats what I thought at the beginning as "dangerous" haha
If it's that the only problem I'm okay with it, it's for quests NPCs
Can someone help me with the hytalemodding guide Create Custom Item and Interaction? i did everything the same but the item isnt even in the game
but on the other side would be weird to just collapse against an invisible wall
True
I mean the entity would be in the game right? If yuo rely on the server to do position checks it shouldn't cause a problem...
Though another way to do it would be to extend my "isInvisible" thing and then "pop in" the entity when yuo get close
hm that pop in feature its interesting, but i cant imagine how would u handle multiple players on the same area
For Quest NPCs you'd have an expected position right?
You could then do a "if within 30blocks, start getting ready, if within 10 render"?
If isVisible?
So someone has the ability to see "spawn" it, everyone else then can interact.
Until the seer moves away
Do you still need an answer if so I can share some code?
I see some high complexity here, maybe I would just disable interactions for that npc :p
yes, please!
how are people getting holograms with colored text and images.
im looking for a good developer, i pay monthly or per project completed.
you have the World object right?
Anyone know of a plugin that stops collisions with other players? even weapon collisions
yes
Teleport.createForPlayer(targetWorld, new Transform(x , y, z, pitch, yaw, roll));
Gonna try everything tonight, thanks guys
is there way to add emojis in to titletext in hytale original ui builder?
pitch yaw and roll are optional
then you add this to the playerref component
like this:
Teleport teleportComponent = Teleport.createForPlayer(targetWorld, new Transform(x, y, z));
store.addComponent(playerRef, Teleport.getComponentType(), teleportComponent);
Hi! How can I find out which block is underneath the player?
here x y z are your coords and targetWorld is your world object
sync or async?
async
One thing could be delete the item dropped and set to its inventory again, until you found a solution
Wouldn't that be delayed and possibly wrong?
it says "The method createForPlayer(World, Transform) is undefined for the type Teleport"
So how do I do this correctly? I'm just starting to understand mods and want to create an event when a player steps on a certain block.
store.addComponent(refStore, Teleport.getComponentType(), Teleport(world, loc.position, loc.rotation))
in java that's new Teleport(world, position, rotation)
do something like this:
Vector3d loc = playerRef.getTransform().getPosition();
loc.setY(loc.y - 1);
double X = loc.x / 32;
double Z = loc.z / 32;
if (X < 0) XT -= 1;
if (Z < 0) ZT -= 1;
int XF = (int) XT;
int ZF = (int) ZT;
world.getChunkAsync(ChunkUtil.indexChunk(XF, ZF)).thenAcceptAsync(new Consumer<>()
{
@Override
public void accept(WorldChunk chunk)
{
BlockType block = chunk.getBlockType(32 * XF + (((int) loc.x) & 31), (int) loc.y, 32 * ZF + (((int) loc.z) & 31));
}
}
You'd probaly need to hook into a notify event.. If it exists.
It really depends on performance, would you want to run a check every tick to see what block a player is on, or if it's a specific block, would you check to see if the player is on that block from the blocks perspective
Can you share your full code example
[2026/01/21 14:29:00 INFO] [PluginManager] - com.hytale:LoginSecurity from path HytaleLoginSecurity-1.0.0.jar [2026/01/21 14:29:00 SEVERE] [PendingLoadJavaPlugin] Failed to load plugin mods\HytaleLoginSecurity-1.0.0.jar java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at ThirdPartyPlugin//com.hytale.security.LoginSecurityPlugin.<clinit>(LoginSecurityPlugin.java:36) at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method) at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1169) at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:341) at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:104) at java.base/jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:138)
thin jar error?
Hi guys, i've implemented a custom component:
public class MyComponent implements Component<ChunkStore> {...}
with a codec and everything. I registered correctly and it was accessible to the AssetEditor. I've tried to change from ChunkStore to EntityStore, and after changing everything, it compiles no problem, but is not accessible via AssetEditor. What am I doing wrong?
Hello, im looking for good Hytale mod developers for a personal project. I can pay monthly or per plugin created.
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.math.vector.Transform;
import com.hypixel.hytale.server.core.modules.entity.teleport.Teleport;
import com.hypixel.hytale.server.core.universe.PlayerRef;
import com.hypixel.hytale.server.core.universe.Universe;
import com.hypixel.hytale.server.core.universe.world.World;
public void addPlayerToWorld(Store<EntityStore> store, PlayerRef playerRef, World world){
Teleport teleportComponent = Teleport.createForPlayer(world, new Transform(0, 75, 0));
store.addComponent(playerRef, Teleport.getComponentType(), teleportComponent);
}
I get these errors:
The method createForPlayer(World, Transform) is undefined for the type Teleport
The method addComponent(Ref<EntityStore>, ComponentType<EntityStore,T>, T) in the type Store<EntityStore> is not applicable for the arguments (PlayerRef, ComponentType<EntityStore,Teleport>, Teleport)
Does anyone know how would I be able to get a blockID using a Vector3i position?
Can someone help me with the hytalemodding guide Create Custom Item and Interaction? i did everything the same but the item isnt even in the game
Need an opinion if I should keep working on a mod. I have created a plugins that produces a list of the plugins installed on the server. Currently, it uploads to pastebin (a temp file storage place), the issue is the URL is different every time it uploads the plugin list. The intent is for streamers/discords to have a command, that would share the plugin list with people.
My question to y'all is, would this be something of value? if it is, i would stand up a website, that you could register and have your own URL
Is anyone working on a multi world plug-in? The one that's out doesn't work and is obfuscated
This is for everyone trying to cancel items being dropped:
public class DropItemListener extends EntityEventSystem<EntityStore, DropItemEvent.PlayerRequest> {
public DropItemListener() {
super(DropItemEvent.PlayerRequest.class);
}
@Override
public void handle(int i, @NonNullDecl ArchetypeChunk<EntityStore> archetypeChunk, @NonNullDecl Store<EntityStore> store, @NonNullDecl CommandBuffer<EntityStore> commandBuffer, @NonNullDecl DropItemEvent.PlayerRequest event) {
event.setCancelled(true);
}
@NullableDecl
@Override
public Query<EntityStore> getQuery() {
return Player.getComponentType();
}
}
apparently some jars do have that method and not all. I use a hytale server jar that has that method. But let me check the one that doesn. one moment
Estamos buscando programadores hispanos, queremos montar un gran servidor habla hispana
I did make a mistake typing quickly in discord checked my old code. I used the ref not player ref. ref = Ref<EntityStore>
Hey, does anyone know how to use the path from the AStarWithTarget class? I wanna move the Player along this path.
May I ask how you got your jar file, as all my jars except one (an older file) works. Only the PlayerRef needs to be replaced with Ref<EntityStore> sorry about that
I built the Server Jar with the HytaleDownloader provided by official website and got the HytaleServer.jar. Everything is working, except this.
My code right now:
public void addPlayerToWorld(Store<EntityStore> store, Ref<EntityStore> ref, World targetWorld){
store.addComponent(ref, Teleport.getComponentType(), new Teleport(targetWorld, new Transform(0, 75, 0)));
}
could you perhaps send me the part of your code that does this please?
Help me Boosting serve
I made the same with packets
store.addComponent(ref, Teleport.getComponentType(), new Teleport(targetWorld, new Vector3d(0, 75, 0), new Vector3f(0, 0, 0)));
the 3f is your pitch yaw roll vector and 3d is your position
Is there ANY sort of symbol support for chat? Every symbol I'm trying is just coming up with "?"
didnt work ๐ wtffff
I don't think so, the best thing would probably be extending the language assets but idk where those files are located I can search though. OR you can make a custom chat ui mod where the chat is completely overhauled
wait what, still getting errors? Can I otherwise share you my server jar I use?
idk how they can be different but yeah, have you updated the server jar recently?
awhhh man that's a lot for something as simple as that ๐ฉ All I needed was a โ๏ธ and โ symbol ๐คฃ
Thank you anyways- hopefully they extend support for symbols and minicaps in future
let me check the assets for you as maybe you can add symbols
wich program do u use to make a server on hytale? im thinking about make my own server on my pc dont want to buy host
Hey folks, does anyone know which method i would best use to change a blockstate in a ticking system?
Hello, it may be a stupid question but where does the LOGGER.Log send the message when on a local server ? I mean how can isee it
Hello! I'm trying to clear a region into air blocks, the thing is i don't know what I am doing wrong. Can someone help me? I want a easy class to erase from max to min
public class SimpleBlockEraser {
private final World world;
public SimpleBlockEraser(World world) {
this.world = world;
}
public void clearArea(Vector3i max, Vector3i end) {
world.execute(() -> {
for (int x = max.x; x <= end.x; x++) {
for (int y = max.y; y <= end.y; y++) {
for (int z = max.z; z <= end.z; z++) {
world.setBlock(x, y, z, "Filter_Air_Block");
}
}
}
});
}
}```
I think you have a breakBlock method
Oh! Thank you
I'm gonna try. Let's see
I have this command:
public class WorldCommand extends AbstractPlayerCommand {
@Override
protected void execute(CommandContext context, Store<EntityStore> store, Ref<EntityStore> ref, PlayerRef playerRef, World world) {
WorldGenerator worldGenerator = new WorldGenerator();
worldGenerator.generateWorld(store, ref, playerRef);
}
}
Registered:
getCommandRegistry().registerCommand(new WorldCommand("genworld", "Teleports player to New World", false));
Then, in WorldGenerator:
public void generateWorld(Store<EntityStore> store, Ref<EntityStore> ref, PlayerRef player){
// Some code
universe.addWorld(worldName, "Void", null).thenAccept(newWorld -> {
// Some code
HytaleServer.SCHEDULED_EXECUTOR.schedule(() -> {
world = universe.getWorld(worldName);
buildWorld(player); // This works
addPlayerToWorld(store, ref, world, player);
}, 2000, TimeUnit.MILLISECONDS);
}).exceptionally(ex -> {
player.sendMessage(Message.raw("World creation failed: " + ex.getMessage()));
return null;
});;
}
private void buildWorld(PlayerRef player){
// Some block-placing code that works as intended
}
public void addPlayerToWorld(Store<EntityStore> store, Ref<EntityStore> ref, Worl
d targetWorld, PlayerRef player){
player.sendMessage(Message.raw("Teleporting..."));
store.addComponent(ref, Teleport.getComponentType(), new Teleport(targetWorld, new Vector3d(0, 75, 0), new Vector3f(0, 0, 0)));
}
@summer otter sorry for the long message but I don't know what else to do lol
I will take a look so no worries we can also take it to dms
maybe I'm passing the wrong arguments in the command execution or something?
Do you have any plugin recommendations for red chunk errors?
hmm why does my command say I have no permission?
public StartCommand(Main plugin) {
super("start", "Ponder a player");
this.plugin = plugin;
this.targetArg = this.withRequiredArg(
"player",
"The player to pondering",
ArgTypes.PLAYER_UUID
);
}
@Override
protected void executeSync(@Nonnull CommandContext context) {
}
I will try to compile your plugin Pedro and test it out
Ponder a player is your permission
Does someone knows how servers generate these type of "holograms" but that seems an image floating?
oh so just set that to null? It says its the description
so you need to have Ponder a player permission to execute the command
(imgur link) kfgxyQn.png
Does anybody know how to play item animations directly from code? I have made several animations inside the blockbench model of my custom item, but i don't understand how should i play them
if you want the command to be useable by everyone you can do
@Override
public boolean hasPermission(@Nonnull CommandSender sender) {
return true;
}
it compiles, just doesnt teleport me when I run the command
i managed to create a hide n seek ๐ if anyone wants to help test it out dm
๐
go into asset editor, create a new block , change the scale to 0.001 , add particle system, change particle image to the image u want to show, also change canvas size
Oh damn, let me try that, much appreciated QKARAXA ๐
how do I get to the console in singleplayer? auth fails due to singleplayer
its a little bit tricky but easy to get it working
Is there an "official" server plugin documentation available somewhere?
nop
How are you learning ?
yeah, I don't know how to create a new block, so it should be hard hahaha
Reading the HytaleServer,jar or thrid party documentation
search in youtube are tutorial
Oh okay interesting
u can use jd gui to decompile it yes
it's not obfucated ?
not the public variables
None of it is obfuscated
yeah i know but u only get acces to public things hehe
What does that even mean
u only get acces to public classes not internal ones
What "internal classes" are you talking about?
someone tell this man about reflection
it should be a block or a item?
I think he thinks there's a secret part of the JAR that's encrypted or something
So actually how are you developing plugins ? ctrl f in HytaleServer.jar to find methods ?
I think he means private classes
just import the jar as a dependency in your project
item
Yes; since there's no official API documentation, we are quite litereally reverse engineering it
yo
๐ฅ๏ธ ๐ฆ
so for making mods is it the same way for mc java?
No
MC Java has modloaders and API documentation, so no
found out why, you have a 2 sec timeout for warping and generating the world
And is a official doc planned ?
To my knowledge yes
this takes way longer, for me it took 1min
2-3 months
๐ญ thats gonna be fun im tryna remake my MC mod for here
Yes but no date for this to release
Hey guys. Big mess here very hard to find anything. Can you recommend some good to have or interesting server-plugins?
I'm currently running and instance of hytale in Pterodactyl
i cant send gifs
although I did make a small change but lets see if I can do it again
What kinda server you running?
protected void execute(@Nonnull CommandContext commandContext,
@Nonnull Store<EntityStore> store,
@Nonnull Ref<EntityStore> ref,
@Nonnull PlayerRef playerRef,
@Nonnull World world)
{
EventTitleUtil.showEventTitleToPlayer(playerRef, Message.raw("Malevolent Shrine"), Message.raw("Domain Expansion:"), true);
if (DomainExpansion != null)
{
DomainExpansion.addPlayer(playerRef);
}
if (DomainExpansion == null)
{
if (Universe.get().getWorld(DE) != null) {
DomainExpansion = Universe.get().getWorld(DE);
assert DomainExpansion != null;
DomainExpansion.addPlayer(playerRef);
}
else
{
Universe.get().addWorld(DE).thenApply(world1 -> DomainExpansion = world1).exceptionally(throwable -> null);
DomainExpansion.addPlayer(playerRef);
}
}
}
this doesn't seem to work, and even if it did, it would only teleport the person using the command, I eventually want this on an item
Not sure what type of servers there are. Currently unmoded private servers for me and my MC friends
has anyone figured out how to create character editor with custom features for server? like ui to select certain parts, colors for model and morph into it?
Good afternoon, I tried to copy โTilled soilโ using the asset editor. It copied correctly, but I can't plant any seeds in it. Does anyone know how to fix this? Thanks
really? why does it take so long if its a void world with a 5x5 platform?
For private servers, mods like eye spy(shows what you are looking at) would be good. Look at curseforge to download mods.
For public servers, mods like Simple Claims, ModerationPlus, admin UI, etc
also do you know how I can recreate a world? like, delete it and create again
is there a need for special luncher in order for those mods to be installed
Curseforge has a website to download the mods from, nothing more afaik
okay fixed it it was wrong from my end, what you need to do it don't run the tp async
so bring the tp into the command after the worldgen
maybe do a small await/sleep if it isn't aligned
for me this makes it work almost instantanious
public static void fullyHeal(Ref<EntityStore> ref) {
EntityStatMap stats = ref.getStore().getComponent(ref, EntityStatMap.getComponentType());
if (stats == null) return;
int healthIndex = EntityStatType.getAssetMap().getIndex("Health");
EntityStatValue healthStat = stats.get(healthIndex);
if (healthStat != null) {
stats.setStatValue(EntityStatMap.Predictable.SELF, healthIndex, healthStat.getMax());
}
}
i currently have this code to set the player to full hp but it always sets them to 100 and doesnt take into account the armour how do I fix this?
When do u add the armor? I had this issue, and delaying the healing like 50ms did the trick for me
this is not a void world but a normal world but you see the point of what I did. It doesn't save as that requires a bit more work with WorldSettings
public class WorldGen extends AbstractPlayerCommand
{
public WorldGen() {
super("worldgen", "commands.worldgen");
}
public void generateWorld(Store<EntityStore> store, Ref<EntityStore> ref, PlayerRef player){
Universe.get().makeWorld("test",Path.of("/universe/worlds"), new WorldConfig()).thenAccept(newWorld -> {
// Some code
HytaleServer.SCHEDULED_EXECUTOR.schedule(() -> {
World world = Universe.get().getWorld("test");
buildWorld(player); // This works
}, 2000, TimeUnit.MILLISECONDS);
}).exceptionally(ex -> {
player.sendMessage(Message.raw("World creation failed: " + ex.getMessage()));
return null;
});;
}
private void buildWorld(PlayerRef player){
}
public void addPlayerToWorld(Store<EntityStore> store, Ref<EntityStore> ref, World targetWorld, PlayerRef player){
player.sendMessage(Message.raw("Teleporting..."));
store.addComponent(ref, Teleport.getComponentType(), new Teleport(targetWorld, new Vector3d(0, 75, 0), new Vector3f(0, 0, 0)));
}
@Override
protected void execute(CommandContext ctx, Store<EntityStore> store, Ref<EntityStore> ref, PlayerRef playerRef, World world) {
generateWorld(store, ref, playerRef);
try {
Thread.sleep(2000);
} catch (Exception e) {}
addPlayerToWorld(store, ref, Universe.get().getWorld("Test"), playerRef);
}
}
@late girder
add any of your code back in and you can also use the deprecated addWorld method but you see the point
is there way to add emojis in to text in hytale original ui builder? it shows ??
nope as the text is UTF-8 formatted so not UTF-16 or UTF-24
okay thanks
hey guys, does anyone know the correct way to read an item stack's tags in java?
"Tags": {
"Type": [
"Armor"
],
"Family": [
"Iron"
]
}
Grab a Mod that Alters Stack amount and dig into the files ^^
is there a better way to check if a player is near a position than to shedule a function every second that checks for it?
is there a way to visualize the cooldown of items?
good idea, thanks!
Is there a Plugin/mod that Puts Server on sleep Mode in Like 5 min when No one is playn? And Boots / resumes on Login attempt?
anyone know how to summon a particle? on the player?