#server-plugins-read-only
1 messages · Page 81 of 1
Is it possible to display a gif in a ui ?
yeah, mods = plugins in this scenario
anyone know a good host for hytale ? (and not overprice)
(drop the name or the link in dm ^^ )
is there lik a tick event for mobs for example?
Yeah its an EntityTickingSystem
I tried to whole day to get an event for when the player use F on a door, still trying to figure it out
Any door?
any
UseBlockEvent doesn't fire?
i think you can add an InteractComponent to the door and make a uuid for it, then use a PlayerInteractEvent for it
oh right, guess I just don't know the system well enough yet, seems like a lot is possible
any entity a player can press F to interact in fact
I dont want to get the event fired for a specific entity but a generic one for any entity interacted by the player with F
I dont know if it's possible
then just PlayerInteractEvent by itself then, it should be generic enough for your use-case then
How can I check if a player running the command is OP? I already have the Player object I just want to know how to check it
I uploaded a video on YT about the pistons mod I'm working on if anyone cares to see a WIP
Yes I tried but then I couldn't get the entity the player interacted with for some reasons, it was always null
it should be in the entitystore or an entityref for it
one sec i haave it working ill grab the code
i think if you check for the group OP on the user you should be able to get it
You might have to do something with the players interactor target
I think theres something called the InteractionManager that might have it?
@elder sundial try PermissionsModule.get().getGroupsForUser(uuid) for it
Yeah thats what its called you can get it on the player and do something from there prob
check if it contains OP and you should be fine
heres what you need
com.hypixel.hytale.server.core.event.events.entity.LivingEntityUseBlockEvent;
Thanks I will try it out!
thx I will check that
public class PlayerJoinLeaveListener extends RefSystem<EntityStore> {
public PlayerJoinLeaveListener() {
}
@NullableDecl
@Override
public Query<EntityStore> getQuery() {
return PlayerRef.getComponentType();
}
@Override
public void onEntityAdded(@NonNullDecl Ref ref, @NonNullDecl AddReason addReason, @NonNullDecl Store store, @NonNullDecl CommandBuffer commandBuffer) {
PlayerRef player = (PlayerRef) store.getComponent(ref, PlayerRef.getComponentType());
player.sendMessage(Message.raw("Welcome"));
HytaleLogger.getLogger().atInfo().log(player.getUsername()+" joined the Server!!!");
}
@Override
public void onEntityRemove(@NonNullDecl Ref ref, @NonNullDecl RemoveReason removeReason, @NonNullDecl Store store, @NonNullDecl CommandBuffer commandBuffer) {
PlayerRef player = (PlayerRef) store.getComponent(ref, PlayerRef.getComponentType());
HytaleLogger.getLogger().atInfo().log(player.getUsername()+" left the Server!!!");
}
}
In case anyone needs to do stuff when someone leaves/joins the server 🙂
Ha yes I saw this event but it's deprecated so I want to use something else
has anyone came up with a mod or anything yet to pick which world you want to go to without making player /op
can someone help me test a plugin quickly?
com.hypixel.hytale.server.core.event.events.ecs.UseBlockEvent; try that?
Does anyone know how to properly implement the MultipleHUD plugin in your own plugin code? i'm trying but for some reason it just crashes :/
permission plugins have been around for a little bit, if that's what you mean?
@Override
public void tick(float dt, int index,
ArchetypeChunk<EntityStore> chunk,
Store<EntityStore> store,
CommandBuffer<EntityStore> commandBuffer)
{
Projectile projectileComponent = chunk.getComponent(index, Projectile.getComponentType());
if (projectileComponent != null)
{
TransformComponent transformComponent = chunk.getComponent(index, TransformComponent.getComponentType());
if (transformComponent != null)
{
Vector3d projectilePosition = transformComponent.getPosition();
Essentials.PrintToInfo("Projectile is at: " + projectilePosition);
}
}
}```
Anyone know how youd go about checking what kind of projectile this is?
i want players to choose which world to play in, but right now i can only seem to do it by teleporting them to the other world
Did you ever figure this out? I've been looking for hours now with no luck
ı want to play online but ı dont know how tomstart. can you teach me
there are permissions for commands, so if you use luckperms you can give them permission to do it themselves
how can i setup my Server without player using a port?
Imma ask for something random.... Can you get colors inside the console window (using the hytalelogger)?
but i also dont want them going between worlds, just a one time pick
ı want to play online but ı dont know how tomstart. can you teach me
Mod/Plugin request for MP servers: Claim Block (such as in 7DaystoDie) or Tool Cupboard (such as in RUST) to claim an area/radius around said block.
Nata sorry. Closest Ive gotten is that Minecarts are Mounts with a behavior known as minecart. Which is where I think the speed data is.
I cannot find this behavior so I am still at a loss.
simpleclaims exists
Hey so I wanted to rent a server me and my friends can play on it all went smoothly except for when I join my friends can see me but I can't see them... anyone know how to fix this issue?
The mods I have seen use /commands and have no maintenance requirement or other PVP enabling featuress
Is there way to directly ask any hytale dev team a question?
do you read what ı can say
ı want to play online but ı dont know how tomstart. can you teach me
Outside of a qna probably not without hella effort
Does anyone know where the code for bench processing is? id like to make a modified version for my custom bench
I have meet limitation that in theory could be probably be fixed within 10-20 lines of code
This seems almost perfect. Thnx!
Maybe a bug report?
I can DM you what Ive got, Im using the UseBlockEvent.Pre
intenting to send feedback atm with java class attached as log file
I wish it had some pvp enabling mechanics. I would like to RUST-ify Hytale. Regardless, this is helpful for now. Thanks!
Hey peoples, does someone know how i can add custom block metadata/tab in a BlockType? I want to be able to add custom key/value pairs to block types for example:
IsEnergyBlock: True
EnergyCapacity: 200
EnergyUsageDuringProcessing: 3
does anybody have resources for creating a server instances instead of worlds?
can i borrow one person to help me test a plugin?
making pokemon in hytale as we speak
how we storing our players data?
probably wont be a thing immediately given quic is encrypted, but hope someone proves me wrong
Time for cobblemon 2
Im making a dungeon crawler, with raids procedual generated dungeons
I am working on creating a bare bones energy system / api. But i am still struggling with custom block data and block entities
😉
sure
The instances api should be available, I just havent skimmed it yet
sick man, sounds cool -- i'll send u details as well :)
ah in that case, just get claude to summarise it or something, that's what a lot of people have been doing
If no one has done anything in this area yet, can someone recommend docs or resources in this direction? Or classes? Because the BlockType class is hard coded and i did not see any way to add custom data and tabs to the block json
Are there any up to date starter guides on creating plugins/packs? I just spent several hours trying to follow one online that I found but it seems like there is either missing information or perhaps it's out of date? What did you guys use to get started?
Des Francais qui dévloppe ?
@aliicode on youtube. i have used these to get started, also the source code and code references/existing classes are your friend 🙂
Ouai, enfin on essaye
actually, you dont have to run over quic(there is an unencrypted tcp mode available, and you can run a proxy that translates that to quic, sort of similar to regular mc)
started with what existed on Curseforge, and then trial and error pretty much.
I have seen a lot of ai tutorials and wikis lol
Contact me if you want to add Skyblock(OneBlock) game mode to your server network! We have it done for multiplayer
Yep go dm
It seems like everyone uses intelliJ for this. Is that recommended over VScode?
hytalemodding dot dev seems alright, got me through at least compiling an example mod
intelliJ seems to be the standard for java
Anyone know how to stop mobs from spawning?
algum BR ?
can you not add descriptions to items using asset editor ?
I see that there is dashing animations inside of the assets is did they leave any systems for dashing in the game to use or we might have to build it?
in my experience you get way better gradle tooling. intellij uses jetbrains decompiler to give you intellisense and so much info, vscode does syntax highlighting at best
is there an optimal way to change a client ui page in runtime or do i need to rebuild the ui every time? For example i need a long text to appear a single character at a time. Is that something that is possible and can be optimised with the current ui system?
You can listen for the NPCEntity component getting added and then just call .remove on it which will delete the entity
IntelliJ's more laser-focused on java, I've heard mixed things about doing anything java related with vscode personally (as much as i like vscode)
All ui are on the server.
I recommend checking out TroubleDEV on YouTube
You can make a component watcher by extending a:
RefChangeSystem<EntityStore, NPCEntity>
And onComponentAdd just get the component back and remove the entity
I had to switch to VSCode because IntelliJ doesn't work well with dev containers
He is a bit difficult to follow but the best guide to follow
yee i know
Left VSCode for Zed. So much lighter and snappier 😄
do you get classpath indexing and intellisense?
@lean kelp how did you get the manifest to load into the project? Mine fails on startup cuz it can't find the manifest
Simplehomes brtoke.
it should be in the root of your mod jar
how do i detect when a player uses a particular item
I'm trying to run it with the gradle runServer and when I decompile the jar it isn't in there
So anyone has any infos on custom block data and block entity/chunk store? 👀
what?
Is there no default value for this?
template from redevcafe? or another template?
did u create a manifest.json file?
yeah I have a manifest.json
I don't think theres a peaceful mode, there might be, was that what you meant?
Kaupenjoe has the best template on his github imo
i'm using someone elses template i think
Wym
WSL with VSCode and gradle tools installed works great I find. Then just move the generated mod/plugin jars from wsl volume to your mod folder and good to go
What’s even nice about it is you can scaffold configs, SQLite and other things directly in the project for plugin storage and server related features. Yes they are wiped if you delete the server but recreated when the plugins initialize
idk, mine is polyvalent but is missing things probably
No, just if there's an easy config setting
when I try to do runServer it fails to load the mod because its missing the manifest
Uhh show me ur buildgradle or kts
Not to my knowledge
I mean, you could just use length prefixed arrays
plugins {
id("java")
id("com.gradleup.shadow") version "8.3.0"
id("app.ultradev.hytalegradle") version "1.5.0"
}
group = "pro.insideagent"
version = "1.0.0"
repositories {
mavenCentral()
}
dependencies {
val hytaleHome = "${System.getProperty("user.home")}/.var/app/com.hypixel.HytaleLauncher/data/Hytale/"
implementation(files("$hytaleHome/install/release/package/game/latest/Server/HytaleServer.jar"))
}
tasks.shadowJar {
archiveClassifier.set("")
}
hytale {
// (allows you to run `/op self` in-game)
allowOp.set(true)
// "release" or "pre-release"
patchline.set("release")
includeLocalMods.set(true)
}
is it archive classifier? do I need to set that to the manifest
For convenience you could copy the server jar over and not need to manage all those paths ^^
yea
use the cdn instead
then it doesnt auto-update with my client for each new patch 😉
Show me the error then
Did you find a solution, this has been happening for days for me
fix your system time(it cant even be a few minutes off ime)
I have a question so you have asset packs which add the blocks assets and stuff and plugins which make the assets do things and can make things functional? or am i wrong?
Failed to load pending plugin from 'mods/HytaleModTest-1.0.0.jar'. Failed to load manifest file!
how can i store my data? in json files or db?
Show the content of the archive
assets manager
Who wants a guide for IntelliJ IDEA how to make .ui files more readable?
I created custom file type and color scheme for it.
Wtf thats weird
If you want a new patch to auto update that’s good too but you may accidentally deprecate your own things in new releases if apis change so my thinking is build for the version of the Jar you want to build for and then replace/migrate when you have issues
Anyone know an "on player death" event or similar?
Do you have a manifest.json in your resources folder? Is it formatted properly?
It should bundle
you probably have an invalid manifest
What is he making a plugin?
the decompiled jar? or some log?
what i can't say de comp
Decompiled but first show the manifest that you have
{
"Group": "InsideAgent",
"Name": "HytaleTestMod",
"Version": "1.0.0",
"Authors": [
{
"Name": "Jacrispy"
}
],
"Main": "pro.insideagent.HytaleTestMod",
"ServerVersion": "*"
}
Make a class that extends
DeathSystems.OnDeathSystem
u need the compile line compileOnly(files("lib/.jar"))
My template system does
Set the Query to return PlayerRef.getComponent() for player death detection, override the onComponentAdded method
Yeah see if the jar contains the manifest
Oh you changed it
That makes sense, you did because using linux
i didn't copy paste the template, i implemented it myself, and just muscle memory for imports
fair lol
guys how can i store my data?
Yeah but i mean, is a autotemplate
CDN is here: artifacts yakovliam com/HytaleServer jar
Did u followed the readme, it does all for you
You need to be more specific
like player xps, auc items, shop items, etc.
Alright boys. Im trying to place a water block with a command /w for example. Well a block is spawning but it's not transparent, it doesn't flow and it doesn't have the properties of water. But it's definitely the water block (but different lol) and it also has the water effects when removed or otherwise. Does anyone know what could be causing this?
Hey anyone know when a player is cuting trees is getting disconected why is happening this?
all of those are already built in you just need to call them
wdym?
Oh, you can put a custom component on the player that holds whatever data you need
Whoah....
This must be the issue.. Fun find.
I'm EST.... My Linux server is in GMT time, 5 hours ahead of me.
However my docker container on my linux machine is running in Europe/Amsterdam Time... which is 6 hours ahead of me.....
Hytale has a ecs system just grab the components for the entiity e.g (player) those hold the data
lol
how? json files? db?
I am not sure but its not a json file more like a class
what if when i restart server? is this data still working same?
Store class?
Yes it will
Yes it gets serialized if it has a codec
what is codec?
key word being if it has a codec though
How much RAM do your Hytale servers use?
(Mine uses ONLY 17.5 GiB)
$ docker exec -it hytale-lobby date
Sun Jan 18 01:31:03 AM CET 2026$ date
Sun Jan 18 00:31:05 GMT 2026$ TZ=America/New_York date
Sat Jan 17 19:31:10 EST 2026
The serializer/deserializer
"only" 🤡
Ive only seen a few components that don't properly contain all their data in their codecs
Most of them are fully serialized
So when i want to store data i need to use Store class with codec right?
No if you want to custom store data on an entity, make a custom component
Did anyone figure out how to get damage dealer from DamageEventSystem?
damage.getSource
Then source.getRef
Will try brb
I wanted to host two Hytale servers (one for friends, one public), but I only have 64 GB of RAM on the server, so that idea is on hold untill I upgrade to 128 GB
i still dont get it sorry do you have an example?
I THINK (i think) you have memory leak issues
my test server for where i test my plugins uses 24gbs
but not sure abt that
anyone here figure out how state changes work like with the water bucket?
Somebody wants a guide for beatiful .ui files?
I can't really send you a complete example
Are you hosting it in your HomeLab, or on a hosting service / VPS?
im only using 6gb for me and my friends :kannastare:
me too. What are the server specs?
But its like
public class YourComponent implements Component<EntityStore>
And you put whatever fields you want inside, then you make a codec like
public static final BuilderCodec<YourComponent> CODEC;
And register the codec in your static block like
static {
CODEC = (BuilderCodec.builder(YourComponent .class, YourComponent ::new)
.appendInherited(new KeyedCodec("MySerializedField", Codec.STRING), (e, s) -> {
e.myString = s;
}, (e) -> {
return e.myString;
}, (e, p) -> {
e.myString= p.myString;
}).documentation("Serialized string").add()).build();
}
Source dmg = damage.getSource();
dmg.getRef()
Like that?
dmg has no getRef for me
Or did I misunderstand something
You need to ensure its a Damage.EntitySource sorry, then you can cast it
sounds so much like one of those scam/hacker messages lol
yeah i did this for my holograms plugin for animations originally and then just went back to using UUIDs 😭
You're supposed to use components for data storage on entities
Its just alot of boiler but not too bad at all
if (damage.getSource() instanceof Damage.EntitySource source) {
Player playerComponent = source.getRef().isValid() ? commandBuffer.getComponent(source.getRef(), Player.getComponentType()) : null;
if (playerComponent != null) {
// IM A PLAYER!
}
}
Oh holy formatting
What's the difference between an NPC and a entity?
Because there's a config field for making npc's not spawn. But it seems that entities still do
NPC is just a sub to an entity where it'll be able to have a brain and move like a living entity
NPC = entity
entity != NPC
i have a server with Xeon E5-2680v4 and 64GB of RAM (Non-ECC). And you?
so an npc is an entitiy that has AI? Where is the AI stored or how to create your own?
tbh not too sure, i never went into detail on it
Des dev francais ?
What?
Holy **** it works
Been trying to figure this out all day
Thank you man
Anyone having trouble forcing blocks to tick?
Block update?
Yeah neighboring blocks aren't updating after I remove the block on my position, so I get stuff like floating water
none of the ticking functions are doing anything atm, unless I have to schedule a tick event at Instant.MIN
hola
@civic zephyr just like with creating a new component can we make a new system?
cuando hay parche
so I’m trying to get the current hour for something but it doesn’t seem to be working could anyone help?
Can someone help me? The game won't open.
chunkAccessor.performBlockUpdate(blockX, blockY, blockZ);
actually I’ll just make my own clock thingy
You can get a chunk accessor with
LocalCachedChunkAccessor chunkAccessor = LocalCachedChunkAccessor.atWorldCoords(world, x, z, radius);
You're goated
Not entirely sure what the radius param is
guys, can anyone point me to a complete beginner's mod documentation? did hytale dev team publish one or said they will in the future?
perform block update worked just fine, still learning all of the terms here lol, cobble gens w/ pistons are working now :>
Did you already have a ChunkAccessor?
I wish
Is there a way to draw a GUI over the inventory? I want to add a button to the inventory.
do it in java
it was only working if a nearby update happened, no I wasn't using chunk accessor, I'm caching the chunks I'm manipulating in one go, works fine
I see
frickin worldtimesomethingsomethingsomething obj = new worldtimeugetthepoint();
public final int Ptime = obj.getCurrentHour();
isn’t flipping working 😭
help me
What are you trying to do
Yes
I'm running into constant "Took too long", my server machine is lagging a lot and cant support more than 2 players in different places
im not sure how to reconcile this issue
friggin*
get the current in game hour and run it through the test command of the template I’m using but it always prints 0 (in chat)
How do I get a world to not be broken just like the forgotten temple? So that a build and everything about it stays
yo guys
reduce draw distance on server
does anyone know who to implement Tab completion on my commands using java? Is this a built in system for this or it should be created
Does
LocalDateTime worldTime = store.getResource(WorldTimeResource.getResourceType()).getGameDateTime();
Not provide you with a sufficient hour?
hey, which server site do u think is the best for hosting a server?
Theres a getHour method here
the issue is I want to mostly write it myself
whats the best plugin to let others query player data for my server?
kamatera has 1 month free vps. im using ubuntu server from them
Guys, how u can switch world like in the forgotten temple ?
How do I get a world to not be broken just like the forgotten temple? So that a build and everything about it stays
Im not sure what you mean by "Write it yourself" thats how you get the world time resource
i belive that the hytale devs endorse bisect, which bisect is decent.
How else are you planning on getting the world time? Thats just the way to do it
Is there not another way?
Maybe? Why does it matter? Are you doing a challenge?
kinda
does anyone know who to implement Tab completion on my commands using java? Is this a built in system for this or it should be created
Thats how the bed does it to get the proper time in chat
What is the method for switchin a player to another world ?
That seems like a clientside thing that you wouldn't be able to change
have you found a solution?
How do I get a world to not be broken just like the forgotten temple? So that a build and everything about it stays
Hi, I have a question: how can I get the PlayerRef from a Player without using player.getPlayerRef() since it's marked as deprecated?
would you mind to share that debuging lines plugin or code piece? 😔
var ref = player.getReference();
var store = ref.getStore();
var playerRef = store.getComponent(ref, PlayerRef.getComponentType());
not in brasil
are pistons hammers?
thx
You have the same profile picture as the mixin goat
what about the ultimate
player.getReference().getStore().getComponent(player.getReference(), PlayerRef.getComponentType());
They're the same
i know, but one looks dramatically funnier than the other
I made this pfp
hi guys. how can i disable element using uiCommandBuilder.set()
I need to disable the checkbox somehow.
Oh yes I suppose it does
I guess im misremembering the other one
any good beginner guide / documentation / plugin template out there?
Do you know how to teleport from another world please ? I create a world with
universe.addWorld("test");
and I want my player to go in that test world
I mean it is a drawing of that one llama with a scarf
github com/yakovliam/bazel-hytale-plugin-pipeline
meme lore
Every time I compile my plugin, I have to shut down the server, delete the old version in the mods folder, and paste the new one. Is there a better way to develop it?
i made a batch file that automates this, but not really
isnt /plugin reload a thing
Youtube video that goes along with it:
youtube com/watch?v=nsVzZOUxRTM
not on windows - broken
what
WIndows has some options There's a premade plugin environment on curseforge's website, not sure how good it is
ive been using it on windows just fine
Hello, I am running a Hytale Beta server. Is it possible to enable 'GameSpy4' or 'Minecraft Query' protocol so I can track player count? enable-query=true is missing from my config? So my bot's description should state the number of players on the server.
doesnt work for me. corrupts my plugin if I replace it while servers running and try plugin reload
Just run a tiny web server on another port TCP and query that
any api documentation out there?
What's the point of having this command if there's no way to replace the plugin file while the server is running?
Theres something wrong with it
Do you perhaps know how I would check if the damage cause is from an arrow or sword? 😄
ive been just disabling my plugin, pasting it, and then re-enabling it
The source would probably be a Projectile component
leme try
I made a bash that updates the mod and restart the server in every ctrl c
#!/bin/bash
SERVER_VERSION="$(./hytale-downloader -print-version)"
echo "Latest version: $SERVER_VERSION"
if [ ! -f $SERVER_VERSION.zip ]; then
echo "New Hytale server version avaiable, downloading."
./hytale-downloader
unzip -o $SERVER_VERSION.zip
unzip -o Assets.zip -d HytaleAssets
fi
echo "Starting hytale server."
while [[ true ]]; do
echo "Grabing custom plugins..."
cp -r ~/IdeaProjects/skywars/build/libs/*.jar ./mods
java -Xms4G -Xmx16G -jar Server/HytaleServer.jar --assets HytaleAssets --backup --backup-dir ServerBackups
echo "Server crashed, restarting in 5 seconds."
sleep 5
done
Hi ! Wher is the API for dev a Hytale plugin ?
change skywars with your plugin name
Has anyone tried opening an inventory with a custom UI, it seems like you can only get one or the other
how do i access the API?
welp, got past the world loading finish packet, now to deal with the other stuff:
2026-01-17 17:52:38.6429|INFO|HytaleClient.Networking.PacketHandler|Stage SettingUp -> Playing took 57ms
2026-01-17 17:52:38.6429|WARN|HytaleClient.Application.AppMainMenu|Missing block texture: BlockTextures/Unknown.png
HytaleClient.Networking.PacketHandler|Block overlay texture not found: Unknown Asset () (hash: ) System.Exception: Failed to load image from asset: ''
---> System.Exception: Failed to find asset with hash
Theres a Damage.ProjectileSource you can check for instead
Since I am hosting on Apex Hosting (Shared Environment), I cannot run standalone external scripts (like Python or Node.js) alongside the game server process.
Does your solution work as an in-game Mod/Plugin for the Hytale server that exposes this TCP/HTTP port? If so, which specific Mod/Plugin should I install, and will I be able to open an additional port on Apex to make it accessible from outside?
Is listening for packages the only way to determine when players are pressing certain skills?
So, to summarize... Does the server need to be restarted every time?
yes, reload doesn't seem to be working properly rn
Yes, the plugin starts a crude HTTP server with a known TCP port, I used 8005. No mod, you have to code it yourself
you also nee to reauth if you got that set up, so it's kinda annoying
Does anyone know why player is null? playerRef is valid.
PlayerRef playerRef = hud.getPlayerRef();
if (playerRef == null || !playerRef.isValid()) {
return;
}
Ref<EntityStore> ref = playerRef.getReference();
if (ref == null || !ref.isValid()) {
return;
}
Store<EntityStore> store = ref.getStore();
Player player = store.getComponent(ref, Player.getComponentType());
if (player != null) {```
Do you know how to teleport from another world please ? I create a world with
universe.addWorld("test");
and I want my player to go in that test world
Is there a component to check if player is awake?
tbh, you could implement the mc query protocol if you got that far(the mc protocol is super simple for querys)
Yes, I just don't want to do the work
its waay easier than a http server imo
Have you got a body
What do you mean?
if(damage.getSource() instanceof Damage.ProjectileSource)
Does not seem to work
I used java-http super super easy
Im not sure what context thats under, you should have a Player component unless you're for some reason a ghost person with no associated entity
show more code
I need to run a small query plugin for my server status. Can you please open an additional TCP port (like 8005 or any other random port) for my server instance? My status bot needs to connect to it via HTTP.
Is there a list of Components that I can use?
Right now Hytale does not have a query feature implemented. I did find this:
hypixel.hytale.protocol.packets.auth.Status
the packet is unused.
To implement this feature, one would need to modify InitialPacketHandler.java to accept a new packet ID (e.g., ID 10), and reply with the Status packet containing Universe.get().getPlayerCount().
Yeah, it's strange that the playerRef is valid, but it can't get the Player Comopnent
What part doesn't work?
I think it has a query protocol, but its super weird, and requires you to auth before querying
Hmm I may be wrong, then
Ah yeah, when I hit an entity with either sword or bow (arrow) it just skips the if basically
idk, I remember seeing something about it when I was implementing the protocol
I think the classes/protocl is there, but I don't see any implementation code
it mightve been something else then
Like it's reserved to be used later in an update? maybe
yeah the client might not implement it, but the server does
Yes yes
Is there a list of Components that I can use? I am kinda lost
Are we all talking about the same problem or not?
Apex won't let you do that IMO. they need to update their software to allow for opening a port
component type?
yes
any api i can use or nah?
damage.getSource() is
[01:23:52][2026/01/18 01:23:52 INFO] [Hytale] com.hypixel.hytale.server.core.modules.entity.damage.Damage$EntitySource@66b2524
for me
Do you know if Hytale devs plan to add a standard Server Query protocol (like Minecraft's) in future updates? Or is this feature low priority for now?
Look for any class that implements comm.hypixel.hytale.component.Component interface
i've just joined just to ask this question
are there any official API/protocol thatr we could retrieve the server info? player count etc
I believe yes, there is a plan. the protocol exists
Does OptionalArg work? when i try to use it it just says that there are no required args and errors out
no idea
Im trying to check myself but for some reason I cannot fire any bows
im trying to make my own plugins but without an api its hard
so I have up on trying my way to I tried this but it appears if store isn’t defined
lmao
Try another arrow type I think I had this issue myself
Yes, it's like reverse engineering. we're all doing it!
You need a store, you haven't got one?
h
hello everyone, ive been trying to connect to my friends server for about an hour now, but i keep getting the following error: failed to connect to server. failed to connect to any available address. the host might be offline or behind a strict firewall, any solutions to this?? thanks !!
If the protocol exists, is there a simple enable flag in some hidden config file I missed? Or is it hard-coded to off currently?
no I don’t
there's no code that implements the functionality at the moment. the protocol is defined though. the developers will have to add it
yeah, looks like its the status packet
What context are you operating under?
Status packet has:
@Nullable
public String name;
@Nullable
public String motd;
public int playerCount;
public int maxPlayers;
someone just needs to create an API xD
documentation?
that or an api to call to
Just read the server source and youll be good
uhm
The api exists, it's just the source code @leaden seal
where at?
Have you got a world atleast?
we have an api to call to already? hytale has the underlying one
yes
Physics & Movement: TransformComponent, Velocity, PhysicsValues, BoundingBox, MovementStatesComponent, MovementManager, KnockbackComponent.
Identity & State: UUIDComponent, NetworkId, Nameplate, DisplayNameComponent, PlayerSkinComponent, Frozen.
Rendering & Visuals: ModelComponent, PersistentModel, EntityScaleComponent, DynamicLight, PersistentDynamicLight, ActiveAnimationComponent.
Gameplay Logic: Health (via EntityStatMap), Interactable, Invulnerable, Intangible, RespondToHit, DamageDataComponent.
Player Specific: Player, PlayerInput, PlayerSettings, CameraManager.
World Management: FromPrefab, FromWorldGen, WorldGenId, DespawnComponent.
don't clog the modding server please, ping me in https://discord.com/channels/523059903812599811/551337292833357824 and I'll try to help
can you link me to server src
You can find it in appdata/hytale
var store = world.getEntityStore().getStore();
Do you have any rough estimate when the next big update (with query support) might drop? Or is it totally unknown?
Google "Java decompilation" did it for you
download the game and decomp it
I do not work for hypixel inc, I don't know
im so sorry i didnt realise this is a modding channel, thanks !!
it is probably the most trivial language to decompile
👍 ok
I used jd-gui to look, and jadx to decompile to a folder, and index that
yupp
FernFlower is best atm, built into intelliJ
or just pull straight from jd-gui or just fernflower it
Thanks for the clarification!!!
fern+sourcegraph :)
personally I used vineflower, cause it doesnt need intellij
tysm
have an idea for a mod where would i put it?
super excited guys... there's so much flexbility. You can pretty much make any game you want
i will :D
excited for how this channel will look a year from now
at the protocol level its kind of crazy(im stuck reimplementing so much stuff lol)
im debating on making some minigames but idk if i wanna go host one or just open src the stuff for others to use
I haven't used sourcegraph. Looks super awesome
when i create hytale server on my vps, the server lagging a lot, is it normal guys?
Search for the HytaleServer.jar
same issue here. I am focused on oss tools for the community right now, then maybe games later
artifacts yakovliam com/HytaleServer jar
yeah i made my one useful contribution with hylograms and now its time to make some games lmao
Hi, I’m using LuckPerms + Hytale Essentials.
Before installing LuckPerms, chat prefixes like [Admin] were visible and colored automatically (OP-based).
After installing LuckPerms, no prefix is shown at all until I manually add it via config.
When I do add the prefix, it shows up but color codes (&a, &c, etc.) are NOT parsed — the prefix is always plain/white.
How can I allow LuckPerms prefixes/meta to use color codes in chat?
Is there a specific permission, config option, or chat integration required for colored prefixes?
best code index/search I've used, good for "messy" code bases from decomp or whatever
Am I the only one to have used cfr?
I wonder how much easier it would be if I could do the decompiling thing without it crashing 🤔
what is crashing?
what decompiler did you use?
There are some classes that fail because the decompiler can't figure out the Java code that produces that bytecode. not much you can do about that.
would anyone be able to help me with an error im getting when starting a server?
im creating an anarchy core for all anarchy servers to use :D
what ones? I havent come across any yet
yeah, just guess and hope LMAO
this isn't for server help
where can i get server help then
Is there a component for when a player is sleeping?
#game-discussion? idk. not here
They're there... just gotta peek around. A lot of the math heavy classes
ah, I have been doing the network stuff, those decompiled fine ime
That's great actually... glad we can see the networking stuff fine
@fleet sphinx u wanna see my amazing contribution
Sure
lemme dm u it
No vineflower?
thats what I used
I used that too and my decomp is pretty much entirely complete
Pro tip if you want to find stuff quick, convert the HytaleServer jar into a directory, use repomix to turn it into one huge text file, and upload it to Gemini (LLM with the largest context window), then you can ask about it like it's a PDF
thats what i did
wtv the thing on intellij
i am having the same problems
that sounds useful, ty
Nice, are you getting good results with Gemini?
would that be before decompilation?
Decompile the jar into a series of directories and java files
Yes great results. It's too big for the context window, but not by much. It indexes most of the code
Anyone know how to get player ref from a player joining the server?
Happy to know ^^
Hi, I'm here to recommend a new mod-plugin. It's a class. This means that at the start, you'd have to choose your class: warrior, archer, mage, or assassin. It would add new armor sets for mages, archers, and assassins. Once you choose a class, you wouldn't be able to use weapons from any other class.
l
so like when trying to join a server and not being able to connect is it due to NAT type or what is going on
claude code would read the code base in less tokens/context but you need pro or max plan
im tried of not being able to join dog
Btw would you know by chance how to add logic to a new asset?
import com.hypixel.hytale.server.core.Constants;
public void checkMode() {
if (Constants.SINGLEPLAYER) {
System.out.println("The server is running in Singleplayer mode.");
} else {
System.out.println("The server is running in Multiplayer mode.");
}
}
same lol
Does any one know like how to fix not being able to join a server? is it a Network issue or anything? i need he,lp someone help me please i beg
has anyone tried using the structural crafting built in? any idea how it's implemented?
Servers Down????
Does anyone know what the difference is between EcsEvent and IEvent. Some events seem to be extensions of EcsEvent while others of IEvent
have you opened port 5520 udp
Does anyone know which packet manages and cancels the installation of blocks?
I have no opend port 5520 udp is that needed? and is that through my ISP or can i open through powershell
Lf an scripter for a really cool open world Solo Leveling Project
I hate the UI system
Why is that?
Do you mean decompile the JAR file? Isn't it too big for repomix?
real, it does not need to be that complex
they have 3 UI systems and are consolidating on one of them. As per one of the blog posts
Does anyone know how to remove a custom hud? Both resetHud() and setCustomHud(playerRef, null) crashes the player
Yes, and it's not too big at all. Just get the cli tool from homebrew or whatever
guys, are there any doc i can follow to build an plugin?
github com/yakovliam/bazel-hytale-plugin-pipeline
AIght, I'll give it a try. Thanks mate!
yes
The listeners are registered and made differently
well I dont know what the difference is but I found a list of which is which
this arrow damage cause seems to also be very tricky
I'm trying to retrieve the X NPCs closest to my player, but I don't know which method to use. I looked into queries, but it seems they're only useful for filtering based on archetype. Do you have any ideas ?
how can i make keep inventory? per config
need help pls
Where can I grab player ref thats not deprecated?
Yea based on my looking it looks like EcsEvent is for events that are triggered in the world by entities, such as use blocks, damaging. While IEvent is for server triggered events, such as player joining, world loading, etc. Since registering EcsEvents requires setting up a system to get data from the world
Yep
Well not necessarily separated by that reasoning
Some of the regular IEvents are a player doing something or an entity doing something so im pretty sure its just an unfinished system
Yea probably, just a little confusing having two different event systems
is there any way of giving intelligence to the deployable turrets? I am trying to make the crossbow one useable and not just turret myself
Hi guys, Im trying to play but I cant... "Multiplayer Unavailable. Connecting to Hytales servers, try again in a moment"
can u bind custom keybinds with plugins?
I'm having this same issue where my friends don't have high ping but for me it's 35000+ for some reason
Universe.get().removeWorld(testWorld); do not delete the world in : AppData\Roaming\Hytale\UserData\Saves\TestPlugins\universe\worlds ?? 🙁
how do I create sub commands
I cant join servers
There a reason your raping the discord with your server link?
Facking idiot posted 16 times and all 16 times it was to spam his server

skill issue
every plugin i find uses command to open. so i guess there is no way around it?
i want fcking keybinds :((((
mine doesn't
how?
look up color chat in curse forge thats mine, u can decompile my code
its in ColorChat.java
how do you get a ref from having player? is there a way thats not deprecated ?
so u actually open ui by a key?
shoot i thought u meant not having to use a command for the plugin nvm, my bad
🙁
var ref = player.getReference();
var store = ref.getStore();
var playerRef = store.getComponent(ref, PlayerRef.getComponentType());
thanks alot
Little upsetting it's not even a week yet and I don't have a full port of GregTech yet
Isn't Player::getReference deprecated?
You're thinking of Player#getPlayerRef
🙇♂️
Anyone experience crashing when adding a new crafting recipe to a workbench
getting an out of bounds error, Im probably missing something
funny story. i figured out how to get my server computer working after messing with it for like 4-5 hours.
Then my headset died.
Is it possible to check if an item is interacted with?
Has anyone run into an issue with World spawn .json files saying that the XYZ does not exist as a role!
so no server yet where i can earn nfts by playing? sad 🙃
the real nfts are the friends we make along the way 🙏
i only play games to earn $5 per win
did u figure sth out? 😄
Is there anyway to make it so you dont have to do --target= with an OptionalArg
Yes I looked into it, I don't think the game properly fires events that specify the projectile as the damage source
Just the shooter
In creative mod ?
someone with high RAM usage in server after the hytale update?
Adventure and creative
that is unfortunate
maybe I can find some janky workaround like seeing what item the player is holding lol
no, no one wants
Or any other argument that i can use thats not RequiredArg for the second arg without having to do --target=
If you can't shot arrow it's because you need to have only crude arrow in your inventory
Is it possible to cancel interaction events? Like to cancle that the player can "interact"/ pick up a flower?
@orchid hull please ban this bot 🙏
Oh, yes ive already figured that bit out, I just mean damage events now
Have you tried cancelling UseBlockEvent.Pre ?
Oh sorry
Not sure why there no easy moderator ping option lol, discord feels a bit lawless
Yeah just delete the world and player folders in the universe folder
I've tried reducing down to 12 view distance on the server but we still get kicked out n it lags when two players are at diff places
yeah just go in and delete the default folder in worlds
Is there somewhere I can find a dev to help me make a server?
Anyone know the answer to this?
gather like 10 grand first then we can talk lol
10grand? Easy
hey guys, i made a gradle plugin to make hytale plugin setup a lil easier, check it out maybe, it's on my github wired-tomato/hygradle (honestly I'd like some feedback but thats a lil too much of an ask)
anyone have an example of spawning an entity by name? (i.e a Rabbit)
Yo do you know anthing about args? i just need a simple question answered but nobody is answering me
which ones?
Is there anyway to make it so you dont have to do --target= with an OptionalArg
Does any one get an idea of getting a empty world?
Can anyone help me figure out why my world crashed, when in the asset editor? And now won’t let me join?
hmm yea im sure Ive tried it earlier the day but let me give it another try, will let you know. Really appreciate your reply!
or any arg thats not required that i can use without doing --target=
Command args btw
Does anyone know how to dump the Hytale textures in the asset editor?
Have you looked into subcommands?
no im actually not sure what you're talking about
Hey all, has anyone figured out if there's an event for a block breaking from lack of support? e.g. dirt breaks which was holding a sign, so the sign breaks too
addSubCommand in the constructor of another command thats of another command and it'll continue as if it was another command
Need a way to properly prevent these cases (and hopefully not with my own logic)
sorry, I'm not sure what you're asking, you can use the #defaultsTo function in JOpt and i don't think you'll need to specify --target= ?
hi gang
public ExampleCommand() {
super("is", "Skyblock island commands: create, home, invite, accept, leave");
// Positional first argument, defaults to "home" if missing
this.actionArg = this.withRequiredArg("action", "create/home/invite/accept/leave", ArgTypes.STRING);
// Positional second argument (target player), optional
this.targetArg = this.withOptionalArg("target", "target player for invite", ArgTypes.STRING);
}```
Ohh and @civic zephyr do you happen to have an approach for this as well 🥹 ? #server-plugins-read-only message
The second arg is only for /is invite but it requires /is invite --target=Name
anyone know the console wording for the adamantite armor and weapons? like weapon_sword_steel_rusty for example
Not sure I haven't messed with liquid
You probably should use subcommands for this
Alright oke doke, thank you. Have a good one and take care
can you point me in a direction to get me started, i have no idea what you mean by subcommands tbh
like the api for subcommands or something
Subcommands are regular commands with a smaller scope, so
Invite is one subcommand with a required string arg
Create is one subcommand with a required string arg
Leave is another subcommand with no args
They're just separate commands, as if you ran a command like "invite" but you didn't
oh
They're regular commands added with addSubCommand in the constructor
well if i wanted to do that id have just done /coop
Subcommands aren't triggered by just putting them in chat they have to be prefixed by their parent command
but ive seen other plugins that make it work somehow so ik its possible
/party invite player
Would work but
/invite player
Would not
Is it possible to add a block to wordgen so it can generate under caves, for example?
Would it be hard?
Even though internally its just a command called invite with one arg for player
well yeah obv, but how do i make /is create and /is invite name work
The same way you would make a command just called invite with one required param for the name
Subcommands are not a special class they're a regular command class
so just make a new command
is there a subcommand class?
I just want to announce that ive created the first scoreboard for Hytale and will be releasing it to the public, it has all of featherboard features from minecraft
If I asked you to make a command named invite with one required argument how would you make it
Love you all <3
id just make a whole new command
Thats right
I JUST PAID 1K FOR GUY DEV MY SERVER BUT HE SCAM ME ? CAN REFUND ? HOW PLZ HELP .
Make exactly what Ive just asked you to make, but instead of registering it like a command, the only thing you do is put it in your main commands constructor, with addSubCommand(new TheInviteCommand())
public ScoreboardHud(@NonNullDecl PlayerRef playerRef, String playerName) {
super(playerRef);
}
protected void build(@NonNullDecl UICommandBuilder ui) {
ui.append("Pages/Scoreboard.ui");
}
public void refresh(ScoreboardView view) {
if (view != null) {
UICommandBuilder builder = new UICommandBuilder();
builder.set("#ScoreboardTitle.Text", view.title());
List<String> lines = view.lines();
for(int i = 0; i < 12; ++i) {
String labelId = "#Line" + (i + 1);
if (i < lines.size()) {
builder.set(labelId + ".Text", (String)lines.get(i));
} else {
builder.set(labelId + ".Text", "");
}
}
this.update(false, builder);
}
}
}```
What i got so far
okay im catching on now, im a lil slow sometimes lmao
ahah i'm working on the same thing rn
how to create a new component and register it to an entitiy
Im almost done
hytale is peak asf
Is anyone using Scala and could share me their setup? Ive been trying for quite some time to get scala to work, but either it cant build the jar (using gradle) or there are classpath issues when running the server in IntelliJ (the server reads multiple manifest.json, which I suppose the scala plugin duplicates in the build folder).
you wouldn't happen to know if I can have a multi-colored line right
anyone know where I can find a custom UI template??
Looking for developer for creating plugins and map builder, i know its still early stage for the api. Looking also for staff team with experience with hytale. SMP + SB + SkyPvp games. Msg me
Y'all.. the server technology on this game is AMAZING. I cannot begin to describe how powerful it is.. MODDING IS AMAZING. EVERYTHING IS CHANGEABLE.
try builtbybit ig
No it isn't
You can't change everything on the server, alot of stuff has no entrypoints
Can we chat privately?
You install a mod onto your server/world, ur friends can just join u and its there
Yes, thats true
that still doesn't mean you can change everything 🤣
I think you misunderstand me, maybe you're in the wrong chat
well true, a lot is customizable, not everything
You can change a lot, but not everything
Is there a way to modify player skins in the game?
Has anyone tried replacing PlayerSkinComponent?
Any developers looking to make minigames under a server? we have a few devs already working on the big project
one thing u can do is make a custom model and transform into it
But recently they fixed the issue where some plugins like the memories system crashed the game if disabled, so they are moving step by step to make it more and more changeable
Thats how you do it, just change the PlayerSkin in there and mark it as out of date
is there any shader mod avalible if so where can i go them??
hytale doesnt support shaders, now or ever afaik.. only textures can be changed
no client side mods
hytale already beautiful what do you need shaders for 
1000$ lmao
They are looking into adding a way to change shaders server side
@civic zephyr how to create a new component and register it to an entity
Just keep in mind the constructor for the PlayerSkin is ridiculous
Okay, let me try.
I'm trying to implement a server-side custom skin system to provide more diverse player appearances than the official one.
hey man sorry this took me a minute, i think this is what ur looking for earlier
public class TestCommand extends CommandBase {
private final OptionalArg<String> optionalArg;
public TestCommand() {
super("test", "test command");
optionalArg = withOptionalArg("target", "target", ArgTypes.STRING);
}
@Override
protected void executeSync(@NonNullDecl CommandContext commandContext) {
var target = commandContext.provided(optionalArg) ? optionalArg.get(commandContext) : "nothing provided";
commandContext.sendMessage(Message.raw(target));
}
}
Has anyone found a good in-depth guide on how to create crafting recipes?
Thats not gonna work unless you add new assets
The stuff thats in PlayerSkin just contains the names of the cosmetics equipped by the player
Yeah I will add assets
Not the model or significant changes or anything
Violet's Wardrobe mod have custom clothing and stuff that u install onto ur servers but players will have to get em in-game
And I'm considering having the server run a front-end page that, after authenticating the player's identity, allows them to upload their own skin texture.
Thats not gonna work, the client can't download textures to apply them to a model like that
is there a way i can get the map on my screen so i can see wthout pressing M to open it like on the side
how to fix player rotation xd? i would like to share a picture but everything is blacklisted
You would have to finangle the asset system to dynamically make a model asset at runtime for a player and send it as if it were part of the pack (Which I don't think the player accepts files for after they've already connected)
that's a bit weird for me, adding textures via the server
imgur,com/a/obT8oVm please someone check that xD
Anyone know how to tp between worlds? Clearly we can /world add but cant get between the worlds or am i missing something lol
ah. Hm
Wait, I thought server assets were hot-reloaded, at least that's how it runs on the local server.
is there a way i can get the map on my screen so i can see wthout pressing M to open it like on the side
just use different world in Teleport
Yeah there might be some packet to reload them, you'd still have to dynamically make the asset to send over
public static void teleportPlayer(Player player, World world, int x, int y, int z, float yaw, float pitch) {
if (world == null) return;
world.execute(() -> {
if (player.getReference() == null) return;
Store<EntityStore> store = player.getReference().getStore();
Teleport teleport = new Teleport(world, new Vector3d(x,y,z), new Vector3f(yaw, pitch));
store.addComponent(player.getReference(), Teleport.getComponentType(), teleport);
});
}
Which would be in its entirety as I don't think you would just be able to send a png or anything, you'd have to remake the full model json with its own UVs and textures and such
But it could work maybe
I think assets load in on player join for multiplayer hense the loading asset screen
I mean, I ran a server locally, then I connected to the server through the Hytale client, opened the asset editor to make modifications, and then these modifications were applied in real time. Isn't that a form of hot reloading?
There is some feature where it re-sends the assets to you locally if they were changed by the asset editor
is there a way i can get the map on my screen so i can see wthout pressing M to open it like on the side
You can't send any file though, just ones that would be valid loads in the assetpack
Atleast I don't think you can, otherwise you could just put a bunch of junk in the jar and it would download for everyone else
Does anyone know how to add items to player inventory? every documentation I see says
inventory.addItemStack(item);```
but addItemStack is not valid
how do i disable fall damage through code? need it through code and i have pvp enabled in the gamemode not the lobby
I added texture files in real-time in the mod's assets folder, and then these files appeared in real-time in the asset editor.
Thats different from the game sending them to you loose, the asset editor shows files that are in its directories
Maybe it does send loose files over the network but that would be pretty bad
I think you need to get the container first.
I don't think it does, just ones that can be loaded by the assetpack
how to I get user data (like username and uuid) in command context
that would make sense wouldnt it
thanks
I don't know, I'll just continue doing more experiments
im trying to join my friend via code and it lets me join but it says failed to connect after 2/2 loaded
im trying to join my friend via code and it lets me join but it says failed to connect after 2/2 loaded it says he might be protected by some firewall, or that he's offline, how the hell do I join I bought this game to play with him
There's a few different ones btw, I guess you want the hotbar or storage one
Yes hot bar, thanks so much. Im knew to this so im slow xD
Everyone's new and 99.999% of all documentation online is AI generated which means about 5% is true.
I recommend that you decompile the server jar and index it, either via IntelIJ or something like Github (keep it private though).
might be why im having so much trouble xD
ill look into it, thanks
does anyone know the fix to "No world available to join" it was completely fine before updating it to the current update (server)
I had to create a new server and transfer my files over to get it working. Not even new worlds would work for me
that really sucks dang
Any developers looking to make minigames under a server? we have a few devs already working on the big project
send me a direct messagae
What kind of minigames?
SMP, kit pvp, skyblocks etc we have big plans
In what world is SMP and Skyblock a minigame 😭
Hey, does anyone know if its possible to disable other systems? or maybe have priority over them
i really wish there wasn't so much AI generated stuff in the hytale plugin sphere atm
well smp is really simple to make, pretty much already done, pvp i started yesterday, we keeping it simple at first
Same, I genuinely hate it. AI is genuinely only good for writing boilerplate code and ditching school work lmao...
Ah, generally minigames are short-lived games such as Skywars, I think you should refer to the games as low-effort or small gamemodes.
🤷♂️
anyone know a way i can get mods onto my nitrado server
the AI thumbnails are annoying imo i would rather see some programmer art done in paint in under a minute then some AI generated thumbnail that looks like garbage and doesn't even showcase what the plugin does
True, I feel like if you use any art that's blatantly AI generated then your code/mod is most likely also 99.9% AI generated resulting in stuff like poor performance.
looking for a community of builders
I am not using any mods that have AI generated pictures or pages, not because I despise AI (even though I do sometimes) but because it genuinely makes your game unstable.
And it already is unstable 😭
In the development practice of the paper plugin, I extensively use AI to generate code.
AI has helped me solve many complex professional problems such as asynchronous pathfinding across large amounts of Chunks.
I know that if I were to write it myself, the result would inevitably be worse.
does anyone have a server i can join
this issue has been fix with the newest wings version. Just update wings to v1.12.1 (current latest).
@civic zephyr if i make a component how to register it so that its usable or its supposed to be automatically?
I think that's fair aslong as you try to understand the code yourself. AI is good at creating prototypes, but it fails to understand projects at a bigger scale which causes hallucations which inevitably make your code worse.
it also makes me question the stability because if there's no good documentation in the first place for hytale what is the AI even using as material to learn to make a hytale plugin?
getEntityStoreRegistry().registerComponent(YourComponent.class, "YourComponent", YourComponent.CODEC);
The decompiled source of the Hytale server jar.
Make sure you store the result of this call somewhere as its what you use for the getComponentType in the other methods
honestly, AI is really good at getting me to start working on something, but I always find other sources to teach me more and make the code I write immensely better
are there any good servers for a new player to join in?
yo is this a channe where I can find servers to join or no?
no its mainly talking about making java server plugins and or server issues in general
oh ok thanks!
That's natural. AI-generated code will be checked in a sandbox environment and ensured that it can be withdrawn easily.
If you're a programmer and you don't use AI then you will most likely fall behind.
You should find a good balance between using AI and writing your own code, and always have a clear view of what your code does.
best way to get light lether??
AI is cool until you're trying to do something that hasn't been done before or is extremely niche
Go into creative mode and grab it there.
Then it just pumps out garbage
How can I prevent players from connect to a world when joining, like "Exploration mode"?
but I think there are already unofficial server lists for that on the web
i think a major issue is that people use AI to cut out the learning process of programming and dont actually learn anything that would make them a better programmer
This
whats a good way to get light leather i just startedd
oh absolutely, i just mean that, with things you dont know, going the extra mile and researching about it properly is still way better than AI
It's their loss, but I just despise people that publish their AI-generated plugins.
Some real bad mods out there because of it
How can I prevent players from connect to a world when joining, like "Exploration mode" at "configs.json"?
using ai additionally is okay, using it fully without understanding the code is an issue I agree
Yesss! And in most cases AI can actually fall under doing research, aslong as you genuinely learn something from it.
is there a way i can get the map on my screen so i can see wthout pressing M to open it like on the side
I think generating documentation with AI is not bad at all, but there should be clear warnings that it's most likely all wrong.
Generating complete plugins/mods or art with AI is horrible though.
still good to see the source material, even tho you are absolutely right on AI as Research material
Something like DeepWiki allows you to see the source material (same for GitHub Copilot if I'm correct), so I recommend using that.
gate the join on the server side not just client config. witch you cant rn
i do hope hytale releases some of the server source code with the comments intact or at least some form of official documentation in the future
It's confirmed that they'll release the source eventually.
ok wait -- the ai wikis presenting as reliable are very unreliable, I saw a protocol one earlier, and it got very little correct, and had like, fundamental misunderstandings(and possibly confusion with the mc protocol in some areas)
looking for skilled dev for mini project hmu can be compensated thanks
kinda wish more AI watermarked everything they make like printers do
I have yet to see any documentation for anything more complex than just listing the events that are present in the game
What do you want to do?
Me? Personally?
best docs thus far has been a decompiler and some patience
I don't need documentation Ive just been studying a decomp, eventually im probably going to write my own
Alright, I just ran another test on the local server.
I loaded a sample mod on the local server (running in vscode) and modified a resource file within this mod's resource folder.
I deleted Common\Icons\ItemsGenerated\Ore_Sulfur_Basalt.png
About 1 seconds later, my client interface reported an error, indicating this asset was deleted, and then the icon for the Ore_Sulfur_Basalt in my hand changed to a question mark.
Then I undid the deletion, and the client immediately displayed a resource reload.
Yup
I uploaded the source to Github (slow macbook moment) and it's been amazing.
anyone know how to code with asset models hmu please thanks
Oh if you think I mean "I need to know how to do so and so" Im already aware of most systems in the game
A: added credit to you in video, Just look up my name on YT regarding the pistons
B: I agree, decomping you'll learn 90% of how things work, I just wish it was commented
oh there is also the part where ai funding is very weird, and its not at a state where I would become reliant on it yet(im not saying it will go away, but it might not always be this cheap)
Just mean for other people who don't want to spend time looking over a decomp
Nobody likes doing that
I have seen one documentation that has a few nice topics, but even that's still very primitive.
Cheers but you don't need to credit me for anything
Any way to listen for player's pressing Q (abilities in general, really). I cant find any ECS events that do this, and listening to the packets seems like trouble.
Just made a plugin that makes baby animals grow into adults 🙂
just threw it in, Just going to finish the block state + anims and I'm just waiting for curseforge to approve the page for them
you have to use a packet listener
sent a resource for it in dms
seems like trouble
Is it possible to make a plugin that generates adds a new prefab (structures)?
pretty sure you can do this with just an addon
The concepts of addons and plugins are kinda lost on my mind yet. sry
Absolutely possible
Is there some way to save data with plugins or do you have to make your own? and if so, does it save to the server the mod is running on?
You can bundle the prefab in your plugin JAR, and the server will treat it as an addon
This depends on where you want your data to be stored. You can connect to a remote database and store it there, or store in YAML files, or any other conceivable file type. You can choose where to store it. The convention is to store it in a subfolder with the same name as your Plugin
addons can be made entirely without java code
great thanks
addons can edit a large amount of the game but plugins can contain addons & the major difference is they can have custom Java code
how can you combine data assets and plugins into one project? I’m kinda lost lol
or i think the game calls them packs not addons?
But how can I set the spawn areas and rates? That’s the part I didn’t get. When I look at the prefabs in the server’s assets folder, there doesn’t seem to be any direct reference to the prefabs defined in the files.
plugins & addons have the same file format one just saves as a jar and the other a zip
Feel free to decompile and inspect the Server jar; it will have the implementation code and you can go off of that.
jar files are just fancy compiled zip files realistically
if i write a folder in the universe folder, does it get inside the backup once it is done? so data isn't "out of sync" when loading a backup
Yeah, I did it. Maybe the prefabs are referenced there somewhere? Ill check. Ty
but say if I wanted to make a mod with both new items and mechanics, how would I merge the data asset with the plugin into one folder?
It's 100% in there @hazy karma just hard to find
I'm not following your question, sorry
what would the file structure look like is what I mean
just put the files in the same place in the plugin as they would be if it was a pack
ohhh I see
tysm
imaging i have a plugin that writes a json file, if this file is inside the "universe" folder of the server, does it get backed up with all the workd data when a backup is done?
What do you mean by "backed up"?
backup lol
if you write data to the Universe folder, it's unlikely the Server is going to delete the file automatically.
You can manually back it up by copying the files to another location- that's a backup
like, the player have a set amount of exploration done, if the server ran into a problem and you load a backup, you may want the "progress" you saved in your file to be the same as he had when the backup was done
Creating a scoreboard in Hytale must be pretty fun xD
looking for skilled dev for mini project hmu can be compensated thanks
!
oh, i tested, the hytale server backup system pick any file in the universe's directory root plus the "players" and "worlds" folders, but not custom subfolder 😢
Anyway to edit stack sizes with overstacked mod? Or make custom stack sizes
if your running on a server it shouldnt be too hard to config a custom backup system for a linux server
when using a permission system how can i prevent player to use /spawn for instance?
right, but why do so when it is already built in? 😅 anyways, i see what i want to do is possible as long as the file is in the universe folder, so it's fine
linux backups can be stored in more compressed file formats and you could also set it to store the backup off of the server its currently running incase of full data loss
its never really a bad idea to keep multiable backups
true, seeing how a backup of a world that doesnt have more than 30 mins is 130 MB, a better compression may be needed
I respond to my self, u can use the TargetUtil class and fonction like getAllEntitiesInSphere.
or other way around when developing commands how can i add my own permissions to it so i can use it with any permissions system? like: mymod.something.use ?
can someone help me understand why the structure of folders installed by the hytale-downloader.exe CLI and the hytale launcher are so VASTLY different? this is making plugin development verrrrryyyy annoying.
how do I get the entity's held item in an EntityTickingSystem::tick? Is that possible?
Is it possible to check if an item in hand is interacted with?
One is used for external servers like on a vps and the other is from a launcher that uses it to create singleplayer servers and needs certain fjles in certain places?
ok damn the new update really screwed up my old world 😭 literally unplayable bruh
anyone familiar with the in game files that can help me with something?
do i have to make a new server after update?
They both work on external servers though and a single player server should be the same as an external one
You shouldn't need to, although after I updated mine, the game refused to load new and old worlds so I had to create a new server
Yeah, but the structure is different because they are used in different ways. Same files in different places.
yessir.
Would you mind pointing me in the right direction? 🙂
is there an alternative to blockstate since its being depricated?
does anyone know what [TMP] stands for in the game localisation files?
i just copy the new assets.zip, and all the content inside the new version's server directory into the Server dir, it all works fine till now
everything I send gets blocked lol I'll essage you
Anyone also got the strange bug where a new user is joining with Location=null and therefor cannot be added to the world and crashes in the loading screen?
can i make my own entity store component?
js can't find any way to do that, and from what i saw, they were hardcoded into entitymodule class
thanks!🙏
You register it like #server-plugins-read-only message
does anyone know the fix to "No World available to join" in the server
ISSUE: I want to be able to play in the new update using my old world (this world is before the update) so essentially "updating the server"
ERROR "No World Available to Join" OCCURENCES:
I've done copy pasting Assets.zip and server folder stuff into my server world, no luck.
I've also done using the HytaleDownloader.cli, also no luck.
Heck, I even made a new Hytale server folder, start a new world with fresh players data to see if it is the folder's problem. Works great. But once I started replacing the new World and players data with the previous world's, that error still appears hence still no luck.
SIDE NOTE:
I was able to rarely join the game. I have my previous old tools and stuff so thats great. However, the surrounding environment is completely white. Perhaps this can be related to my glaring issue?
Does anyone have a known safe fix to this when updating your server? I think I've done everything that I can so any help would be great! Thanks in advance 🙏
A way to look for a world with "name"?
Universe.get().getWorld("worldName");
do i need to register it on setup?
Yeah
Im still wondered, why hytale takes so much memory? and even random. I have 2 servers running both empty, one takes 4GB the other 8GB?
early access, thats the answer
well.. I hope thats the next target to optimize it
havent looked into prefab system yet, is it possible to spawn them programmatically? (i assume there is?)
How would one go about doing this
super("is", "Skyblock island commands: create, home, invite, accept, leave");
// Base required argument: action
this.actionArg = this.withRequiredArg("action", "create/home/invite/accept/leave", ArgTypes.STRING);
// Subcommand required argument: target for /is invite
this.inviteTargetArg = this.withRequiredArg("target", "Player to invite", ArgTypes.STRING);
// Register /is invite subcommand
this.addSubCommand("invite", ctx -> {
PlayerRef playerRef = ctx.sender(PlayerRef.class);
String targetName = ctx.get(inviteTargetArg);
handleInvite(ctx, playerRef, targetName);
}, inviteTargetArg);
}```
```PlayerRef playerRef = ctx.sender(PlayerRef.class);
String targetName = ctx.get(inviteTargetArg);```
So sender and get arent real ways of doing this ik, its just an example so you kinda understand what im trying to do here. i cant figure out how to do this correctly
how do i know the world name though? are there predefined kinds like "adventure", "zone 1", etc... or is it the save file name?
Theres also just
Universe.get().getWorlds()
If you want to get every available world in the universe
sorry for asking, but how do i get component type?
Ye ill dm you
Its the result of the register method
ive done that too, but it returns nothing for me when i call it in both setup and the contructor of my main class
Make sure to store it somewhere to get it back later
It returns nothing? An empty list?
Universe.get().getWorlds().values() returns an empty list
oh, thanks again
Anyone have any experience with PebbleHost?
Ah yeah setup is too early for the universe to init the worlds it seems
thats what i was thinking, just wasnt too sure where else to call it
i wanted to just get a reference to the world from overriding a function but i dont even know what function to even override or what class to extend in the first place haha
Anyone also got the strange bug where a new user is joining with at location null and therefore cannot be added to the world and crashes in the loading screen?
[2026/01/18 03:16:46 WARN] [World|Lobby] Exception when adding player to world!
CompletionException: CancellationException
[2026/01/18 03:13:43 INFO] [World|Lobby] Adding player 'RoteAmpel' to world 'Lobby' at location null (2f1e83f0-3b0a-4808-b907-eb55357b3386)
So for a Hytale server you require high cpu speed and high cpu core count right? So a vps with 1core and 5gb ram ain’t fit to run 5 worlds for example right?
Anybody running a server from a server hosting website and if so which ones do you recommend? I'm running on Apex right now at 6gb, but the dinosaurs are struggling to load in.
Anyone know how to fix the server connection issues been trying to play with freinds and it’s just showing the error everytime
is it possible to spawn image.png in world ?
Is there a reason you need all the worlds at setup and an event wouldn't suffice?
What are you trying to do?
im trying to spawn an entity near a block every x amount of ticks
Theres a BootEvent that does fire after the Universe
i wanna know woah
its a custom block that already has a resource json associated with it and is in the world already, just need to spawn entities around it
I still have not found how to do it I give up 💀
What do you need the world instances for? You can register a system that ticks the world
does anyone know what plugin has this hud? trying to disable it on my server
just says location info my xyz world biome and zone
You have bettermaps installed?
yes
This does work:
getEventRegistry().registerGlobal(BootEvent.class, (b) -> {
for (var name : Universe.get().getWorlds().keySet()) {
System.out.println(name);
}
});
/bm location
by this do you mean a new class with a getQuery method that filters to only that block? and then i can implement some tick interface?
No you can just run a tick on the EntityStore which is global for the world
tyvm!
I got a server question. When updating the server do I only need to update the Assets.zip or also the .jar and .aot?
You should update both incase they add a new entity or something
how can i get last version of hytaleserver.jar ?
im having trouble updating my server. i tried replacing Assets.zip and HytaleServer.jar but I always get timed out when trying to join. Reverting to the old assets and server jar would allow me to join again. I also tried just setting up a fresh updated server and am getting the same timed out when trying to connect
So i am trying to make a custom BlockBreakEvent that only triggers when i have a item that has the LuckComponent but it looks like Querrying for that doesnt work this is my BlockBreakEventSystem
public class BlockBreakEventSystem extends EntityEventSystem<EntityStore, BreakBlockEvent>
{
public BlockBreakEventSystem()
{
super(BreakBlockEvent.class);
}
@Override
public void handle(int i,
@NotNull ArchetypeChunk<EntityStore> archetypeChunk,
@NotNull Store<EntityStore> store,
@NotNull CommandBuffer<EntityStore> commandBuffer,
@NotNull BreakBlockEvent breakBlockEvent)
{
var ref = archetypeChunk.getReferenceTo(i);
Player player = store.getComponent(ref, Player.getComponentType());
ItemStack item = breakBlockEvent.getItemInHand();
if(item == null) return;
if(player == null) return;
if(item.getItemId().equals("Dungeon_Test"))
{
player.sendMessage(Message.raw("Destroyed with Dungeon_Test!"));
}
if(breakBlockEvent.getBlockType().getId().contains("Ore"))
{
player.sendMessage(Message.raw("Ore Mined!"));
}
String blockName = breakBlockEvent.getBlockType().getId();
player.sendMessage(Message.raw(blockName));
}
@Override
public @Nullable Query<EntityStore> getQuery()
{
return Query.and(PlayerRef.getComponentType(), LuckComponent.getComponentType());
}
}
Does anyone know how to put an "Interactable" on an entity?
And how hard should the event be intercepted?
The Query is for the entity that triggered the event so this is checking if the entity has the PlayerRef component and the LuckComponent on it
Look at the shop keeper roles
My Hytale game has a bug with the view distance; I've added more view render and it doesn't work. Can anyone help?
Kweebec_Merchant role is interactable with alot of extra stuff but it can be filtered
i see so i somehow have to get the entity of my itemstack
How does your itemstack have an entity?
Where did you get the info on the API ?
They're not entities, what component have you added and to what?
Hiyaaa, question
How can I make my own Hytale server? Ö
can you help me?
is there like a on block entered world event? or a block placed event? then i could just spawn an entity in that, at least for testing for now
Does anyone know how to teleport the player between worlds?
My code doesn’t work and the game crashes
On what
Yeah theres a PlaceBlockEvent
thats not related to server-plugins.
a self Made LuckComponent that implements Component<EntityStore>
My Hytale has a bug with the view distance; I've added more view distance and it doesn't work. Can anyone help?
Those go on entities, you cant put components on itemstacks
srry
sorry for so many questions, but how would i create/subscribe to this event? to run code when it fires?
You need to make an ECS listener as its different
does anyone know why my maps break it just shows black and doesnt update for me anymore. I tried unisntalling bettermaps and going default and sttill breaks 🙁
how to color messages?
Extend a
EntityEventSystem<EntityStore, PlaceBlockEvent>
oh how can i give it custom data then?
okay cool, and would i need to reference this file at all in my main file?
Any itemstack?
Yes to register it you need to use
getEntityStoreRegistry().registerSystem()
If they're custom just check if they have your item
But if you want to add additional data to any itemstack I don't think you currently can(?) from what Ive seen
gotcha, ill see what i can do thanks!
?
Oh actually, there is something, ItemStack#Metadata
i was doing this befor
if(item.getItemId().equals("Dungeon_Test"))
{
player.sendMessage(Message.raw("Destroyed with Dungeon_Test!"));
}
this works ok but is aquard since its not dynamic
Hello does anyone already got the RespawnPage rendered ingame on your screen and have a screen shot for me ?
Theres a getFromMetadataOrNull
That takes a string key and whatever codec is encoding that part of the item, but im not sure if theres an easy way to add to the metadata at runtime without some reflection
Ok forget what i said, just do /kill
If not at runtime, im sure the metadata is just whatever additional data is on the item json
Print the metadata and see what it is
welp guess i will figure it out
The event system itself wouldn't just cause errors it would be an improperly made one that does
Wym causing errors?
does anyone know how to op yourself in the server permission files
does anyone know why my maps are not loading? map screen just goes black and nothing shows but where your character is
You haven't got console access but you have file access?
What error is this causing
im using a 3rd party server i went into game and it say to /op myself i need to do in the permissions.json file, which i found just dont know what to do in it
So you do not have access to the console?
Because you can just do op add yourName in the console
If you need to add yourself via the file you need your UUID
hi there!! can please someone help me? im trying to make an custom furnace for alloys... but I don't see how to make the slots works as I want...
I want the furnace to smelt simultaneously vertical slots, (while horizontal slots still works for queue and of course adding extra slots under each normal slot) But it is not working... and in the tier 2 of the furnace, the 2 extra slots are added vertically and not horizontally... SOME HELP please!!?? 😭
you gotta accept my friend request before i can dm you
so i just paste my uuid in next to the bracket next to op?
wait can I have it too
Can someone help me? Even after doing what people suggested, the same error still persists.
>....[2026/01/18 04:27:05 WARN] [HardwareUtil] Failed to get Hardware UUID```
is there anyway to force dinos to spawn in chunks generated before update?
thats not what min looks like
when youre doing /auth login are you using device or browser?
{
"users": {
"3b58a839-0d21-4080-9c3b-d197dadadaa0": {
"permissions": [
"nitrado.query.web.",
"apexhosting.prometheusexporter.web."
],
"groups": [
"SERVICE_ACCOUNT"
]
},
"b57587d5-def8-4e73-9e04-cd66f0bd7c90": {
"groups": [
"Adventure"
]
},
"00000000-0000-0000-0000-000000000000": {
"groups": [
"ANONYMOUS"
]
}
},
"groups": {
"Default": [],
"OP": [
"*"
]
}
}
op is at the bottom there where do i add my uuid
Device, why?
finally coded up a random tp command. it finds the surface and randomly teleports you there
These are not related to the eventsystem you made
And those are practically warnings
im so lost cause theres already an op group
This game is early access and could be contributing to the subpar performance. How much ram does your server say it is using?
how do i enable my mods on my server because i put them in the mods folder and they dont even show up in the log
It's capping at the 6gb. I can run a dedicated server on another machine I have, and it utilizes all 16gb of RAM. I just don't have the internet speed to host and stream at the same time.
hey guys i just want to ask whats the config for turning on pvp and turning off keepinventory thank you
is there something additional i have to do for custom ui pages? i have the ui files in the correct folders and have IncludesAssetPack set to true but when attempting to open the gui i get kicked saying the ui file was not found
I'm trying pebble and it's running at 7gb out of 10 with just me, vanilla, no mods.
Yeah it's not the most optimised game at this point in time. many of our customers are upgrading. We have a few servers using 60gb+ on custom plans.
Sadly it will only get better with time.
The game itself has many, alot of them
the mod ServerPatches fixes the door and cimb glitches
Guys is there a way to modify actually the Furnace UI?
Mind if I DM you to ask about your service?
does anyone know why my maps break it just shows black and doesnt update for me anymore. I tried unisntalling bettermaps and going default and sttill breaks 🙁
Okay so am I crazy or can you not create a new water liquid that is colored? Just need a yes I am crazy or no you arent and you cant do that yet
Has anyone seen this? It appears this guy is modding in C#, even accessing a "Hytale.API.*" it looks to be a fully built out api but to my knowledge there is no public c# modding api.
the github link is: samueltorres-io/Hytale-Advanced-Storage
If you would like sure, I'm an open book so you can ask here too. I just wont self promote lol
How do I send global chat messages
Thats a UseBlockEvent.Pre right?
What are you using
Wym doesn't work it does fire, do you mean its not cancellable?
its cancellable tho, i use it on my mod
Can someone help me? Even after doing what people suggested, the same error still persists.
>....[2026/01/18 04:27:05 WARN] [HardwareUtil] Failed to get Hardware UUID```