#server-plugins-read-only
1 messages · Page 80 of 1
is the "hytaled_optimizer" new??? i saw that in my serverfiles
voip ping?
DropItemEvent get The entity probably before
Any bedwar servers
the game has VOIP?
I heard so, idk for sure
Hello! Please tell me how get all worlds list
somebody know how to find out the direction the player is facing by that i mean the direction the front of the player is visible too if that makes sense i dont care about up and down only x and y axis
I watched some videos where the guy just randomly hears voices playing skywars, maybe this is a voip connection indicator.
Universe.get().getWorlds()
any reason we wouldnt be?
Are y'all running new servers for the same gamemode?
Thanks !
yo anyone klnow how to fix i have 100k ping
did you figure this out?
public class DamageBlockEventSystem extends BlackboardSystems.DamageBlockEventSystem {
public void handle(int index, @Nonnull ArchetypeChunk<EntityStore> archetypeChunk,
@Nonnull Store<EntityStore> store, @Nonnull CommandBuffer<EntityStore> commandBuffer,
@Nonnull DamageBlockEvent e) {
super.handle(index, archetypeChunk, store, commandBuffer, e);
//TODO get player that damages a block?
How to complete this???
how is the scaling handled though for the gamemode. If you have lobby 1 and lobby 2, are they in a different server
try: ```java
Ref<EntityStore> ref = archetypeChunk.getReferenceTo(index);
Player player = store.getComponent(ref, Player.getComponentType());
Hi, Can someone help me open my server to play with a friend, I mostly need a server configuration and authorization file (I'm Russian, but I can in English)
archetypeChunk.getReferenceTo(index)
Errors: took to long to run pre-load proccess hook for chunk
How do i fix this
Noob question: how do I make my command not require op?
I don't understand where all the commands from the website for Hytale downloader and Java are entered.
setPermissionGroup(GameMode.Adventure);
In the commands constructor
whats the import for ISystem? anyone knows
Thank you
yo anyone klnow how to fix i have 100k ping
The name is misleading it works in any Gamemode
Do you not have an IDE which helps with auto import or class search?
yay you using the same workaround as me !!
Thats how the game does it
Can anyone help me, I added an interaction to my modded block, but the log is telling me that the asset type com.hypixel.hytale.server.core.modules.interaction.interaction.config.RootInteraction doesn't exist
i use vscode i dont think that has it
Looking more into it, but I am doing a blanket print statement on all calls and its not printing anything
Use intelliJ it's free
highly recommend using an IDE instead
You're using a text editor, not an IDE, then. Anyway, it's com hypixel hytale component system
What is your Query
thanks
Intellij community is free 😉
didnt know that wasnt ide thanks
And I’ve release a plugin for it on GitHub with full template I’m gonna release the v0.1.2 in few minutes ( intejijj )
I did it in the world thread but it doesn't seems to be the right one : Assert not in thread! Thread[#97,WorldThrea
Whats the full error? You can DM it to me
it is a IDE just ideal for this situation
sure
i had it before but forget how to download free im sure when i scroll should see a button for it but do you know how to download free
'''public static class DropItemDropSystem extends EntityEventSystem<EntityStore, DropItemEvent.Drop> {
private static final HytaleLogger LOG = HytaleLogger.forEnclosingClass();
public DropItemDropSystem() {
super(DropItemEvent.Drop.class);
}
@Override
public void handle(int index, @Nonnull ArchetypeChunk<EntityStore> chunk,
@Nonnull Store<EntityStore> store, @Nonnull CommandBuffer<EntityStore> buffer,
@Nonnull DropItemEvent.Drop event) {
ItemStack item = event.getItemStack();
String itemId = item != null ? item.getItemId() : "null";
LOG.atInfo().log("DropItemEvent.Drop fired. Item: " + itemId);
}
@Nullable
@Override
public Query<EntityStore> getQuery() {
return Archetype.empty();
}
}
'''
Your Query is empty, it wouldn't fire
If you search up intellij you will find it, it's on the jetbrains website
The Query is the filter, use NPCEntity.getComponentType()
As in literally
return NPCEntity.getComponentType();
It will filter for NPCEntities triggering the event
Anyone knows of a better way to deserealize Protocol packets, than to manually calculate maximum number of bytes the previous field took?
I'm adding a new interaction, which contains MaterialQuantity inside, and the head began boiling about 2 levels deep
In the activation licence you can keep it free
Will try this out. Thank you.
This is actually non intuitive imo, in a database an empty query means get all data.
did they removed community edition? trialles unlimited
Well you can write the complaint to simon hypixel
Hey guys, so I just ran a dev server and when I joined I see the localization ids always instead of the correct text, why is that?
Theres Query.any() which does fire for everything
I can't even type them out because then the message gets blocked
A trial for the ultimate edition, if you download it you can simply cancel / decile
Lang files missing
I think
Yep... turns out it was a syntax errror or something..? Idk why it'd give that error, but with a very simple .ui file it worked perfectly fine, so mustve been syntax
public void handle(int i, @NonNullDecl ArchetypeChunk<EntityStore> archetypeChunk, @NonNullDecl Store<EntityStore> store, @NonNullDecl CommandBuffer<EntityStore> commandBuffer, @NonNullDecl Damage damage) {
HytaleLogger.getLogger().atInfo().log("TEST1");
ProjectileComponent comp = archetypeChunk.getComponent(i, ProjectileComponent.getComponentType());
Damage.Source dmg = damage.getSource();
HytaleLogger.getLogger().atInfo().log("TEST2");
} ```
Trying to get the event when someone hits someone with an arrow
I need both shooter and victim
Any wisdom?
That's better, but why would someone create an listener for nothing? seems unreasonable to even be possible to declare that.
that's what I thought but I downloaded the Kaupenjoe's server plugin example and for him they weren't missing, I will try to find where they usually are
Hey there does anyone know if we can get Hytale official API somewhere ?
Not sure, its just the way they do the filter check I suppose
Incorrectly references maybe
How do I update hytaleserver.jar without Gradle?
So far as I'm aware we can only rely on decompiled server code
refer to the new jar?
If someone can assist me cause I don't really understand what files i need to sucessfully complete a server update, is it just the assets pack?
Go in your OS file explorer, not inside the IDE and replace it there with the new one from your client after updating there ofc
aight thanks, its kinda hard for me to code anything, or it take a very long time for small update :x
anyone managed to create a custom keybinding thats not replacing an existing one i.e like hotkeys ?
I used the decompile_server and then linked the sources in IntelliJ idk what did I do wrong
Same, I haven't coded anything in Java since 2020 :P
Is it possible to make players invisible?
Is the official API out by now?
The API is the server jar itself
where even are the localization files supposed to be
Got a bug, my game keeps crashing once i open it, can someone help ?
Can't help then sorry
Where did I find the updated file?
use the actual server jar as source
you dont need to decompile anything
Can someone help me with server? i got an error
"Connection handshake was canceled due to the configured timeout of 00:00:10 seconds elapsing"
Well I will want to read it later since the official docs are non existent
I will change the source
intellij has a built in decompiler you can use, theres some websites that have sources and docs though
Go into the settings of your launcher where you can jump into the filesystem
then
HytaleLauncher/data/Hytale/install/release/package/game/latest/Server/
There is a HytaleServer.jar
I am on Linux so idk how the structure differs
Where do I put block textures for my newly created block?
World#getBlock(x,y,z) returns an int, how do i get the actual block data?
how do I know what IconProperties to set for my custom block?
Do you mean network messages?
Does Hytale have actually any similar thing like BungeeCord/Velocity or its not required at all?
Does anyone know if its possible to make players invisisble?
Yea I saw the hytalemodding website, and am planning on using the break block event, and I kinda cannot understand how to register the Entity Event System since that event needs it but that's an issue for later probably, or do I not need to register that unless I want to cancel the event?
Ty ❤️
No world available to join
Thank you so much, my friend, you helped me a lot.
we can customize UI by plugin? In server
Does someone know, how I can check which Interaction fired an Interaction Event?
In my case i have to check, if a DoorInteraction occured
Everything is possible, the only questions is how hard it is
So far as I'm aware making a player invisible is more convoluted than changing a JSON (require a server plugin with custom system or even a mixin potentially)
i'd send you a link to the docs but this discord is actually useless lmao
how do serverlists currently get player data if there is no known endpoint for it?
Yeah, I've been looking at the server source code, but I can't find anything to change an entity's visibility
they get it from the server directly with a plugin
ohh okay i get it like nitrado's plugin?
send a PM I don't mind, I was getting messages blocked for using the localization ids for items like server dot something dot something
yeah honestly looking for a different discord to join for hytale dev cuz this is pissing me off
Have you dabbled into networking already? I've got troubles writing serialization/deserialization code - manually it's a huge pain in the 🍑 . Maybe you know a better way?
I have been reimplementing the network protocol
yes that works
Has anyone figured out playing a custom animation on demand?
No I haven't. I don't even know where I would start haha
i mean does every server actually have such a plugin?
like big server
Wdym by reimplementing? Writing a custom server or what?
is there someone how know how to use and display custom ui ? i'm not talking about use common ui file but actualy add custom texture ect ?
yeah, im trying to reimplement the server in C
oh idk i host my own in containers lol
get your own server and you can do somethin worthwhile
its going good thus far, got through authentication, and am now on asset sending
curse forge already has some wild mods
Did you notice any familiar patterns in the packet structure?
From what I've seen, it doesn't seem to be protobuf. Cap'n'proto maybe?
im kinda annoyed curseforge doesnt make a distinction between plugins and mods
it doesnt seem to have a uniform protocol, looks like hand written readers and writers for every packet
though they are pretty uniform
I meant normal Messages, found a way btw:
import com.hypixel.hytale.codec.ExtraInfo;
import com.hypixel.hytale.server.core.Message;
import org.bson.BsonArray;
import org.bson.BsonDocument;
import org.bson.BsonValue;
public class MessageSerializer {
public static String serialize(final Message message) {
return Message.CODEC.encode(message, ExtraInfo.THREAD_LOCAL.get()).asDocument().toJson();
}
public static Message deserialize(final String json) {
final BsonDocument bsonDocument = BsonDocument.parse(json);
if (bsonDocument.isArray("Children")) {
final BsonArray messageArray = bsonDocument.getArray("Children");
return Message.join(messageArray.stream().map(MessageSerializer::decodeMessage).toArray(Message[]::new));
} else {
return decodeMessage(bsonDocument);
}
}
private static Message decodeMessage(final BsonValue bsonDocument) {
return Message.CODEC.decode(bsonDocument, ExtraInfo.THREAD_LOCAL.get());
}
}
That's exactly where I'm at with a rust impl as well
Find everything inside the java is deadly ^^ API make it so faster
Hey folks, I want to see some feedback here, can someone have a look? #1461896260943482891 message
aah, yeah, hows it going over there lol
I was very afraid it would come to this...
You mean docs?
Pretty good, having a fun time implementing all the packets
its uniform enough that I can use my dsl without too much modification(originally designed for minecrafts protocol)
guys uhhh
is there a way to migrate a world to a newer version of hytale without it crashing because it cant decode it
heres an example of a small packet written with it:
STRUCT_S(con_disconnect,
NULL_BITS(1,
NULL_BIT(reason, 0)
)
F(byte, int8_t, type)
IF_PRESENT(has_reason,
F(var_str, lstr, reason))
)
Does anyone know how to make an UI? I have been heavily struggling. Also are there any open source projects i can take a look at to leran how to do it?
that defines readers, writers, free-ers, printers, and the struct for the packet
guys, I added redstone to the game 🙂
Looks very declarative!
Some dark preprocessor magic is definitely going on in the background :D
game duplicate option?
I made a small patch to the hytale jar to enable sni lookup from the main game. But I will need to port it to a bootstrap plugin still. So, until then we have to update with every major release
like printing the connection packet gives me:
con_connect
null bits: [
has_language[bool]: true
has_identity_token[bool]: true
has_referral_data[bool]: false
has_referral_source[bool]: false
]
protocol_hash[ubyte]{64}: [54 55 48 ...]
client_type[byte]: 0
uuid[uuid]: 1246829177502775944 -6801190134194354045
language[var_str]:
identity_token[var_str]: <long str>
username[var_str]: openmindedness
the preprocessor magic is actually shockingly simple in the grand scheme of things,
Great invention, i hope it will work out
@pine holly what do you mean game duplicate option
this currently allows me to host multiple virtual servers on port 5520, without it actually being on that port. I will try to port it tomorrow
its just a header file that includes itself a few times, and thats the most convoluted part
Does anyone know how to make an GUI? I have been heavily struggling. Also are there any open source projects i can take a look at to leran how to do it?
Hey guys, why does the backpack still cost me 16 from leather? I've already updated the game and it's not changed.
That's pretty cool, I have a similar decl macro for it as well: ```rs
define_enum! {
pub enum DisconnectType {
Disconnect = 0,
Crash = 1,
}
}
define_packet!(
Disconnect {
bitmask {
required disconnect_type: DisconnectType,
opt reason: String
}
}
);
niice
disconnect_type is serialized as the ordinal as an u8
Yup, i'm not a good dev at all, i tried to do plugin with IA, but for minecraft it was way easier because a lot of docs are online. Hytale is way better and lot of potential but this is kinda hard
how to play with my friend local? got the firewall error
Guys, how do we retrieve the status of a checkbox if it is checked or not?
yeah fair, did you get past sending the ItemCategories yet?
I might be mistaken here, but it seems to me that GUI requires a server plugin written in Java
And the best place to look for examples is official hytale_server.jar
so i have to port my world back to single player duplicate it and then put it back on my server?
Nope, I need WorldSettings & asset handling before the handshake can progress. Idk where ItemCategories even gets sent
thats a hassle lol
Has anyone in here used the Frozen component? Does it work?
it gets sent along with the asset bundles, right after world settings
i did it crashed
currently I mostly send empty assets, but it looks like it references previous assets, and crashes if it cant find them
I've been procrastinating on the asset stuff by implementing various packets, so that's on hold for now xd
yeah fair, I have mostly been sending zero size assets anyways
Maybe /world load default
can you share your code in that case either in dm or here? So we can go over it together
because when i try and join my old world after updating the server, it crashes saying it cant decode the world
Has anyone in here used the Frozen component on a player? Does it work?
Does anyone know how to make a player/entity invisible?
anyone know how to set block in world?
right click
I just made a fully working redstone mod for Hytale. I made a working calculator with it too. Check the video in my profile.
erm....
Excuse my stupidity but what benefit does deserialization have?
you found a fix
Does anyone knows how to fix invisible block models?
uhh, for packets?
yes
/block set <loc> <block>
well, packets come over the wire in a stream of numbers from 0 to 255, and its incredibly annoying to use them without converting them to a more usable format
or did you mean through code
Here's my serialized answer: 38123874379828
🤦♂️
aaaaaaah I see
Did you have lots of previous Java/modding expirence or am I just slow
unironically not a bad explanation
hahaha
are there different world types? i honestly havent played much hytale lol
yes it is, anyway I will try to look at block set command class to see
makes sense now
so you make the data coming over the wire essentially more easy to use then
all I knew about Java was system.out.println, but I have an engineering mind, I like to fix problems
yeah, basically
I will give you the code one sec I have some project where I also used it
nice
Is there anyone who would like to make a world together just got the game
Very nice! Was waiting for something like that
world.getChunkAsync(ChunkUtil.indexChunk(chunkX, chunkZ)).thenAcceptAsync(new Consumer<>()
{
@Override
public void accept(WorldChunk chunk)
{
chunk.setBlock(x, y, z, blockString);
}
});
public void handle(int i, @NonNullDecl ArchetypeChunk<EntityStore> archetypeChunk, @NonNullDecl Store<EntityStore> store, @NonNullDecl CommandBuffer<EntityStore> commandBuffer, @NonNullDecl Damage damage) {
HytaleLogger.getLogger().atInfo().log("TEST1");
ProjectileComponent comp = archetypeChunk.getComponent(i, ProjectileComponent.getComponentType());
Damage.Source dmg = damage.getSource();
HytaleLogger.getLogger().atInfo().log("TEST2");
} ```
Any ideas on how I get the user that shot an arrow / get the user that is damaged by the arrow using this function?
Using DamageEventSystem
thank you very much
Did they fixed MouseInteractEvent in the patch? Thanks for the answer
thank you!! will make it even better
ALGUEM JA TEM A TRADUÇÃO PT-BR?
@civic zephyr I've tried NPCEntity.getComponentType(), Query.Any(), Archetype.empty() (which I found in an example online) and nothing. I can not get it to log anything when an enemy drops an item on death.
Does anyone got good news about the events : PlayerMotion, PlayerButton events and SwitchActiveSlotEvent from ECS events?
I mean, at the first version it never fired on my side, if anyone got it, can you please send me in DM your implementation :>?
Enemies might not call that event when loot drops then
Yeah, is it works already?
Anyone could answer if tried
All ECS events in my libs are working, only SwitchActiveSlotEvent is not working. Same about Players events, only PlayerMotion, PlayerButton are not working...
PlayerMotion, PlayerButton should work after patch
toma amigo curseforge (coloca um ponto aqui) com/hytale/mods/traducao-brasileira
Is there a particle system?
Alright,in the source of HytaleServer.jar, in the manifest the version got updated?
Yes
Yes, there is, and you can even customize it in AssetEditor
Alright thanks, gonna try once my libs is ready for the V1.0.0 of the game, and will continue for next versions, thx for you help.
rn i'm just looking to spawn some existing particle programatically
ParticleUtil
Is there a way to teleport a player to another world which was created with /world add <worldname>
These do not work:
/tp world <worldname> <playername>
/tp world <worldname> --player <playername>```
*Note I can do `/tp world <worldname>` but this is for me as an OP and I'm trying to get an NPC to execute the command on their behalf with @s (all works fine, just not the command itself
nothing seems to exist in the current version?
sommeone make some progress in HUD api ?
Does anyone know how to set a background image on an interface?
isnt hytale like already has this system inside of the base game?
how to disable mobspawning in a world via plugin?
does anyone understand how to get cooldownCondition working?
what I would do is make a custom tp mod/command in such a case
Is there a modifier for the charge time of heavy attacks?
how do I know if my server is on the latest version
Wait, are server plugins actually plugins and can't change anything in the client? It means me writing a new interaction - is a completely useless endeavour
yep, they can only change server side things and all other client side behaviors are done through assets
did you know how to modif the height map limit build please
I wish I knew how to do that 😭
I'm trying to install the hytale server JAR I'm trying to get this done with the Hytale Downloader CLI to work on my oracle cloud instance on an ampere CPU which is incompatible with the script given its nature. Is the source for the downloader available anywhere? (I would imagine not)
So no optimistic updates for my interactions
what's better for package name:
xyz.thepwds.Daggerhop
or
xyz.thepwds
Anyone used the Frozen component on the player?
let me do a test for this as I haven't tried this yet. I will get back in a few hours of testing
the former - it helps avoid conflicts if you make more plugins (also they’re lowercase by convention)
gotcha
ദ്ദി ._.
hey, can anyone help me with installing mods that come as a zip file? I unzip it, drop the files in the mod folder with the rest of the mods and it never works
download the server jar using your pc and upload it
I mean you can still get the effect of some client stuff by modifying or sending packets
do you select them when creating new worlds?
like for example showing the world as bright only to the user, or taking them out of flight
how do i select them? i added it to my current world
anyone know how to spawn particle?
deleted sv and restarted, only i could bring along was by prefabs
big thanks ! i send a dm when the mod is good please ^^
thats going to be the way sadly I was just trying to avoid my own upload speed :/
gotcha
How much ram/cpu do you actually use in your servers / players in the server ?
whats the main plugin people use to expose their data for serverlists is it this one from nitrado?
I’ve only been using like 1-2gb solo
how do i select a mod? i added it to my current world, where do i do that
anyone knows how to search something inside decompiled jar in intellij idea?
There does not seem to be a command variant that allows for teleporting another player to another world after looking at a decomp
you already kinda did add them to your current world, thats what i meant by selecting a mod
i have like a ovh vps with 48gb (32gb dedicated) of ram 12 vCPU and 15 players in the server, and the server is lagging sometimes, is it normal ?
yeah you need atleast 128gb ram
how many millions do you have
i have a multiplayer world, i unzipped it and dropped it in the mod folder and i see nothing
for how many players ?
128gb per player* actually
15
one
really ?
8gb per player
did you reboot it?
yeah for real
Damn, thank you. I've guess I'll wait a bit when it get patched as it might be something they'll need at some point
i saw servers with + 100 players online inside
1tb ram probably
yeah they got 1000+gb ram
yes, you have to shut it down to add the mod anyways
Does anyone know how to modify the charge time for staffs?
i feel like i'm behing trolled 🤣
reinstall and do it again I guess
totally not
does it make a difference it is a server and no ta world from the menu?
idk honestly
Looking for a friend to play hytale with someone who has a mic and mostly 16+, dm if you are interested
Hytale servers use a ridiculously high amount of memory for relatively low player counts but im not sure how other servers are handling that
you can decompile them all with Fernflower and then just search through them as normal files: wiki[dot]hytaleservers[dot]host/Decompiling_the_JAR
how can it be like that when the recommeded is, for example
25-50 8-12 GB High single-thread frequency Prioritize clock speed over cores
Check out my post in “Hytale News” under the “community-wiki” section — I shared a way to reduce ping issues, might help you.
would 8-12 gb be per player?
nah 8-12gb per chunk
Not sure if this is the right place to ask, but is there any documentation that exists where I could read about how to get started modding for this game? I was looking around on the website, but I didn't really find what I was looking for
Luckperms plugin doesn't support colors in prefixes, how can we use colored prefixes in chat?
does anyone have an idea for how to trigger an entity update from a system after some delay?
Hey there. I am not sure if this is the correct place to ask.
I have a nitrado server and I am not sure how to update the world/server to the newest version of the map. Does anybody know how that works? 🙂
Thanks in advance.
Any tip to trace what is causing Failed to load CustomUI documents?
So I can't attach images, because discord restrictions, but my server has been running pretty steady around 12gb RAM & 7 players. I have 8 cores assigned, but don't have stats on cpu usage atm.
.ui file, check it
my server start lagging when it reaches 12/15 players
so having 15 differents players in 15 differents chunk would actively consume 120gb ram? even idling?
Z
exactly
most of the time 1. wrong path, 2. forbidden non existent value in .ui file like Margin
Just restart the server and you'll be good to go 
I did have issues with ping lag 2 days ago prior to yesterday's hot fix, but haven't had 12 people on since. I also didn't have good logging on my WAN transmit at the time, as I only have 40mbps up. Roughly equal to 4.7MiB/s I think. I don't think I was using that much upload, but did see occasional spikes near it
Are the Hytale API's out yet?
Hello guys, I would like to know the which block (Hay Target) the player placed, so I started to hear the PlaceBlockEvent but the only thing I can retrieve is placeBlockEvent.getTargetBlock() which returns a Vector3i.
Do someone know how I can know the block placed from that?
using cloudfare warp solve this problem to me.
Luckperms plugin doesn't support colors in prefixes, how can we use colored prefixes in chat?
Thanks for the help! Will do.
is any other server hosting having issues with players using dimensional portals? cup goes up to about 2200% when a player travels to one of the three dimensions and goes back down as soon as the player leabves
how can i get the "ground" block? I'm generating random locations and i need to get the actual highest safe block 🤔
is there no better way to do this? if(event.getBlockType().getId().contains("Ore"))
this is hytale modding discussion, not a minecraft one xd
yeah, im talkimng about hytale
it might have a component that classifies it as ore, other than that no idea
Can we give priority to the events?
This channel should change names because there’s way too many people just looking for general server help since they see “server”
Does anyone know of some good documentation on the server configuration files?
I am running my own server but having some issues with people trying to get in. Seeing some timeout errors on people trying to authenticate in.
There are lots of people just looking for servers to play here or advertise their own server 😭
which plugin are you talking about?
The type?
How do I send a message to chat as the server?
They need to just call this channel like “plugins” or something 🎋
You have to readback the block from the chunk
look at the echo command
the server can not handle players traveling to the three separate dimensions vanilla hytale offers. when players trvel through, the cpu goes to 2000%
I managed to find a way to talk to your sound drivers directly (Obviously with your permission and mic status which you will set in the settings ui)
And the mod Injects new packet types into Hytale's memory using Reflection.
// Init Client (Local Host For testing)
voiceClient.initialize(player, packet -> {
// This 'callback' triggers whenever your mic has audio data
voiceServer.handleVoicePacket(ref, packet);
});
or the plugin whatever
Any (working) plugin which keeps the map active where you've been? and share the map progress between players?
check for an item in hand inventory slot during the placeBlockEvent
This is the closest so far I think hytale-docs pages dev, replaces space with .
maybe its a bug
Keep in mind that the clients connecting are not gonna have any idea what you're talking about and won't process any audio
I don't want an in game command I want a way to send it in Java
Thank you
like is there a function
Bro just type EchoCommand in intellij idea
Mods enabled on the server auto-download to the client instantly, it works i tested with my friend
Look how it works
Not code
Yes it's a known issue. Sadly an early access bug
Hm wym
The only thing the clients get are assets
oh so you use reflection to actually modify the client or something?
They don't run the code, its on the server exclusively
I was supposing the item was not in the hand anymore, so I'll try
if, in my ui file, i do $C = "../Common.ui"; im taking the one inside the hytale's assets right ?
No you're wrong, i just searched it up
When a player connects, the server sends a manifest of required content.
The client automatically downloads:
-
server mods
-
custom scripts
-
assets like models, sounds, textures, UI
-
Everything is sandboxed per server. One server’s mods don’t pollute another.
store TargetBlock somewhere after THE MIGHTY PLACING OF HAY TARGET occurs then
Wherever you read the "custom scripts" part is wrong, the client doesn't download the jar
Only the assets get sent over, where are you reading this?
Okay well the workaround is easy then just have the client downloada the mod no?
There are no client mods
As in the player
The mod might "work" on your local server or connect to your own audio drivers because they're running on your computer
Did anyone use the Frozen component on a player?
Quick question, does anyone know if the loot in chests is determined when it is first generated? Or is it determined when a player first opens the chest?
depends, in ur code if u have resources>Common>UI>Pages, then that path is fine, in code u need to have path "Pages/nameofuifile.ui"
client side is only for assets. btw you always play on the server even in the singleplayer., if you didnt notice
They wouldn't connect to someone elses audio drivers that have connected to your server, just yours again
Its why some people think you can "read keypresses" on the serverside, its cause they're running the jar on their computer and are just accessing the regular java keypress features
when opened i guess, its easier to implement rather than pre-generate a lot of chest loot
how to add second argument to a command?
i made my own particle but it doesnt shows in spawn patricle, why?
big brain thinking fr fr
That's what I was hoping for too yeah ^^
why grass green?
what
give us info, that tells us nothing
Ah f ur right
Should i release my hytale plugin called "EnhancedBowMod" since their broken and i was able to fix it
I have resources/Common/UI/<MyModName>
Anyone got the event for when people leave/join the server
how do i refresh the asset editor if i did changes from the file directory itself
guys what is the equivalent of display entities, if i want to add some floating items to my custom workbench
do i have to restart the server
whats the main plugin people use to query servers?
the text argument is private and I cannot figure out how I would even input it since the constructor doesn't take anything in
@civic zephyr - You think if a JS / Html parser would work to run an outside script that captures the audio instead?
Anyone know how to make an output recipe have a chance to drop something like copper instead of always dropping it, if so please send me a message.
You would have to send data to the client, which would need some external registry or app
At that point it would just be discord
Yeah i agree
Welp, 33 hours of work wasted LMAO
Universe.get().sendMessage(Message.raw("Message"));
This sends message to everyone
Unless you (From the server) sent various positional related things for directional audio but thats a mess
Uhh that's what i did tbf-
man i cant for the life of me figure out how this chunk system works lol
What part?
I'm trying to find the surface block in a column
someone know how to update a server?
basically the getHighestBlockAt(x, z) from bukkit
As best as I can figure we just download the updated files, drag them in the folder and overwrite
Whats wrong with WorldChunk#getBlockAt(x,y,z)?
Not done it yet until I know the patch is stable
idk what y is yet
It returns an int which I assume is some kind of ID but iirc air is zero or something
Why not?
There must be a better way than looping through an entire column block by block?
Make some easy way to auto update a home-hosted server and I will be much obliged
Wait, I got a question, i just thought of smth and since you know more than i do i wanna ask
What if i use a unified pipeline? So the players' client sends audio data to my server as a UI-event and since i already made custom packets, would it be possible to just relay it?
okey were i can find the files?
Thats how the game does it for its "checkIfRaining" method:
// HYTALE (WaterGrowthModifierAsset)
if (this.weatherIds.contains(weatherId)) {
boolean unobstructed = true;
for (int searchY = y + 1; searchY < 320; searchY++) {
int block = blockChunk.getBlock(x, searchY, z);
if (block != 0 && block != cropId) {
unobstructed = false;
break;
}
}
if (unobstructed) {
return true;
}
}
How else would you expect to find the top-most block without searching for it?
bukkit has a "mesh" system that maps the blocks somehow, idk how it works exactly
If you plan to keep it working/updated and can share, plz do xD
nice
https://support.hytale.com/hc/en-us/articles/45326769420827-Hytale-Server-Manual I just ran the hytale-downloader again and it grabbed the updated files as a zip
Is there a way to display a custom item name, like in Minecraft and lore?
this will do though, thanks
Regardless of whatever you do you need to register data or make a new connection socket to send data over, the server can handle that stuff fine, its the clients that need to receive the data that are the problem
Testing my command to make a character's hair ginger and it decided to make him bald instead 
Alright i'll look into it, maybe i can find a method that works without making the players install anything
It won't let me play 😭
Question, how would I go about setting up an event for when the player attempts to interact with something, UseBlockEvent doesn't work as it only works on interactable blocks, but I am looking to listen to just whenever the player hits F
same
Why won't it let me play, even though I just bought it?
It works using getItemInHand() but I'm looking any way to find the Player who placed the block
My network is looking for some more developers, we have some experience and looking to bring more hands on to make mini games like smps, pvp servers and more:)
You can get an active chunk for an area with:
WorldChunk chunk = world.getChunkIfInMemory(ChunkUtil.indexChunkFromBlock(blockLocation.x, blockLocation.z));
You will have to track that yourself
No you don't
In an event ? How I can do that ?
ArchetypeChunk.getReferenceTo(index)
Hello, does anyone know which event using water buckets (place) is. Because PlaceBlockEvent isnt
He tells me "your computer's dock appears to be incorrecto (3 hours ahead). This will prevent secure connections from working properly
Thank you it was a path ... YOu solved a various hours problem
Anyone know of a mod that makes weapon/armor stats visible to player so we actually know what they do?
My network is looking for some more developers we have 4 already, we have some experience and looking to bring more hands on to make mini games like smps, pvp servers and more:)
SpawnParticleSystem packet = new SpawnParticleSystem("Fire_Blue",
new Position(playerPosition.x, playerPosition.y, playerPosition.z), rotation, 4.0F, new Color((byte) 0, (byte) 0, (byte) 0));
player.getPlayerRef().getPacketHandler().writeNoCache(packet);
if anyone want to spawn particle
From there you need to access the Player component from the Store provided and the Ref this returns, like:
var ref = archetypeChunk.getReferenceTo(index);
var store = ref.getStore();
var player = store.getComponent(ref, Player.getComponentType());
Some players are getting kicked from breaking blocks, is there any protection agains it?
happend to me many ttimes i know all of the .ui problems now XD
You can use ParticleUtil
No need for manual packet writing
I have a question about the asset editor. When you want to create something, you see a preview that shows what the JSON accepts. Is there a way, and if so, how, to retrieve a JSON file containing empty values from all the previews?
idk how to use it
What part? There are alot of static methods in there
Mod/Plugin request, as none seem to exist: I would like myself and players on server to be able to see the stats of weapons and armor. For now, other than guessing if something is better or not based on the material used, there is no way to know what items do in terms of AC, damage, etc.
i forgot how to use intellij 😭
Yes, it works well!
The store was already an argument of the event so I just written this:
Player player = store.getComponent(archetypeChunk.getReferenceTo(i), Player.getComponentType());
I think I'm starting to understand how the API works, thanks for your help!
I see what could be confusing, you can get the result of nearby entities for one of the params like:
var playerSpatialResource = store.getResource(EntityModule.get().getPlayerSpatialResourceType());
ObjectList<Ref<EntityStore>> results = SpatialResource.getThreadLocalReferenceList();
playerSpatialResource.getSpatialStructure().collect(targetBlockCenterPos, 75.0, results);
public Query<EntityStore> getQuery() {
return BlockEntity.getComponentType();
}``` why do I get a query is null error with this?
Yeah that works fine
Anyone going through the same?
Too early maybe? Someone was encountering a similar issue and one of the Entity component types just wasn't initialized at the time of this plugin initializing
It was fixed by switching the Query's component type
nvm I got it!
It's like riding a bicycle; once you learn, you should never unlearn.
Anyone elses server can't update to the latest version because of crashse?
how would I delay it, is there another function that fires later than setup()?
did u update the assets file too?
Is there another component type that would work for your purpose?
Dunno, my server provider handles that grrr
Im not aware of how to delay a plugin load either
it loads the game, then in a minute it crashes
oh so its a client problem
uh java runnable, if check point
No, server problem
I need to be able to detect a block break, now if I understand ecs events require the entity system
@steel knoll sorry for the ping, we have scammers here
my sever keeps getting stuck at "Finished Generating Points of Interest!" how do i fix this?
Oh then the Query should be for the target entity component not the block
Whats the right format and location for the files? Is it in common\languages\en-US\ or somewhere else
As in, the breaker
so the player?
Does anyone know how to set the world spawn?
Yep, use PlayerRef.getComponentType()
Didint mean to reply
JESUS I JUST DID IT, I IMPORT TEXTURES ON UI 😭😭😭😭 I WANNA CRY
I restarted the server and it worked after, idk what happened there lol
someone can share some links for docs, sites and more about modding ? i already find some about commands and events even had create a simple mod for a /kit but i want to create a proper in game menu, like u type /kit and a menu shows up
I might try as well
Hey guys, how can I use multiple hud on my plugin's code? How do I add the package? 
public void onEnable() {
CompletableFuture
.delayedExecutor(5, TimeUnit.SECONDS)
.execute(() -> {
PluginBootstrap bootstrap = new PluginBootstrap(
getLogger()::info,
this,
getDataFolder().toPath()
);
bootstrap.start();
});
}```
Perhaps this would work?
How do I freeze and unfreeze player movement?
Maybe, the problem was likely solved without requiring the delay though
I just remembered I am bad at java. . . Am I cooked?
Nope
What language do you work with ?
totally
java is best cost-benefit language ever launched i aint discuss about that
you are getting the ids instead of names as well?
C_Java is better
Anyone have an idea? 
Isn't the store received from the system already equals to ref.getStore() ?
I added some custom items, to my mod but my icons dont rende,r I've put them in Common/Icons/ItemsGenerated/Dusts/Copper_icon.png but the game doesnt show them, when I copy the item from my mod to the asset editor, I do see the icon, does anyone know what's going on ?
There's a website on Google that already has good documentation for the Hytale API, hytaledocs pages is called
Yeah they're the same I just forgot that it already gave it to you
how would I identify which component I need for which purpose, like why use player instead of block in this case?
I didnt looked up the way to host already, but do they allow Linux ? or not already ?
Anyone know if noesis accepts <script> tags?
Anyone know how to check when an entity is spawned such as an arrow or a bomb?
where?
Oh, great, that was just a guess, if it was different I would probably blown my brains out
heyy somebody have a scoreboard example n github plss?
i think u should finish building new items in the editor, and test them in the game before moving it to the mod
I run the server on linux
You have to leave and rejoin the server after first generating an icon, otherwise itll just show a "?" icon
The ECS events are registered like Operator -> What they did and the queries are just whats being filtered by the event regarding its operator
bruh "simon is typing" what a freaking moment
mb I have the same name :(
The specific ones of what you want to filter is just whatever the entity has on its components, Players have the Player, PlayerRef component, stuff like that, but not NPCEntity
I can't send a link to the documentation here.
ahhh and the block break event doesn't seem to provide a way to get a player like event.getSource() or something, how would I get that?
Does anyone has a way to disable the Message send through the PlayerDisconnectEvent on Player leave as it does not provide a direct way to block the message
archetypeChunk.getReferenceTo(index)
just the hostname is allright
Provides the reference, then from there you use the store and the ref to get the Player component
?
java.lang.NoSuchMethodError: 'void com.hypixel.hytale.server.core.modules.entity.teleport.Teleport.<init>(com.hypixel.hytale.math.vector.Transform)'
they changed the method with the update ?
And this int in the handle function is the index? It's very complicated for me because variables don't have any names just var1 var2 var3 etc
Yeah
i say that cuse normaly when we create items in the editor, its added completely and correctly, no errors, so than u incorporate it with your mod
abstraction is nice until you gotta actually do the abstraction 😭
if i install a mod, then change my mind later and disable it, will any new items and blocks added in that mod be removed, or replaced with a "null" item/block?
Search the internet like this: Hytale Server Documentation (Unofficial)
Teleport#createForPlayer
There is so much that can be abstracted in the current hytale API, everythings a mess and differently registered
java.lang.RuntimeException: Client took too long to send clientData!
Millis: 3299, Threshold: 3297
I can't play on a server other than my regional one; the server always kicks me out due to client lag.
Not very developer friendly unless you look at a decomp, planning on making one (an API)
does anybody know how to host a server in ARM? i am struggling
i have a plugin that i'm porting from minecraft, all the systems are already abstracted but its a lot of boilerplate to get it to work with hytale lol
Nice
is there any event ticking system for checking projectiles? I've tried an approach like this but haven't been able to get it to print anything in tick()
{
private final ComponentType<EntityStore, ProjectileComponent> projectileType;
public ProjectileTickingSystem(ComponentType<EntityStore, ProjectileComponent> projectileType)
{
Essentials.PrintToInfo("Projectile Ticking System initialized");
this.projectileType = projectileType;
}
@Nullable
@Override
public Query<EntityStore> getQuery()
{
return projectileType;
}
}```
It's a bit confusing, especially for those coming from Bukkit, but I'm gradually documenting the API to make things easier in the future.
Anyone know of a list of each different character config option? I doubt they would be hardcoded but all I can find is the AvatarPresets.json
Have you set the projectileType when you initialize it?
What have you set it to?
{
ComponentType<EntityStore, ProjectileComponent> projectileComponentComponentType = getEntityStoreRegistry().
registerComponent(ProjectileComponent.class, "Projectile", ProjectileComponent.CODEC);
getEntityStoreRegistry().registerSystem(new ProjectileTickingSystem(projectileComponentComponentType));
}```
sorry, formatting is a mess when pasting idk why
Oh thats not right, use ProjectileComponent.getComponentType()
You just made a completely new registration
found it
does anybody know how to host a server in ARM? i am struggling
Thank you! Sorry for bothering you so much, but is there a better way to do this if(event.getBlockType().getId().contains("Ore")) since it looks cursed, like using string literals?
Ah, so like this?
{
ComponentType<EntityStore, ProjectileComponent> projectileComponentComponentType = ProjectileComponent.getComponentType();
getEntityStoreRegistry().registerSystem(new ProjectileTickingSystem(projectileComponentComponentType));
}```
Sure but you don't have to set it from the constructor you can just return it directly from the class
The BlockType should have it I think right? If it doesn't lots is data driven so probably no clean way to just check for an ore
public void handle(int i, @NonNullDecl ArchetypeChunk<EntityStore> archetypeChunk, @NonNullDecl Store<EntityStore> store, @NonNullDecl CommandBuffer<EntityStore> commandBuffer, @NonNullDecl Damage damage) {
HytaleLogger.getLogger().atInfo().log("TEST1");
Player player = store.getComponent(archetypeChunk.getReferenceTo(i), Player.getComponentType());
if (player != null)
HytaleLogger.getLogger().atInfo().log(player.getDisplayName());
}
Any idea why this is not working
?
Nothing explicit in the blocktype
I tried something like event.getBlockType()==BlockType. before and I didn't find any types like say BlockType.ORE just BlockType.DEBUG_CUBE etc. Thanks anyways!
Where do you guys get your info about api other than reverse engineering it?
Has someone played around with DrainPlayerFromWorldEvent?
For some reason onWorldJoin is being called for me but onLeave not (so AddPlayerToWorldEvent is working for me)
private final ConcurrentMap<UUID, World> lastWorld = new ConcurrentHashMap<>();
public WorldEvents(EventRegistry events) {
System.out.println("REGISTER EVENTS!!");
System.out.println("DrainPlayerFromWorldEvent from: "
+ DrainPlayerFromWorldEvent.class.getProtectionDomain().getCodeSource());
System.out.println("EventRegistry from: "
+ events.getClass().getProtectionDomain().getCodeSource());
events.registerGlobal(DrainPlayerFromWorldEvent.class, this::onLeave);
events.registerGlobal(AddPlayerToWorldEvent.class, this::onWorldJoin);
}
private void onLeave(DrainPlayerFromWorldEvent event) {
System.out.println("DrainPlayerFromWorldEvent fired: !");
}
private void onWorldJoin(AddPlayerToWorldEvent event) {
System.out.println("Atleast this gets called!");
}
}```
BlockType.UNKNOWN
Having issues with lang files they just are not working
You can have it from an eventRegistry like so:
eventRegistry.register(PlayerDisconnectEvent.class, listener::onPlayerDisconnect);
Is making Create-like contraptions possible ? Like a fully custom model based on game assets ?
or would it require some work arounds ?
DisconnectEvent != DrainPlayerFromWorldEvent is it?
Thanks, do you know how you can get the component after in the tickingSystem? Would it be something like this? Still not printing anything for me
@Override
public void tick(float dt, int index,
ArchetypeChunk<EntityStore> chunk,
Store<EntityStore> store,
CommandBuffer<EntityStore> commandBuffer)
{
ProjectileComponent projectileComponent = chunk.getComponent(index, projectileType);
}```
guys how can I create a fake entity above a custom block
Yea use render type model
Oh right, my bad, didn't see it fully
chunk.getReferenceTo(index)
Its really weird, the AddPlayerToWorldEvent is working fine for me..
whats that ?
Asset editor?
Although I suppose maybe chunk.getComponent should work
is there any way to store persistent data on individual items like tools?
do i need to update the server .jar to have the new update?
🇪🇸SI ALGUIEN BUSCA UNA COMUNIDAD DE HYTALE QUE NO ES TOXICA TIENE COMANDOS PARA TENRE /HOME /TPA Y MUCHO MAS, HABLENME AL PRIV, AGREGUENME PARA PODER Y LES DIGO 🇦🇷 UN SALUDO A TODOS AMIGOS
I updated and now the server wont open
that does not allow dynamic model with entities, does it ? Or am i wrong
In that case im not gonna update my server jar lmao
Not sure but animations exist
[2026/01/17 22:08:48 SEVERE] [World|default] Failed to run task!
java.lang.NullPointerException
does anybody know how to host a server in ARM? i am struggling
Im gonna ignore this type of error, but it seems something breaks. Server still running, is what I want so (All good)
Anyone know proper way to use lang files
How do I get the world inside of an event, I don't see a event.getWorld()or a Universe.get().getWorld() by a context object but rather a string and I don't want to hardcode names?
Have you got a store
Yes probably I think they all give you one, its
store.getExternalData().getWorld()
how do i update the game via a sever? i have done the reinstale and keep files but its not updating to the new patch,
Ohhh getExternalData(), how did you even find that, we need those docs asap lol
Just poking around
How do i get a chunks biome? All the biome related info i could find is used in the generators
i would need to be able to send custom geometry but i suppose the current game state wont allow me to
why doesnt this work?
WindowManager windowManager = player.getWindowManager();
Window window = new ContainerWindow(new SimpleItemContainer((short) 27));
System.out.println(player.getDisplayName());
OpenWindow packet = windowManager.openWindow(window);}
it doesnt open the gui
player.getPageManager().setPageWithWindows(ref, store, Page.Bench, true, window);
I am not that good in java yet to read someone else's code lol
I mean, its a huge game, there's lots of stuff to figure out
WorldChunk maybe?
I'll have a look
not on worldchunk, not on blockchunk either :/
Hi, could you help me to know where I should look for starting to make plugins? I can't find the documentation page
Is there anyone that can help with test?
It was a size issue, they need to be 32 x 32
You can also always ask something like ChatGPT/gemini what each line of code means. Unless you are against something like that.
It’s a good learning tool
Anyone know how to load a player into a certain world when they join? I’ve got a PlayerConnectEvent system registered but it throws an exception when switching world. For some reason I can’t register a PlayerReadyEvent, but I think it has to do with me changing their world before being ready/fully connected?
I am not but I am scared of it providing me a wrong answer, I know some of the syntax since I came from C++ but it is still very complicated to read for me (I probably can't read someone else's C++ code either)
Does getting the generator from:
IWorldGen worldGen = world.getChunkStore().getGenerator();
Not have up to date information?
Hi 🙁
I just had my server crash. Restarted it, all players lost all their stuff. Did someone ele had that issue?
Then if its a ChunkGenerator:
int seed = (int)world.getWorldConfig().getSeed();
ZoneBiomeResult result = (ChunkGenerator)worldGen.getZoneBiomeResultAt(seed, x, z);
But check if it is first I guess? Maybe its not in every world
Ngl I think I’m gonna need a lot of help from here ngl. . .
what does Page.Bench do?
There are various Page types or whatever and they tell the client how to show the inventory alongside the window
So it seems to be an issue that also multiple other people had before me, but I couldn't find a solution sadly. What is the correct way to open a window for a player? This is my current setup and it seems to be adding the window to the open window stack but the client doesn't see it. The window id in the packet which is returned is always 200.
WindowManager windowManager = player.getWindowManager();
ItemStackItemContainer container = ItemStackItemContainer.ensureContainer(hotbarContainer, heldItemSlot, (short) 27);
Window window = new ItemStackContainerWindow(container);
OpenWindow packet = windowManager.openWindow(window);
if (packet != null) {
window.getPlayerRef().getPacketHandler().write(packet);
}
How do you transfer players between worlds, if i remove the player before i try and spawn them in a new world the player ref is null so that doesnt work but if i try to put them in a world before removing them then it says "Player is already in a world"
Some of them have slightly different orderings or formats
Does anyone know which event handles water buckets (place) is. Because PlaceBlockEvent isnt
Or is there some way to prevent pacing water buckets?
player.getPageManager().setPageWithWindows(ref, store, Page.Bench, true, window);
ty
Lmk. I’m trying to figure this out aswell
The teleport component
Hello,
I have a question: How do I connect an IP address to my domain?
Could you help me with that?
Does anyone know how to force refresh a merchant's trades? Is that something I can do from within the game?
Just add it to them, in its constructor it can be given a world and a pos
I just had my server crash. Restarted it, all players lost all their stuff. Did someone ele had that issue?
well that just makes sense
looking for skilled dev for small job can be compensated HMU would like it to be started on soon
do u have any backup plugin? i mean thats not a common problem
I’ve already done that, but it’s not working.
If you're being sarcastic its hard to tell but you can add components to entities with refs and stores
store.addComponent(ref, Teleport.getComponentType(), new Teleport(targetWorld, spawnPoint));
Type A entry in your DNS
Anyone know if projectiles are even in the EntityTickingSystem? I'm not sure if I'm just constructing this improperly, but tick() doesn't seem to run at all which I think implies the Query() isn't getting any entity? Not entirely sure how this all works
public class ProjectileTickingSystem extends EntityTickingSystem<EntityStore>
{
private final ComponentType<EntityStore, ProjectileComponent> projectileType;
public ProjectileTickingSystem(ComponentType<EntityStore, ProjectileComponent> projectileType)
{
Essentials.PrintToInfo("Projectile Ticking System initialized");
this.projectileType = projectileType;
}
@Nullable
@Override
public Query<EntityStore> getQuery()
{
return projectileType;
}
@Override
public void tick(float dt, int index,
ArchetypeChunk<EntityStore> chunk,
Store<EntityStore> store,
CommandBuffer<EntityStore> commandBuffer)
{
Essentials.PrintToInfo("Entity ticking");
Essentials.PrintToInfo("Chunk get ref: " + chunk.getReferenceTo(index).toString());
ProjectileComponent projectileComponent = chunk.getComponent(index, projectileType);
Essentials.PrintToInfo("Chunk get component: " + projectileComponent.toString());
}
}
private void registerSystems()
{
getEntityStoreRegistry().registerSystem(new ProjectileTickingSystem(ProjectileComponent.getComponentType()));
}```
i was not i use /s lmao
Thank you random stranger!
Is there a server where everyone is playing?
@eternal summit hi sorry to ping you, i'm having this same issue you had #server-plugins-read-only message did you ever find a solution?
looking for skilled dev for small job can be compensated HMU would like it to be started on soon
??
how much you paying
Anyone has a method to cancel the default leave message of the server for a player
The server is not running through a proxy or anything like that.
Dude with the name Hypixel is pretending to be you on a bunch of servers just so you know
What it was?
The server is not running through a proxy or anything like that.
whatre u talkin about bro
I was on HyFable and there was someone named Hypixel that was telling everyone he is simon
Hi yes, it was world corruption, we re-did universe and settings
Shouldn't it be Init instead of onEnable?
you can hmu if youre interested
ah, so just delete the config and world folder?
How do you register a custom entity component?
Hey guys! I'm trying to get to players inventory after an action, and not sure how to do it
I added an event listener for packets, got the interaction type i needed, but cant figure out how to get to the player object
Here's the code, (without null checks)
// ...
Universe universe = Universe.get();
PlayerRef currentPlayerRef = universe.getPlayer(uuid);
var ref = currentPlayerRef.getReference();
var currentPlayer = ref.getStore().getComponent(ref, Player.getComponentType()); // errors here
var inventory = currentPlayer.getInventory();
// ...
And it errors because i'm in a network thread, and getStore() should be called in a world thread
Do i have to do universe.getTaskRegistry().register(........) or am i dumb and is there a simpler way?
We nuked universe, try renaming the world
okay will do
i think ur thinking of a different simon, the dude who bought and owns this server is named Simon i'm not him
unless ur bein sarcastic i cant tell
Does anyone know which event handles water buckets (place) is. Because PlaceBlockEvent isnt
Or is there some way to prevent pacing water buckets?
My bad setup*
thats hilarious, i also find it funny that you said server lmao
yh
super(init);
instance = this;
}```
i actually thought you were simon ngl
cann you my friend accpt pls
me too 🤣🤣
but understood 1s after
Make a class that
implements Component<EntityStore>
Make a CODEC (Look at any class that happens to do it, this is for serializing all its contained data)
Register it like:
getEntityStoreRegistry().registerComponent(YourComponent.class, "YourComponent", YourComponent.CODEC);
i meant server as in this discord server, but they own the hytale IP as well which i guess is a bigger dear lol
hello guys, know anyone yet a global sendmessage how like in mc = Bukkit getServer spigot broadcast(BaseComponent)
i want do send Message to players but also the Console without Logger
The registerComponent method returns the result used by other components like getComponentType() so make sure to save it somewhere for when something asks you for it
?
public class Test extends JavaPlugin {
private static Test instance;
private static final HytaleLogger logger = HytaleLogger.forEnclosingClass();
public Test(JavaPluginInit init)
{
super(init);
instance = this;
logger.atInfo().log("Plugin loaded!");
}
@Override
public void setup()
{
logger.atInfo().log("Plugin enabled!");
}
@Override
public void shutdown() {
logger.atInfo().log("Plugin disabled!");
}
public static Test getInstance() {
return instance;
}
}
Use world.execute
Yes, exactly. The example I sent was just to show how to delay the initialization of his plugin.
Surely you have better context than zero from scratch or something, you shouldn't need to pull that sort of info from Universe if you have an event
oh mb
Hey!!
What file can i find the api for teleport?
new Teleport(targetWorld, spawnPoint));
Do yo found a solution?
Hi
Thats all you need, just add it to the player you wanna TP
Do you found a solution????
if i have to save data of all opened chests per player
would you store the list of players inside the chunk files,
or the list of chests per player somewhere like a database?
Does anyone know which event handles water buckets (place) is. Because PlaceBlockEvent isnt
Or is there some way to prevent pacing water buckets?
i figured, i was just hoping to find the source for it
i think its something related to /fluid command
I was gonna ask if it’s possible to get the ingame time using plugins in Middle English, but I messed up so bad 😭
Is this component registered properly?
The TeleportWorldCommand class might be useful to you
CODEC and all?
Is there any documentation on writing plugins right now?
Yes just wrote it
okay thanks will do
Where did you post the solution?
Hey !! I have a little problem 😂
I need a custom ui on my plugins, but i need to use config too... but when i save my config file and restart the server, i got an error
[AssetModule|P] Skipping pack at com.romainalc_Duel: missing or invalid manifest.json
Search for my messages ^^
Is there a way to get the block (ref) by coords?
Your CODEC is valid?
Can Item.CODEC be somehow extended? I'd like to add a new field to Item's metadata, but it seems it's closed for extension
do you have something like this in manifest.json?
{
"Group": "$pluginGroup",
"Name": "$pluginName",
"Version": "$pluginVersion",
"Description": "$pluginDescription",
"Authors": [
{
"Name": "Amelia",
"Email": "",
"Url": ""
}
],
"Website": "",
"Main": "$pluginMain",
"ServerVersion": "*",
"Dependencies":
{
"Amy:HytaleEnergyAPI": "*"
},
"OptionalDependencies": {},
"LoadBefore": {},
"DisabledByDefault": false,
"IncludesAssetPack": true,
"SubPlugins": []
}
Hello, I'm currently trying to log in to the game, but when I open the browser, it says I'm logged in and can now go to the app. However, when I exit the browser, it doesn't show that I'm logged in. The same thing happens when I try again. Please help me find a solution; I really want to play the game.
shhhhh
yea lol I was waiting for the edit
🇪🇸SI ALGUIEN BUSCA UNA COMUNIDAD DE HYTALE QUE NO ES TOXICA TIENE COMANDOS PARA TENRE /HOME /TPA Y MUCHO MAS, HABLENME AL PRIV, AGREGUENME PARA PODER Y LES DIGO 🇦🇷 UN SALUDO A TODOS AMIGOS
I tried listening to the MouseButtonEvent or whatever its called, but it did not seem to fire with any actions
So i moved into network and listening for packets, so i have a packet handler
public static void ListenToMiddleClick(PacketHandler handler, Packet packet) {
PlayerAuthentication playerAuth = handler.getAuth();
UUID uuid = playerAuth.getUuid();
// ....
Is there a better way to get to the Player object?
Thats not the right Codec for UUIDs its
Codec.UUID_BINARY
Yes, in first start, when config folder doesn't exist, no problem, but when i restart, i crash when trying to show ui
{
"Group": "com.romainalc",
"Name": "Duel",
"Version": "1.0.0",
"Main": "com.romainalc.duel.Main",
"IncludesAssetPack": true
}
What you've pulled is the UUIDComponents codec
Intellij isnt letting me crtl f for this class TeleportWorldCommand would someone mind telling me the directory of this class?
World#getBlockType(x, y, z) iirc
Did you have this problem with a specific plugin? Because for me it only happens when I have the Hyfactions plugin installed; if I remove it, it loads correctly.
does anyone have some good multiplayer servers
ya but I need the actual block ref not the blocktype
هل يوجد عربي
bruh
for me it was world corruption
We need a luckperms for hytale
هاااا
to destroy it
The mouse events are broken I think
If that works and thats all the context you have then I suppose thats fine
i think it exists already - do some research about it
You just want to destroy a block?
.
i dont have an actual decompiled client, if someone has a decompiled client you can go to the folder and use the search in the top right to quickly get me the directory
My server freezes here. I've created two completely new worlds, and this only happens when I have more than one world with this plugin.
[2026/01/17 22:37:07 INFO] [HytaleServer] =====================================================================================================
[2026/01/17 22:37:07 INFO] [HytaleServer] Hytale Server Booted! [Multiplayer] took 6sec 470ms 192us 300ns
[2026/01/17 22:37:07 INFO] [HytaleServer] ===============================================================================
[2026/01/17 22:37:08 INFO] [World|default|M] Initializing world map generator: com.kaws.hyfaction.map.HyfactionChunkWorldMap@2e1de901
[2026/01/17 22:37:08 INFO] [World|default|M] Initializing world map generator: com.kaws.hyfaction.map.HyfactionChunkWorldMap@2e1de901
[2026/01/17 22:37:08 INFO] [World|default|M] Generating Points of Interest...
[2026/01/17 22:37:08 INFO] [World|mundo2|M] Initializing world map generator: com.kaws.hyfaction.map.HyfactionChunkWorldMap@2e1de901
[2026/01/17 22:37:08 INFO] [World|default|M] Finished Generating Points of Interest!
Ever got any answers to this? My server is being plagued with it whenever players mine or cut down trees, and it's causing nasty TPS lag, even kicking players out. Tried a new world, deleting all mods, and nothing. It seems to not do it as much when there's only one player on the server.
any good way to get player ref from uuid?
Hi, did someone managed to create a Page with scrolling ?
Is there a map codec, sense you seem to know a decent amount about those?
Okay my bad, i try to recreate new mods and now, it's work
I can't connect my server
Yes (well not really, I wanna add some checks later but summed up yes), I was trying commandBuffer.tryRemoveEntity() is that not the correct way?
I don't think they made any complex codecs like arrays or whatnot
You should be able to make your own though
i mean there is a string array, but i dont know about maps
Codec.UUID_BINARY
Thanks, probably saved me hours
the "ScrollView" element type is giving me errors
im not a dev but im quite sure ui already automaticaly includes page scrolling when it gets bigger than the area
stupid question but how are y'all learning the plugin API? i am struggling to make anything functional without docs
Is there a dedicated function for destroying a block, cause I can't find it
theres no documentation yet :v - community did some though
Yes, one moment
Are there global registeries for materials and biomes? I basically need to loop through all registered ones to see if they match
anyone have this issue ?
[2026/01/17 22:40:29 SEVERE] [InteractionChain] Attempted to store sync data at 0. Offset: 2, Size: 0
keeps spamming my console can't track it
is it safe to hold a reference to PlayerRef? or does it swap at runtime
yeah thats what im struggling with, i dont get how ppl are making so many cool plugins while im genuinely struggling to recognize a right click
Yeah and those are pretty neat, is it allowed to share links here?
BlockHarvestUtils.naturallyRemoveBlock();
cuse they already work with plugin in minecraft, its really near
your reference to palyeref will also be a reference so if it changes it will change too
guys how to I get the in game time 🥺
Thats crazy, thanks! I think you should make your own docs lol
lol i decided not to learn minecraft modding because hytale was about to come out, guess i F-ed myself there huh
I think if you want drops its a different method
naturallyRemoveBlockByPhysics
I think?
When in doubt look for a utils class xD
I'm trying to join my friend's server but it won't let us. Since the update, we've tried with a new world and nothing works. Does anyone know how to fix this?
Is your component null or is the uuid null at the time of the check
Oh well I kinda do,yes the naturallyRemoveBlockByPhysics does show up in autocomplete but it is crossed for some reason (may be deprecated) but will try
Hey. Does anyone know if it is required to make a plugin instead of a pack to add custom attacks with particles ?
😵💫
The game uses it so don't worry so much about that
It uses it for the tree breaking and other gravity related breaks
Am I just stupid?
what's the command to change the server rams ?
Pretty sure its in World
i dont think theres a command for that lmao
"More RAM: If you have many players, increase the memory limit in your launch command (e.g., -Xmx8Gto 8 GB)." but -Xmx8Gto is not really a command so
the ability to retrieve time relative to when a player joins that world so when a player has been in that world (server) for a certain amount of time that it activates an event?
No answer
Cant login, got this text: unable to refresh account after login , any suggestions?
you need to set those in the startup parameters
yeah i meant a command in game e.e'
Not sure what this message is trying to say but heres how to get the time
store.getResource(WorldTimeResource.getResourceType()).getGameDateTime();
Im not sure then, from your snippet that seemed right
where i can find it ?
it requires 7 arguments daym, idk what filler and setBlockSettings ints are for
using maven instead of gradle was most based decision
tysm
alr
I made a custom dagger in a Creative world and modified some behaviors like dice rolls, impulse, and crafting. Is there any way to export this as a mod and put it on a website?
Anyone had any success with this? I can get tick() to print properly every tick if I set the getQuery return to Query.any(), but for some reason I can't isolate it to projectiles
public class ProjectileTickingSystem extends EntityTickingSystem<EntityStore>
{
public ProjectileTickingSystem()
{
Essentials.PrintToInfo("Projectile Ticking System initialized");
}
@Nullable
@Override
public Query<EntityStore> getQuery()
{
//also attempted:
// return Query.and(ProjectileComponent.getComponentType());
// return Query.or(ProjectileComponent.getComponentType());
return ProjectileComponent.getComponentType();
}
@Override
public void tick(float dt, int index,
ArchetypeChunk<EntityStore> chunk,
Store<EntityStore> store,
CommandBuffer<EntityStore> commandBuffer)
{
Essentials.PrintToInfo("Entity ticking");
Essentials.PrintToInfo("Chunk get ref: " + chunk.getReferenceTo(index).toString());
ProjectileComponent projectileComponent = chunk.getComponent(index, ProjectileComponent.getComponentType());
if (projectileComponent != null)
Essentials.PrintToInfo("Chunk get component: " + projectileComponent.toString());
}
}```
[2026/01/17 22:49:07 SEVERE] [PlayerRef] PlayerRef.getComponent(Player) called async with player in world
What?
⚠️ Useful information ⚠️
I don't know if you are all aware of this (I just discovered it) but when you are developing things like Pages UI or other things that the server console does not log you in detail, you could take a look at your Client logs. In my case it says clearly in details WHY it wasn't able to load my page.
Path to your Client logs : C:\Users\User\AppData\Roaming\Hytale\UserData\Logs
Does anyone know, how I can check the InteractionEvent for a specific interaction like the DoorInteraction?
why haven't you finished your website
Ended up with this idk if this is correct java BlockHarvestUtils.naturallyRemoveBlockByPhysics(neighborPos, world.getBlockType(neighborPos), 0, 0, world.getChunkStore().getChunkSectionReference(neighborPos.x, neighborPos.y, neighborPos.z), world.getEntityStore().getStore(), world.getChunkStore().getStore()); I know I can reduce calls here by caching but first I gotta figure out if this works
please tell me how to start the server on vds?
even more. u can use system print to debug more information to read from logs
i spent about 5 hours on my own vds
im really interested in this
I had to rewrite everything 😭
I don't think debugging like this could give you this type of log (here's an example of log that the Client gave me for the Page UI):
2026-01-17 23:44:40.2278|INFO|HytaleClient.Application.AppGameLoading|HytaleClient.Interface.UI.Markup.TextParser+TextParserException: Failed to parse file PluginEntry.ui (3:1) – Unknown node type: Global HytaleClient.Interface.UI.Markup.TextParser+TextParserException: Failed to parse file PluginEntry.ui (3:1) – Unknown node type: Global
wait yall do I have to decompile this to make a plugin or is it just useful?
just for reading
helps to peek at classes and whatnot, if you have an IDE like intelliJ or Eclipse you can peek them without decomping but its not quite as good in some areas
also when you want to read its all int var1, float var2, double var3 so good luck understanding anything
hollo guys i have a question can I transfer the save files from Client to Server and how ??
yeah i dont think its obfuscated which is good for development
Well I got 27 errors so far 😭
I feel like I'm losing my mind am I wrong in assuming that arrows, spells, bombs or anything of that sort are projectiles?
Errors are pretty normal when decompiling
dont trust @rigid musk cant finish a website
Hi, how to listen to inventory opening/closing?
Anyone know how to recreate the Creative Hub World Type with one world being Creative Only, and one being Survival with different inventories?
have u tried checking a bow inside asset editor how its constructed?
int filler = 0;
Store<ChunkStore> chunkStore = world.getChunkStore().getStore();
Ref<ChunkStore> chunkRef = world.getChunkStore().getChunkReference(ChunkUtil.indexChunkFromBlock(blockPosition.x, blockPosition.z));
BlockHarvestUtils.naturallyRemoveBlockByPhysics(
new Vector3i(blockX, blockY, blockZ), blockType, filler, 256, chunkRef , entityStore, chunkStore
);
Should work
Not sure what filter is for but the game ensures its 0 when its used
he writes minecraft rats
probably is client side, try with packets
@rigid musk writes minecraft rats that take over ur machine and steal ur account info
Thanks
what ?
ik who u r buddy don't play innocent
Ok, thx
tf are you talking about buddy ?
ur a ratter and doxer
no ? XD
I didn't see that, must've been the wind
I’m just gonna give up on decompiling this 😭
Typo, filler not filter
I literally have my face on Discord and you think I will rat and dox people ? 🤣
look at his profile if u dont believe me there is a website
bro u aint fooling anyone
Oh and you need a Store<EntityStore> apparently for the second to last arg not another chunkstore
the minecraft-hacking website ? that's a project so people can learn how exploits work on Minecraft and how to protect servers 🤨
that pfp is fake its someone from hypixel studios
Ik that there are certain seemingly hard-coded emotes. Is there a way of playing animations on demand which aren't emotes?
nice rage bait, I fell 🤣
liar
anyone know way to disable natural regen?
codes a lot with this fella called claude
my fella is Gemini bro
thats how i know u r skidding
🥺
did you find out ab this ?
sorry you're right, I'll free this chat
How would I register this class?
class PlayerMovementSystem : EntityTickingSystem<EntityStore>() {
override fun tick(
dt: Float,
index: Int,
archetypeChunk: ArchetypeChunk<EntityStore>,
store: Store<EntityStore>,
commandBuffer: CommandBuffer<EntityStore>,
) {
val player: Player? = archetypeChunk.getComponent(index, Player.getComponentType())
val transformComponent : TransformComponent? = store.getComponent(player!!.reference!!, TransformComponent.getComponentType())
player.sendMessage(Message.raw("X: ${transformComponent?.position?.x}" + " Y: ${transformComponent?.position?.y}" + " Z: ${transformComponent?.position?.z}"))
}
override fun getQuery(): Query<EntityStore?>? {
return Query.and(Player.getComponentType())
}
}```
Anyone wanna come test out my custom skyblock plugin? i basically just need to make sure that when you do /is create you end up in your own world, it should work as intended, i just wanna double check rq
I'll try making my own block component and getting back to you, I haven't experimented personally with them yet so Im not as confident in my assistance
Yooo why are the servers made the way they are. I’m jus tryna play with my friend and I gotta go thru the UpNp bs with firewalls and ips
i can
why a world per user
Can I somehow give myself the selection tool as an op? because I have a backpack already and it doesn't show the creative inventory,
dms
getEntityStoreRegistry().registerSystem()
I assume so? Shortbows have an interaction for a projectile of Weapon_Shortbow_Primary_Shoot_Projectile, so I assume they are entities with a projectile component? I cannot grab them for the life of me in an EntityTickingSystem though
Thanks!!
You don't have to Query.and btw you can just return the component type directly
Its a custom interaction?
do i need to update my server manually for the new updat released today?
I'll have a look then
Guys, how can I listen to button click in UI?
I just wrote code for creating the page and binding button activating, but idk how to handle specific button in handleDataEvent().
recopy assets, hytaleserver aot and jar
Strange, projectiles do seem to be entities, have you tried ticking the player component or something? Just for sanity
I am able
Are there any docs at all for the current sdk? I don't even know where to start other than decompiling existing mods
None that are official
But there are plenty of unofficial ones, google them, I think you'd find them easy
All of us in first day started from decompiling existing mods)
Thanks again 🙂
i have a template if you need
sure that would be great
i decompiled the server lol
Does anyone have an example on how to do ingame UI? For example there is a mod that uses the UI to display warps
Yeah I immediately decomped the server
/system32developer/Hytale-templates
on the start add github dot com
sweet ty
I just wrote code for creating the page and binding button activating, but idk how to handle specific button in handleDataEvent(). Any advice?
Anyone dealt with black grass in voide worlds?
Does anyone have public servers?
not the place for that buddy
did u named ur button with #puturnamehere ? u can use that name
My fault. Do you know where to go for that?
How would you add a new property to Items? Like a new Functionality section or smth like that?
Yeah, ofc. How can I check the name of element that was activated, if handleDataEvent provides only this args:
@Nonnull Ref<EntityStore> ref, @Nonnull Store<EntityStore> store, @Nonnull MyObject data
#game-discussion or #exploration-mode or #1440422085750030457 or anywhere else lmao
yeah if I do something like swap to PlayerSkinComponent
@Nullable
@Override
public Query<EntityStore> getQuery()
{
return PlayerSkinComponent.getComponentType();
}
@Override
public void tick(float dt, int index,
ArchetypeChunk<EntityStore> chunk,
Store<EntityStore> store,
CommandBuffer<EntityStore> commandBuffer)
{
Ref<EntityStore> entityStoreRef = chunk.getReferenceTo(index);
PlayerSkinComponent projectileComponent = chunk.getComponent(index, PlayerSkinComponent.getComponentType());
PlayerSkinComponent projectileComponent2 = store.getComponent(chunk.getReferenceTo(index), PlayerSkinComponent.getComponentType());
if (projectileComponent != null)
Essentials.PrintToInfo("Chunk get component: " + projectileComponent.toString());
if (projectileComponent2 != null)
Essentials.PrintToInfo("Chunk get component 2: " + projectileComponent2.toString());
}```
I'll get this printing out
PlayerSkinComponent@73083bd
[2026/01/17 23:11:19 INFO] [Essentials|P] Chunk get component: com.hypixel.hytale.server.core.modules.entity.player.PlayerSkinComponent@73083bd
[2026/01/17 23:11:19 INFO] [Essentials|P] Chunk get component 2: com.hypixel.hytale.server.core.modules.entity.player.PlayerSkinComponent@73083bd```
Ignore weird tick code, I'm just messing around with random stuff seeing if I can get anything to work
Regardless when Query is swapped back to ProjectileComponent.getComponentType() it won't print anything
Is hytale server supposed to be taking up massive amounts of disk space, my server is already at 30gb of stored files
i dont think so
if youre printing a lot into logs it can get large real quick
Maybe they don't actually have that component on? I can't imagine why such a component would exist if its not put on projectiles
Its ok, if u or ur players loaded many chunks.
Ah okay. Yeah my logs are spammed with crap from the server. I’ll prob delete some logs
thats how the worldgen works, im quite sure it'll be way agressive in worldgen 2
Any idea if theres anything else an arrow/spell/bomb etc would specifically have? The ProjectileComponent seems to contain all the information for a projectile
How to export a pack?
I'll have a look
Anyone have issues with black grass in void instances?
What pack? Assets?
Projectiles might have a specific entity role which you could check for
that occours cuse the void map doesnt have biomes or tint
just select the area u need and use /tint <hexadecimal code>
Ya, I made daggers in creative mode
Is that done in a similar manner using the ticking system or is it different?
But don't know how to share it
Thanks!
Inside the ticking system is what I mean, but now that I think about it, you can make a component watcher of the ProjectileComponent instead
It would fire when its added to an entity
%appdata%\Hytale\UserData\Saves<your_world> and there must be assets.zip or smth like this.
Oh how would I go about that?
If that doesn't fire then there is no such component being added, you can make those with a
RefChangeSystem<EntityStore, ProjectileComponent>
Then set the Query to Query.any()
I just wrote code for creating the page and binding button activating, but idk how to handle specific button in handleDataEvent().
I can't just check the id of activated element, cuz handleDataEvent() provides only this args:
@Nonnull Ref<EntityStore> ref, @Nonnull Store<EntityStore> store, @Nonnull MyObject data
Any advice?
Oh hold on, theres a component called "Projectile" which is different from "ProjectileComponent"
Genius organizational schemes
Thanks, I will try
would it be possible to have a plugin that uses bbmodels instead of blockymodels for those who don't want the limitations or would you have to have a client mod for that?
im gonna lose my mind if thats what it is lol
do player interaction events require keyed registrations?
That probably is it
ppfff yeah it is
hey guys, is it possible to get the player avatar as image?
omg thank you thats insane
im not getting any events in my listener, currently using registerGlobal
getEventRegistry().registerGlobal(
com.hypixel.hytale.server.core.event.events.player.PlayerInteractEvent.class,
listener::onPlayerInteract
);
getEventRegistry().registerGlobal(
com.hypixel.hytale.server.core.event.events.player.PlayerMouseButtonEvent.class,
listener::onMouseButton
);
Heyyy there is no documentation yet for image since they are not officially supported for now! I will update it soon to add logo support!
I'm sorry! )Btw download the latest update it fix major bug
Has that worked?
Yes if I throw a bomb or shoot an arrow itll spam console a couple times. I'll now see if I can't manipulate it in here. Thanks!
That is so silly
how can i see my ip code for my friend to conect
?
fr I wonder if ProjectileComponent is even used at all, maybe its for the asset editor?
Probably not
u disliked i thought u didnt get to do the tint thing
Oh, sorry, missclick!
They have a few components that just have the class name of what they are supposed to be like "Velocity"
is there any project looking for help?
yeah theyve got a lot of work to do for if and when they add documentation to server plugins
what kind u want to help?
I actually ran into the same issue when using the Void generator, so I'll know how to fix it
coding
all servers are born being plugin-servers 😛 u dont need to do anything at all
even singleplayers worlds are servers
I mean
Alright
But how can i do one
There are a few youtube tutorials
oh, u just need do decompile the server .jar file
so u get access to the hytale api
Oh. Right. It’s open source
use the jar as library
check dms
Is there any way to reload mods? Or as for now should I stick to quiting and joining world?
Plugin reloading has been messed up for me, you can try it with /plugin reload groupname:modname
i think u can have some restarting system with /plugin command i dont remember properly
I just wrote code for creating the page and binding button activating, but idk how to handle specific button in handleDataEvent().
I can't just check the id of activated element, cuz handleDataEvent() provides only this args:
@Nonnull Ref<EntityStore> ref, @Nonnull Store<EntityStore> store, @Nonnull MyObject data
Any advice?
Does anyone already figured how to use to MySQL/Postgres?
telling you all rn!
if you have some gpus laying around Decompile and vecortirze Hytales server files!
plugins will be alot easier you can ask it just like a ai llm about the code
Created collection: hytale_codebase
Chunking codebase...
Found 5218 Java files to process
look at CoreProject they have it
What's not working exactly?
Like in MC, nothing new.
is there a good template manifest.json out there somewhere? Apparently I need one for my mod to work I just can't find that much talking about it online
Theres nothing different, its not related to hytale
Really excited for creating plugins, but gotta admit the current state is a wreck, no documentation, everythign seems very convoluted to access
Like getting an event, you need to access Player: Let's get the chunk that the event came from(Instead of the event having a reference to the player that invoked said event), then we can get the player from the chunk using the id already sent with the event
Okay, we got the player, let's get their UUID!
Oh wait, deprecated? Hmm okay, interesting choice..
Now instead of the reference to the player object containing the uuid, we need a playerref (Keep in mind player is an object so by definition it is a reference to the player, but sure we'll grab something called a playerref), well maybe the Player object has the PlayerRef accessible? Nope.. Go back to the chunk store and get the player ref component via the id sent in the original event
/rant over
@high beacon @civic zephyr All right, thanks
I just wrote code for creating the page and binding button activating, but idk how to handle specific button in handleDataEvent().
I can't just check the id of activated element, cuz handleDataEvent() provides only this args:
@Nonnull Ref<EntityStore> ref, @Nonnull Store<EntityStore> store, @Nonnull MyObject data
Any advice?
How/where can I get some (community) support with a server setup using docker? Is there like an official channel to discuss about crashes etc?
curseforge website has a lot of help
but there are some good souls here too (im not a dev)
Wait a sec. So… you can do mods with java?
welcome to java
Plugins are writtin in java
Mods arent
Ok
yea same here. But I think they will rework it at some point but yea idk
Does anyone know how to add chance drops to a recipe if so please message me, like I want a block to have a chance to output copper not always drop copper.
There is no difference as of right now in hytale
thats the feeling of an early access lmao
There is no clientside mod availability
Theres UUIDComponent on most entities
ANYOEN TRYNNA PLAY ON MY SERVER OR ON THEYRS?
Thats why the accessor on players deprecated
Idk but im sure someones gonna make a client modloader at some point
It's just eary access a lot is going to change, the api will change a lot and become more easy, they can't make things harder than MC
not really running any mods (yet) - that's why I asked where to get proper info instead of asking directly here haha
Made a initial setup for a placeholderapi mod. Got this thing working after 4 hours
(barebones, only register. But full support to add new ones in other mods with 2 simple classes forcing all placeholders to be inside 'an expansionpack')
any freelance developers available ?
MigrateFarming class does it
Anyone figured a way out to cancel the Broadcastet leave message from the server on a player disconnect
It's a bit confusing but not that bad, my main problem is then need to provide a lot more ECS events.
Heya! Does anyone know how to get a world object from the name of a world? I can get a world from a name using a Universe object, but I don't know how to get that.
Universe.get()
I have been doing this for 30m with no luck. I can't believe its that simple. Thank you a million!
Occams razor
it's how ECS architecture works, an entity is just an id and you attach components (aka datas) to it. The Ref<EntityStore> is the ref for the entity, PlayerRef (terrible naming) is nothing more than a component for the player (but not the actual instantiated player in the world) and Player is the component for the player instance in the world
do you know to query for stuff other then the player? most examples just use query() {... PlayerRef }
The component types are queries
I figured it out chat 😭 I think I know what to do now 😭 why is making plugins so hard 😭
Any component type can just be returned in place of the Query
oh really? So like how would I query for a rabbit?
guys quick question, i didn't buy the game for the moment, but on our own server we can have Plugins & Mods at the same time ?
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)
{
}
}
Anyone know how I could go about getting the projectileComponents entity and world position from here?
you can query for whatever you want, just pass the components you need as the query
That one isn't a component and rather is a role on the npcentity
You'd have to further filter on NPCEntity components
yes
So I query for npcentity and then check if it's role is rabbit?
Yep
Yoo
, thanks for the answer
interesting, the events also seem kinda limited atm or is that just me?