#server-plugins-read-only
1 messages · Page 88 of 1
That’s a good question send me a dm I will check
how do i open that console in a singleplayer world?
Guys What's the correct EventHandlerRegistry.register() syntax for BlockBreakEvent and BlockPlaceEvent? Standard registration not firing
Can telle you that in 5 min max
done, thanks for your help
If it is also possible for images, could you infrom me?
Guys, how do I change an item’s icon in the asset editor? I’ve already made the texture and added it to the asset editor, but it still keeps the base game item’s texture.
Is there any modding documentation available to help me learn to make mods?
`public class MyPlugin extends JavaPlugin {
public MyPlugin(@Nonnull JavaPluginInit init) {
super(init);
}
@Override
protected void setup() {
// Register the ECS event system
getEntityStoreRegistry().registerSystem(new BlockBreakSystem());
}
} public class MyPlugin extends JavaPlugin {
public MyPlugin(@Nonnull JavaPluginInit init) {
super(init);
}
@Override
protected void setup() {
// Register the ECS event system
getEntityStoreRegistry().registerSystem(new BlockPlaceSystem());
}
}`
[2026/01/19 18:30:09 INFO] [I18nModule|P] Loaded 2 entries for 'en-US' from D:\Users\owner\AppData\Roaming\Hytale\UserData\Saves\Creative Test\mods\DaisyEseyad.DaisyCustomBlocks\Server\Languages
yeah it loaded once though
Anyone that uses the hylograms API, please @me/send me a friend req. Im having an issue with the API and not sure if thats on my end or not
Does anyone know where the UI page for the hotbar lives?
everything besides SEVERE
can you give me link to discord?
How to use icon in notification sending
I know the location of icon asset but don't know how to use in code
If i need custom interaction with an npc would the best way to proceed be to create a custom NPC role?
how can I get the list of items a container has? I am able to detect a player opening a container, but haven't found where to modify its contents
I'm assuming its something I could get from the blockstore but idk what component
Is there a Dynmap mod yet for Hyt?
Hey there, has anyone used the HyUI API yet ?
I'm running into 2 Issues:
Issue #1:
Backgrounds are Transparent
I set the Background Colors, but the UI displays as Transparent, only the Labels and Buttons are showing.
Issue #2:
I can't use the Alignment Right
It throws this Error:
---> System,ArgumentException: Requested value 'Right' was not found,```
Does any1 know a fix ?
Thanks yall! :)
Does anyone know how to add custom entity interactions without requiring items. Example: Mounting. And also add it as a parameter to npcrole.
haii all, would love to know if there's an Event or similar for when assets are reloaded
Im testing a Server Plugin, if someone can join is a simple PvP FFA with a Daggers Kit :D. (ffa hytale-data com) spaces for dots?
Is there a way to get a player name by the uuid?
ip
hi chat I trying give a specific item to user how can I do that
HI, how can I get access to a container's list of itemstacks
Yes.
Universe.get().getPlayer(uuid) give you a PlayerRef.
Anyone know if it's possible to create "custom Items" using plugins? I mean set a specific name, quantity, durability, add "lore" to the item / a description?
Hi, how can i the world where the player is?
I've seen only worldUUID, but i don't know how to make use of it
World world = plr.getWorld();
Player#getWorld();
How does the TexturePath in .ui files work?
Figured it out! @summer otter
i swear it's not there 😭
I use it in my lib lol, to get stats of the player.
HI, how can I get access to a container's list of ItemStacks? All I have is block coordinates and the world.
Anyone know how to provide damage immunity to a given source type?
plr should be a PlayerRef, a Player, an EntityStore?
I think we neet to make a bootstrap plugin due to the logging system they used
Player.
basically the Severe is one of the highest levels a log can be and all lower levels inherit the higher ones
so we can do two things I patch severe out of the whole equation
hi Im trying give a specific item to player how can I do that
Anyone know how to register death event?
or we make a bootstrap plugin by modifying bytecode on the fly
I can't send images here but it's not there, i don't know what to say, i might be crazy lol
How do we set up a server for pterodactyl
who knows about a vanilla server
"World default already exists on disk!"
How can i fix that
Hey, I wanna add an extra bench. I already have an .blockymodel, texture.png and icon.png. I just finished my hitbox.json and finaly my Bench_MyCustomBench.json in the Server/Item/Items/Bench directory. When launching Hytale I see the bench in my inventory but I cant place it!? Anyone knows whats going on?
Is there a way to test a plugin that needs multiple people by myself? 😆 I mean without buying the game a second time?
HI, how can I get access to a container's list of ItemStacks? All I have is block coordinates and the world.
Anyone else with a server run into this issue and find a fix? We keep running into it.
[2026/01/19 01:42:57 SEVERE] [Hytale] Exception in thread Thread[#146,WorldThread - default,5,InnocuousForkJoinWorkerThreadGroup]:
java.lang.NullPointerException: Cannot invoke "com.hypixel.hytale.server.spawning.assets.spawns.config.RoleSpawnParameters.getId()" because "spawn" is null
at com.hypixel.hytale.server.spawning.controllers.BeaconSpawnController.createRandomSpawnJob(BeaconSpawnController.java:110)
at com.hypixel.hytale.server.spawning.beacons.SpawnBeaconSystems$ControllerTick.createRandomSpawnJobs(SpawnBeaconSystems.java:536)
at com.hypixel.hytale.server.spawning.beacons.SpawnBeaconSystems$ControllerTick.createRandomSpawnJobs(SpawnBeaconSystems.java:282)
at com.hypixel.hytale.server.spawning.controllers.SpawnControllerSystem.tickController(SpawnControllerSystem.java:24)
at com.hypixel.hytale.server.spawning.beacons.SpawnBeaconSystems$ControllerTick.tick(SpawnBeaconSystems.java:488)
at com.hypixel.hytale.component.system.tick.EntityTickingSystem.doTick(EntityTickingSystem.java:92)
at com.hypixel.hytale.component.system.tick.EntityTickingSystem.tick(EntityTickingSystem.java:36)
at com.hypixel.hytale.component.Store.tick(Store.java:1971)
at com.hypixel.hytale.component.system.tick.ArchetypeTickingSystem.tick(ArchetypeTickingSystem.java:36)
at com.hypixel.hytale.component.Store.tickInternal(Store.java:1927)
at com.hypixel.hytale.component.Store.tick(Store.java:1897)
at com.hypixel.hytale.server.core.universe.world.World.tick(World.java:398)
at com.hypixel.hytale.server.core.util.thread.TickingThread.run(TickingThread.java:89)
at java.base/java.lang.Thread.run(Thread.java:1474)
Anyone know if it's possible to create "custom Items" using plugins? I mean set a specific name, quantity, durability, add "lore" to the item / a description?
world.execute( () -> {
// the code
}
If I remember well you have to use the "thread-safety".
check for --assets param
only when you create the assets on the fly and send them using packets to the player
Anyone know where the ui page for the hotbar can be found?
You mean we have to edit it in the Assets dir??
not neccesarily
I mean more like if you want to do it using plugins only you need to generate the packet data manually or read it from json or generate the json manually
there are special asset packets being send but I need to look in more detail into them
I saw a "metadata" attribute in the item class that uses Gson or something like that; I tried to change it, but... well, it didn't work...
Do you have a repository or an example :>?
Constructor of said packet
public UpdateItems(@Nonnull UpdateType type, @Nullable Map<String, ItemBase> items, @Nullable String[] removedItems, boolean updateModels, boolean updateIcons)
Is it possible to combine Asset Editor Packs with a Java Plugin?Lets say I want a custom Item with new script logic. Is it possible to create the Item in the Assets Editor and use Java to make custom logic?
and keep track of the version of the items you send to said player
What are the HytaleConfig classes named? I want to store data in a json file
Honestly, I didn't use it but if I was in your place, I would get a plugin that already uses it, decompile and see how they set it up.
Alot of curseforge mods are on github
yes, use custom interaction
That too
Is the code in the assets editor or do I have to create Java Plugin with reference?
A beacon is referencing a missing/invalid spawn role. Spawn config or assets didn’t load correctly.
Can someone explain to me why the All inventory combined doesn't count the backpack? like i try to save sometimes but they don't save up for some reason that are in the hotbar or on the inventory
how do I get the PlayerRef from the Player?
Does anyone know if you can spawn a particle, but make it so it never despawns? even after a restart
Just as I posted this I thing I figured out a fix. Looks like I have to ensure the jar gets updated xD
Where can I get started on the modding api and going over what's been discovered already? are there other servers or community resources I can start reading?
haha yes could be the problem
in java plugin
on setup
this.getCodecRegistry(Interaction.CODEC).register(
"...",
....class,
....CODEC
);
public class ... extends SimpleInstantInteraction
in assets use "..." interaction id
I just tried to say your username out loud and my desk started floating
You do it with the HytaleServer[.]jar There are only unofficial docs for example hytalemodding[.]dev/en/docs
Side Note: Hosting providers are scams, go with a VPS
Thanks. Is there an easy way to spawn a projectile on sword swing or do I have to code a custom interaction?
Hi guys I need help with someting everything is white when I join my world 😭
ik only about code way
do you care about a patched jar or do you want it to be an early plugin if early plugin I will need to do a bit of bytecode digging but it should be doable
I might as wellaask it over here: im porting a minecraft idea that involves generating terrain non-procedurally via a heightmap. I already have the logic and a ser-deserialzier for a new "noise function" but im having troubles understandting how or where can i register that new noise* to be used on the graph editor, or even parseable on the json. Any tips?
HI, how can I get access to a container's list of ItemStacks? All I have is block coordinates and the world.
Des dévlopper francais ?
Guys, is there a list of existing Components, Interactions, Events and Systems somewhere? I am looking to create something but am having trouble finding a list of existing things... and various AI tools have even less idea.
@silk reef If you made a bug report on HySkills mod, im working on it now. Should be an update within next couple of hours.
I think KaupenJoe's tutorial on custom biomes might help here
you can find all interactions in assets
is this for multiplayer issues?
Hi everyone, can anyone tell me if there is a way to spawn particles separately so that they are an independent object?
events here: hytalemodding [dot] dev/en/docs/server/events
Hytale Official ModDocs have these lists
HI, how can I get access to a container's list of ItemStacks? All I have is block coordinates and the world.
Ok bro, I'm really looking forward to it, as it will be very useful on my server. Thank you for the mod ❤️
Hey guys, can I get some help brainstorming something?
I need a built in blockbench file that I can use to store data.
I want to store items so that when I go to access the ID of the Json, I can return the array of items.
I know technically I can do some work arounds and make the crafting recipe a way to do so.
But Im just wondering if anyone knew of a storage type that's already in the game that can do this
Just dont have server to test so some bugs like this I miss. Im on it though, i can drop you another @ when its ready if yo uwant
hey guys, how do i center text horizontally inside a ui?
layoutmode/horizontalalign
Do you have a link? I'm trying to find them, but DDG and Google are only finding community ones (and AI generated stuff)
Would there be people here that are interested in building a server/network together ?
Get the BlockType class did you manage to get that already from the pos?
Yes, of course, I'm only happy to help with the tests on the server.
If so you want to get the AssetExtraInfo.Data class
As ive mentioned to others and put in mod desc, please backup your skills_data folder if you have spent time making skills. I havent managed to corrupt them yet but precautions
Yes but i don't see any inventory data
Hmm I'll try it i thought i already did but I'll double check
anyone have a beginner class on making beginner plugins xd
On my server i get always the "took so long error" how can i solve it? anyone can help?
okay get the AssetExtraINfo.Data by doing .getData()
then we will do some magic
Yes, I have encountered this problem. Thanks for the mention.
Hey guy i tryed to setup a dev server but its shutting down instandly am i just stupid ?
[2026/01/19 19:37:05 WARN] [AssetModule|P] Failed to load manifest for pack at Assets.zip
java.nio.file.NoSuchFileException: Assets.zip
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.<init>(ZipFileSystem.java:207)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.getZipFileSystem(ZipFileSystemProvider.java:122)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:117)
at java.base/java.nio.file.FileSystems.newFileSystem(FileSystems.java:507)
at java.base/java.nio.file.FileSystems.newFileSystem(FileSystems.java:380)
at com.hypixel.hytale.server.core.asset.AssetModule.loadPackManifest(AssetModule.java:217)
at com.hypixel.hytale.server.core.asset.AssetModule.loadAndRegisterPack(AssetModule.java:277)
at com.hypixel.hytale.server.core.asset.AssetModule.setup(AssetModule.java:87)
at com.hypixel.hytale.server.core.plugin.PluginBase.setup0(PluginBase.java:389)
at com.hypixel.hytale.server.core.plugin.PluginManager.setup(PluginManager.java:757)
at com.hypixel.hytale.server.core.plugin.PluginManager.setup(PluginManager.java:236)
at com.hypixel.hytale.server.core.HytaleServer.boot(HytaleServer.java:345)
at com.hypixel.hytale.server.core.HytaleServer.<init>(HytaleServer.java:303)
at com.hypixel.hytale.LateMain.lateMain(LateMain.java:54)
at com.hypixel.hytale.Main.main(Main.java:43)
[2026/01/19 19:37:05 INFO] [AssetModule|P] Loading packs from directory: mods
[2026/01/19 19:37:05 INFO] [HytaleServer] Shutdown triggered!!!
[2026/01/19 19:37:05 INFO] [HytaleServer] Shutting down... 7 'Failed to load any asset packs'
[2026/01/19 19:37:05 INFO] [HytaleServer] Shutdown completed!
PS C:\Users\timof\Desktop\Hytale-Server\Server>```
Currently am looking up the string by adding a print so give me 5 more min
check your assets.zip path
(--assets param)
ah i found it thx
@wanton ocean Im having some wierd issues using your MultiHUD library, relating to return value of "com.buuz135.mhud.MultipleHUD.getInstance()" is null. I have the plugin in my server, and it is a dependancy in the manifest.gradle, could you help me sort out whats going on?
Is there any physical way to have 2 hytale clients connect to the same local server to test?
No this is Hytale.
not the place for asking xD
hey so im using the mmo skill tree mod and the xp keeps flashing at the bottom left of the screen
mods, he's out again
guys how do i safely turn off server with my world saved?
Is there a way to play a custom animation using a plugin?
@spare lark heya, could you shout me a DM or check on your Party Mod curseforge comments, reporting an issue with the MultiHUD implementation 😉
Any idea of how to implement status effects? Any code snippets? 😄
yes I have one made using a custom blockymodel but its not public yet still deep in dev as im adding quite a few things in this pack
how are you triggering the animation? With java or asset pack?
asset pack
Anyone seen or thinking of making a Dynmap clone in Hytale?
Hello, anyone know why this system isn't being executed?
package net.virtualtale.virtualsleep.sleep;
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.component.system.DelayedSystem;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import javax.annotation.Nonnull;
public class SleepSystem extends DelayedSystem<EntityStore> {
public SleepSystem() {
super(2);
}
@Override
public void delayedTick(float dt, int tick, @Nonnull Store<EntityStore> store) {
System.out.println("Delayed tick task.");
}
}
-----
public class VirtualSleep extends JavaPlugin {
public VirtualSleep(@Nonnull JavaPluginInit init) {
super(init);
}
@Override
protected void start() {
getEntityStoreRegistry().registerSystemType(SleepSystem.class);
}
}
Would you pleasee tell me how to trigger a custom animation
You're prob triggering the code before the entitystore is registered
Same function, just make sure your variables are populated before trying to pull info out of them
im using an animations .json for model movements in hands. but if doing simple block rotation on a staff or something like that you do it with the same consept just in a .blockanim instead of json. for character throwing the daggers in the air kind of thing during an idle animation and when you walk or attaack it stops happening then you need a animation.json edit in the server folder
guys how do i safely turn off my server?
run "stop" in the console
will it save my world?
Yes
thank you very much stranger
Is it possible to apply mods via code, e.g to a specific world?
Stop triggers the shutdown sequence
Hey does anyone know what the Warp class has been replaced by?
sent friend req so i can send you the animation files
Does anyone know how to update the background of an ui item from code?
What did the Warp class do? I assume the Teleport component replaced it
anyone uses hyUI in here?
@glass ingot hey i saw your post about the stats mod and was wondering if you got damage increasing on stats. if not i know a super jank way that works for now
Yeah, it works quite well and is easy to use 😄
It's used by the Teleport plugin
TeleportPlugin.get().getWarps().put(<WARP>)
You just want to tp the player?
I want to set up a custom warp so I can intercept it and transfer them between server's etc
can you message me im keep sending something but automod stops
How can i move a plyer to koordinates?
Are lag spikes common when you use docker to run a server instance?
Like when I run around and do stuff, the network symbol is red on the top left and I got a root server with a great connection.
Any JVM args or other optimizations you guys can recommend? (Already tuned down view distance)
No worries!
What next? 😂
Create the plugin version developper ?
Hi, i have a question, what is the best map range for a big serv ? i want to put a world border and i dont know the range for best performance
Im not sure why youd need warps for that, just make any other system that calls playerRef.relayHost or whatever the method is called
It sounds like a server issue so maybe not. I have tested with servers from 2gb up to 64gb and the base where it becomes pretty fluid is 8gb and the sweet spot is 16 (Vanilla only this is however). If using plugins and mods with a lot of players you'll want prob 24+
Same as minecraft servers tbh and depends on gamemode
10kx10k or 25kx25k is ok ?
What gamemode?
anyone know why I "don't have permission to open the asset editor" in my own creative world?
./op self
Factions was usually 10x10 > 15x15 (thousand) whereas survival is prob good around 25k² - 50k²
thanks, i fear im a bit stupid xd. I've opened the kweebec merchant thing, do i need to do "Override Asset" to edit its trades?
Did they improve URL regex in this Discord? lmao
faction and rpg
If you're overriding the default values then yes
2026-01-19 21:01:27.7638|DEBUG|HytaleClient.Application.AppGameLoading|Missing model for item Bench_StorageAssembler
I've put my model in Common/Blocks/Benches/StorageAssembler.blockymodel so why cant hytale find it. I even added "IncludesAssetPack": true in my manifest.json?
Then for factions + rpg style then I'd do between 25k² and 50k² depends on reset/map lengths, etc
HI, how can I get access to a container's list of ItemStacks? I have BlockType, block coordinates, and the world
Because I need to set the Teleporter's target so that it lights up with the blue aura
I can already confirm the item is a container, but havent found a method to get its contents
no wype map
How do i make an 'Asset Pack' and why do i need my own to create my own merchant
Oh then do like 50k² and then expand if needed I'd say. If you're doing a perma map I'd even argue doing like 100k²+
Depends on the scope you're going for
Look up KaupenJoe on YouTube and TroubleDEV
I have some kind of problem. I'm trying to re-login and can't get back on the server. There's a server and login error.
Guys, Does anybody wanna join a new big Hytale Modding group that got over a hundred members in under a day? Friend me! <3
v:-
Isn't that... Exactly the same... As this channel...?
Their blockstate system is marked for removal but the chests still use them to store data in ItemContainerState, what they consider to be "BlockStates" in this game carry quite a bit of data, you can get the state back with:
WorldChunk worldChunk = world.getChunkIfInMemory(ChunkUtil.indexChunkFromBlock(blockX, blockZ));
(ItemContainerState)worldChunk.getState(x, y, z);
but the ram of the serv will be explode or its ok on hytale ?
Is there anyone who wants to play with me? I'm from Russia
JVM configuration where can I find all the configurations for running the server???
Nope. Its a server where you can share mods, get help with mods, and learn too! We also have a Heavily modded Hytale server coming in a couple of days and we are taking the community's mods
No hytale is quite good for this
ok perfect and u have a good mod to lock the border ? i find chunker
Ahhhhhhhh so it's server advertisement. Makes sense mb
One may need making if one doesn't exist yet
so on the hytalemodding site, on the spawning entities page, there's this line
holder.addComponent(Interactions.getComponentType(), new Interactions()); // you need to add interactions here if you want your entity to be interactable```
but I don't think this is accurate, because "Interactions" is their weird way of referring to anything an entity can do, isn't it?
Don't spawn entities by adding all the components yourself
Use NpcPlugin.get().spawnEntity
wait for me to finish typing before you say something lol
Sorry
thank you so much.
nah it's fine, i shouldn't be an ass about it
why anyone in my server can use /op self? how to disable it?
sorry as well
is this the subtopic where i can ask for creating mods?
setPermissionGroup(Gamemode.Adventure);
In the commands constructor
i just need a link to api's or any tutorial
i was looking through the asset editor and noticed "interactions" refers to a whole range of stuff, like for the bison Interactions consists of "melee_start", "melee_selector", and "melee_damage"
#requirePermissions("<PermissionString>") in the command constructor
so I'm guessing the Interactions component is actually how you'd add things like this
but Interactions also seems to be used for player inputs...or is that a different interaction
PermissionGroup for vanilla, and requirePermissions for permission manager support (E.G, LuckPerms)
The "Interactions" are defined in the entities role
yeah, I got that far
I meant if you wanted to add them through code, for whatever reason
that'd be weird considering we can do it via the editor
hello hello hello guys, just finished building a Server to play with few friends, everything works fine but I wonder how can I add the possibility of commands? I want to add /tp and such, also I want to enable PVP but was unable to do it
i suppose this means we can code new interaction types, though?
Im having some trouble getting .jar mods to work on my server all mods coming in .zip files work find just throw them in the mod folder it works, however with .jar files they dont i have tried extracting them into a folder then zipping the folder to no luck. am i just missing something obvious?
That kind of thing is meant to be used in conjunction with a permission manager like LuckPerms for example (an essential system for a public server)
import com.hypixel.hytale.component.ArchetypeChunk;
import com.hypixel.hytale.component.CommandBuffer;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.component.SystemGroup;
import com.hypixel.hytale.component.dependency.Dependency;
import com.hypixel.hytale.component.query.Query;
import com.hypixel.hytale.server.core.asset.type.entityeffect.config.EntityEffect;
import com.hypixel.hytale.server.core.entity.effect.EffectControllerComponent;
import com.hypixel.hytale.server.core.modules.entity.AllLegacyLivingEntityTypesQuery;
import com.hypixel.hytale.server.core.modules.entity.damage.Damage;
import com.hypixel.hytale.server.core.modules.entity.damage.DamageEventSystem;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.Collections;
import java.util.Set;
public final class PowerWithinDamageBoostSystem extends DamageEventSystem {
private static final float MULTIPLIER = 4f;
@Nonnull
private static final Query<EntityStore> QUERY = AllLegacyLivingEntityTypesQuery.INSTANCE;
@Override
@Nullable
public SystemGroup<EntityStore> getGroup() {
return null;
}
@Override
@Nonnull
public Query<EntityStore> getQuery() {
return QUERY;
}
@Override
@Nonnull
public Set<Dependency<EntityStore>> getDependencies() {
return Collections.emptySet();
}
@Override
public void handle(
int index,
@Nonnull ArchetypeChunk<EntityStore> archetypeChunk,
@Nonnull Store<EntityStore> store,
@Nonnull CommandBuffer<EntityStore> commandBuffer,
@Nonnull Damage damage)
{
if (damage.isCancelled() || damage.getAmount() <= 0.0f) return;
Damage.Source src = damage.getSource();
if (!(src instanceof Damage.EntitySource entitySource)) return;
Ref<EntityStore> attackerRef = entitySource.getRef();
if (attackerRef == null || !attackerRef.isValid()) return;
damage.setAmount(damage.getAmount() * MULTIPLIER);
}
}
You have to register it like everything else
this.getEntityStoreRegistry().registerSystem(
new PowerWithinDamageBoostSystem()
);
In case this is of use to anyone else. It allows you to change the damage values before they are applied to entities i used it to make a system that checks if the entity has a specific effect if it does it multiplies the damage by 4. (ive removed the part of the code that checks for effects but can show that if its of use to anyone as well)
(im unsure if anyone has figured this out yet or not if they have sorry for sending it again.) as far as im concerned this is super jank and probably a horrible way of doing things
this seems like a chore
Is there a way to make TargetUtil.getTargetBlock behave more accurately with not "full block sized" blocks?
right now if I have a sign and try to look at the block beneath it, it still shows the coords for the sign altough i'm looking at air
I've tried looking into the source code, but it is a bit too complex for me :/
Sounds about right
I'm not gonna lie, I'm really tempted to break from Hytale's implementation of things and code around it like I did with Spigot
Is there any syntax highlighting or intellisense for .ui files yet?
I worked in AAA game dev and even that 30+ year old codebase wasn't quite that clunky lol
Search hytale ui maker on google, you'll find something for sure
intellij tells me there are plugins available but without looking i assume they're for other ui frameworks
yeah there is a site
I can't link it, but google "hytale ui builder"
yeah that one
they really need to get rid of the link filter istg
or whitelist sites at least
@molten current I tried sending you a friend request but was unable and cant seem to dm you dirrectly. Had some questions about the creator program. thanks!
i'm tempted to assume it isn't possible because the server can't possibly know where the client's mouse cursor is and check for bounding boxes (it uses the head rotation I guess, but this isn't perfect), just wanted to confirm it is the case :p
SEVERE] [World|default] Took too long to run pre-load process hook for chunk: 122ms 427us 324ns > TICK_STEP, WorldChunk{x=-27, z=-19, flags=00000000000000000000000000000100}, Hook: com.hypixel.hytale.builtin.fluid.FluidPlugin$$Lambda/0x000000007ba66c08@7a02d760 (((help plis))
Built an auction house plugin.
Allows player owned shops
Allows listing items for specific amounts
Gives NPC shop that purchases items for admin set pricing (Default is $1)
Admin has a panel with a search bar to search for items to change pricing per item.
NPC shop ONLY purchases items, does not sell items.
Currency implemented with wallets and $ for players to build their economy wealth.
Items have to have max durability to list for sale.
Full custom UI for all this.
Was a fun 1 day project.
it impresses me that people can do stuff like this in a day but maybe that's the unmedicated adhd talking lmao
Oh actually I found one on the jetbrains marketplace if you search Hytale
lol i got bored af
most of the mental blocks I'm running into revolve around Hytale's architecture though
i wish i could upload photos here. it looks sharp honestly. better than the text based ones currently on curseforge.
Has anyone figured out if it's possible to extend the inventory, like adding custom slots?
I think I'm gonna just code outside of it I'm ngl
do we have a config system? i had a config system in a spigot library that lived outside of Spigot and just used Jackson instead
this also has its benifits, hyperfixation my beloved
The mod managment of cursforge and hytale, for now it is really annoying
i don't hyperfixate anymore, unfortunately. i literally just get brain fog
maybe...
Better Mod List is on github and has a scrolling UI if you want to take a look
do you have a custom ui?
is there a link source to start creating mods in hytale? like a tutorial or documentation
KaupenJoe, Hytale mod docs, etc
FlexWeight: 1;
LayoutMode: TopScrolling;
Padding: (Top: 6);
ScrollbarStyle: $C.@DefaultScrollbarStyle;
}```
Yeah, you can register stuff like "OpenShop" and things of that nature to feed into your own interactor, haven't messed with adding the interactions component to stuff that doesn't have any defined in its role though
hytalemod docs where? official site?
not official
Decompile the server jar and poke around. If you want examples there are some opensource mods you can find on curseforge
someone was shared a way to get playerref anyone can send it again if they got it? with the store one i couldnt find in discord message history
Is using VS Code fine or is IntelliJ actually much better for modding in Hytale?
that help?
isnt it obfuscated
nope
Looking through the source I think it iterates through blocks to check if there is a obstacle using blockIterator, but I don't think this accounts for bounding boxes and thus returns the wrong coords. Could be wrong tho.
wouldnt it be a nightmare to recompile though
😎
intellij better but i prefer also decompiling jar so i can search the all files with powershell
You would either have to replace the existing itemcontainers with:
containerInTheInventory = ItemContainer.ensureContainerCapacity(ItemContainer, capacity, SimpleItemContainer::new, remainder);
Or just nuke the whole inventory and make a new one and set it on the players entity, the constructors have ints for capacity per segment (Backpack, storage, armor, etc) although not sure how the UI would handle changes besides the main storage
you dont recompile it, you only read the source to learn how it all works, you are actually not allowed to modify and recompile it per the license. but it is unobsfucated in lieu of documentation
everything is done through server side plugins
harry potter server would be fire
How do i get type Player from PlayerRef?
yeah i mean i just need to know how to "communicate" with the server with plugins, i never done such a thing even tho i know java p well
kk thanks. Ive been working in VS Code but if Intellij is easier ill pry just switch over
who knows how to solve problems with connection to the server, I`ve already tried to sync the time and to disable firewall.... 😭
I just released the first voice chat mod for Curse Forge.
how can i start?
search help bot there message on top someone made he has a good response for it
public void register(EventRegistry registry) {
registry.<String, PlayerChatEvent>registerAsyncGlobal(PlayerChatEvent.class,
future -> future.thenApply(event -> {
onChat(event);
return event;
}));
}
private void onChat(PlayerChatEvent event) {
PlayerRef sender = event.getSender();
@summer otter a big thank you, after much testing we now have concurrent servers on Unraid using different ports. Thank you for the help and guidance ! 💐
var entityRef = playerRef.getReference();
var store = entityRef.getStore();
var playerComponent = store.getComponent(entityRef, Player.getComponentType());
i wanna start in the world of plugins, can anyone give me a tip please
You likely already have a Store<EntityStore> or a ComponentAccessor in the context you are working under
is there a way to globally bind a interaction to a keypress?
so if i want to access the inventory i do playerComponent.getInventory()?
nice, like proximity? Does it need a third party cloud service like vivox or is it built in?
Who here is excited for Gregtech: Hytale edition? 😂
In which directory live the hitbox.json files?
Me.
Theres no way to register keypresses on the server, you can intercept some built-in actions but thats not really recommended
sad, the dream of the dodge roll is in shambles
You can already roll in this game
not in da way i wanted
I see
Is there a way to check if a block was placed by a player or a part of a generated structure?
anyone know how to cancel items being dropped?
There is a Dodge half-implemented in the existing server assets. Could have it as a weapon's secondary ability or something.
you could track block place events and record them yourself and then you would know
Yes, by proximity. You just need to leave a tab of the mod open in the background on your computer. (Just HTML, extremely lightweight)
Would you like me to send you the link privately? (I can't send it here)
Likely not easily, I don't think the game would store that sort of data anywhere, and if it doesn't you'd have to store it yourself on player block place (Not good for storage) or re-check the generator for a given chunk (Probably not good for performance)
Well easy enough with a proper database, but trying to avoid that. What about a way to store arbitrary metadata to a placed block?
^
yes tyty
Couldn't find it. if you do please tell me xD
Yeah thats built-in, you can add components per chunkstore, but adding a component like that to every block placed just to check it is not really the way to go about it, components need individual chunkstore references made per storage
DropItemEvent is cancellable
how do i check how many players there are in a specific area of blocks?
im doing that exactly but it doesnt seem to work
You have an ECS listener made? Because they're not registered the same way as regular IEvents
i do not no
thanks, that was helpful
yeah you wouldnt want to give every placed block a block entity as it would create lag I think
Well actually, you can store information on the chunk itself
Would just have to readback the main ref on the chunkstore for a given chunk as they've all got one
You need one, its why you're not able to cancel the event
Make a class that extends
extends EntityEventSystem<EntityStore, DropItemEvent>
That still doesn't sound that performant? The data I would be storing would only need to be accessed in the block break event. So: store metadata to the block once placed and let it fly > once broken check for that data and act on it. Is there nothing more dormant than an actual entity?
It would be better to store the information on one component on the chunk itself rather than one component per block is what I mean
Then just add positions to the component on the chunk itself (They can be serialized automatically in the world data if you set it up right) rather than adding a brand new component (And subsequent entity) on every individual placed block
You can get the data from a given chunk like:
var chunk = world.getChunkIfInMemory(ChunkUtil.indexChunkFromBlock(blockPos.x, blockPos.z));
var chunkRef = chunk.getReference();
var chunkStore = chunkRef.getStore();
var yourComponent = chunkStore.getComponent(chunkRef, YourTrackingComponent.getComponentType());
yourComponent.addTrackedBlock(x, y, z);
Hello, I have a problem. My server uses up RAM very quickly. Is there a way to optimize it? I was told that it was the servers that were poorly optimized.
hey is there anything out there that will allow transmog item slots?
download spark and learn why it does it
Does someone know how to change Button Style in Java UI Code?
Why does my plugin find my .blockymodels asset reference but cant find the model later on?
2026-01-19 21:51:07.4505|INFO|HytaleClient.Application.AppStartup|Added cached reference to asset c40c173d892873fc521bd09d842a91963098d8be689e0177768247c9ff9901ee: 1, Blocks/Benches/StorageAssembler.blockymodel
2026-01-19 21:51:08.0807|DEBUG|HytaleClient.Application.AppGameLoading|Missing model for item Bench_StorageAssembler
public class ItemDroppedEvent extends EntityEventSystem<EntityStore, DropItemEvent> {
public ItemDroppedEvent() {
super(DropItemEvent.class);
}
@Override
public void handle(int i, @NonNullDecl ArchetypeChunk<EntityStore> archetypeChunk, @NonNullDecl Store<EntityStore> store, @NonNullDecl CommandBuffer<EntityStore> commandBuffer, @NonNullDecl DropItemEvent event) {
event.setCancelled(true);
}
@NullableDecl
@Override
public Query<EntityStore> getQuery() {
return null;
}
}
``` any reasonn why this isnt working? nothing is wrong
I see. I will have to look into that. I don't have much experience with the ECS, yet. I assume that is indexed data? Like, being able to reference a block by location or something? I for sure want to avoid any type of iteration here
Your Query has to be set for a Player like:
return PlayerRef.getComponentType();
It depends on how you store it in your component, you can store a map and serialize it if you want
I looked, but I don't understand.
And make sure you register it via
getEntityStoreRegistry().registerSystem(new ItemDroppedEvent());
i didnt and its not working im lost haha
You didn't register it that way?
Is there some way to disable the health bars for all players?
oh i meant i did* mb
Can you add a print just to make sure its firing? Some cancellations on events are broken completely but I don't think the DropItemEvent is one of them
Does someone know how to change Button Style in Java UI Code?
sure
public class ItemDroppedEvent extends EntityEventSystem<EntityStore, DropItemEvent> {
public ItemDroppedEvent() {
super(DropItemEvent.class);
System.out.println("test1");
}
@Override
public void handle(int i, @NonNullDecl ArchetypeChunk<EntityStore> archetypeChunk, @NonNullDecl Store<EntityStore> store, @NonNullDecl CommandBuffer<EntityStore> commandBuffer, @NonNullDecl DropItemEvent event) {
System.out.println("test2");
event.setCancelled(true);
System.out.println("test3");
}
@NullableDecl
@Override
public Query<EntityStore> getQuery() {
System.out.println("test4");
return PlayerRef.getComponentType();
}
}
``` the only one that runs is test4
What are you considering to be a "Dropped item", do you mean you want to cancel the death drops?
how to get playerref from player
that too, but it was originally meant to be dropping items at all
The death drops are a different thing
That event should only fire on player manual drops iirc
must be broken then 😔
var ref = player.getReference();
var store = ref.getStore();
var playerRef = store.getComponent(ref, PlayerRef.getComponentType());
I'll register one and have a quick look, it should be firing
alrighty
Whats your codec like
someone know a method for send a mod messages visible for everyone? cuz actually mine only send to the guy who execute the command and the console
yo
I think theres an announce/broadcast method but I cant remember
am i still able to run a hytale server if im using ubuntu java rather than temurin
What are the thread safe operations in hytale and what are not?
Nothing is saving at all?
As long as it's J25 then yeah
sweet thanks
Console errors?
I use Ubuntu as my daily driver and haven't had any issues
cool
Universe.get().sendMessage();
i have a local ubuntu server and im trying to get a hytale server up for my friends and I
I did it on my main pc as a test by literally running the server then port-forwarding port 5520
okay sweet thats like exactly what i want to hear
You can ensure your safety most of the time by using
world.execute()
Which will hop to the world thread for entity related operations
Ubuntu comes with "ufw" installed by default though iirc so you'll have to run "sudo ufw add 5520 UDP" to allow it through the device firewalls
You were probably looking at a different block
did you try that drop?
thank you
Trying it now
Hey, im not sure this is correct channel, but seems most fitting.
Im running a hosting service and recently got requests for enabling Hytale.
Anyways on support page i noticed server provider acc form is suspended, I was wondering if I can get in touch with someone who could help me?
(Im representing a group which I can prove and it seems like I would need service acc to provide my service with regards to Hytale)
nope... you gotta wait for em to start accepting apps again
oh no
im trying to bash the server files and it isnt letting me run them
"sudo chmod +x <path/to/start.sh>" then run "./start.sh" inside the server directory
Has anyone gone about trying to do Armor Set bonuses (i.e. "You get this bonus if you have all items of this set equipped")? Have a few ideas on how to probably go about it, curious to hear if anyone else has tried tackling it yet
You can email them at https://hytale.com/about , but beyond waiting, there's not much you can do. You could manually approve each individual server with /auth login but obviously that's a step you might not want to take.
Is it possible to change my Button Style to another Object in the .ui file like
@NewButtonStyle
I didn't know that! Useful limitation to be aware of, thanks for letting me know 😄
The event is DropItemEvent.Drop, thats silly
yes, thanks all for info
are we deadass 😭
Yep
so where am i changing that then
Wherever you reference DropItemEvent, just change it to DropItemEvent.Drop, its a subclass
does anyone know how to read a spark report?
With eyes
Cancelling the event still takes the item, interesting, it just doesn't spawn the itemstack entity
Lots of these game events are like 60 percent functional
breh
Best way rn would be to get the item, cancel the event then spawn it at it's coordiantes
can u send me urs i think i just messed mine up
I'll DM you my class
Ah maybe thats it
im gonna pretend i know
Yeah thats it
Instead of DropItemEvent.Drop its DropItemEvent.PlayerRequest
hello, I'm trying to add an interaction to ALL chests. is there any non ooga-booga way of doing that without overriding all chest interaction files?
I'll change the class quickly and DM it to you
ty
Does someone know how I can dynamically add buttons to my ui?
I'd imagine there will be plugins/mods that add additional chests and I want those to work aswell
hm, what'd UI_PATH be then?
bro
hey everyone, does someone know what the game is trying to run when opening the asset editor utilities? im running into a permissions issue, probably due to flatpak sandboxing
Well, there is a way to do it but its definitely equally as obtrusive, you can override the openchest interaction by unregistering the built-in one and registering your own
looking for the specific path
if (!(blockState instanceof ItemContainerState containerState)) return;
do you mean Open_Container?
Yes
Interaction.CODEC.register("OpenContainer", OpenContainerInteraction.class, OpenContainerInteraction.CODEC);
Is anyone using Kotlin? I can't really see any kind of tradeoff, but everywhere I look people are using Java
HIi, how can i get the type of the block clicked ?
switch(event.getMouseButton().mouseButtonType) {
case MouseButtonType.Right -> {
if(event.getTargetBlock().equals())
}
}```
I need to verify if the block is a chest, so how?
I don't think that helps me, I basically want to add a secondary mouse button interaction and the open container interaction is under "use" in the assets
Java is superior in this case as it is the native langauge.
That being said I personally have only used Kotlin for FireTV stuff cause I had to so I don't understand the preference but that is just me ig
You want to add a right click event?
Thank you so much, I was looking for a way to consistently trigger this all day!
not event, charging interaction
is it possible that 2 servers could communicate via a plugin to achieve some form of cross progression or gameplay across 2 servers?
that client only displays when hovering a chest
Guys, who know how to get Player from String?
That should be doable with Java in general; even if the hytale code isn't designed for it specifically, java will allow it with some web tools.
Kotlin is fully compatible with any java lib including Hytale, and provides its own benefits. I was just curious of opinions on it/what people are using. Seems to just be a personal preference to you?
Wdym? PlayerRef from Name? UUID?
you can get the player from the Universe.getPlayer(uuid)
also universe.getPlayerByUsername()
Yeah what I said was my opinion so I don't mean to sound like an ass
Also in Bukkit for example in command
Player player = Bukkit.getOfflinePlayer(strings[0]);
if (player == null) ...
do servers automatically install mods for clients connecting to it? Or has that not yet been implemented
Hey, currently running intro a problem maybe one of you is smarter than me ... Im trying to create a new Portal in the Ancient Gateway - Item, PortalType and WorldStructeAsset Enviroment already created - yet when i go to the Ancient gateway with my new item i get the error, that my InstanceID dosent exist, is there any manifest / table where the instance IDs are saved ?
the Hytale:LegacyModule plugin is being loaded after my plugin, this does when I call getBlockSectionComponentType() it returns me null.
Does anyone know how I can adjust this?
i mean that
in short, I am adding a quick-stack and quick-stack-to-nearby functionality as follows:
"Secondary": {
"Interactions": [
{
"Type": "Charging",
"DisplayProgress": true,
"Next": {
"0": "Yht_QuickerStacker_QuickStackToChest",
"1": "Yht_QuickerStacker_QuickStackToNearbyChests"
}
}
],
"Cooldown": {
"Id": "Yht_QuickerStacker_QuickStack",
"Cooldown": 0.25
},
"RequireNewClick": true
}
I am currently using Unarmed/Empty, but the charge bar displays without any blocks targeted
I personally solved it by caching player data when they joined as I struggled with getting players from strings
What is the current file structure for custom world generator mods?
yea nice but i make now a speed command, and i need to set speed to player, which i dm in command argument
/speed [nickname], i need the player from strings[0]
I see, you want to add a new form of interaction, theres not really a way to modify item definitions when they load in via code
You might have to add it manually to all of them
sounds like a lengthy feedback message to the devs then
Yes im surprised they have no entrypoint for a preprocessor, many people want to do stuff like increase durability globally and stuff like that but theres no easy entrypoint
private final RequiredArg<UUID> target;
private final RequiredArg<Integer> amount;
public EconomyGiveCommand(BalanceController balances) {
super("give", "Give specified player 'x' amount");
this.requirePermission("antseconomy.admin.give");
this.balances = balances;
this.target = this.withRequiredArg("target", "Target name or UUID", ArgTypes.PLAYER_UUID);
this.amount = this.withRequiredArg("Amount", "Amount to give player", ArgTypes.INTEGER);
}
@Override
protected void executeSync(@NonNull CommandContext context) {
UUID tUUID = context.get(target);
int amt = context.get(amount);
if (amt <= 0) {
context.sendMessage(Message.raw("Amount must be more than 0."));
}
int newBal = Math.toIntExact(balances.getBalance(tUUID) + amt);
balances.setBalance(tUUID, newBal);
String tName = balances.getName(tUUID);
context.sendMessage(Message.raw("Gave " + amt + " to " + tName));
}
``` This may help
You might be able to tweak the items from their registries
Earlyloads are for changing bytecode of existing classes
Hiii, anyone knows how can i verify if the player right click on a chest pls?
I'm trying to attach a component to a placed block if it meets certain criterais (tags mainly) but I'm struggling to do this right as it looks like I'm attaching it to the player instead of the block entity
@Override
public void handle(int entityIndex, ArchetypeChunk<EntityStore> chunk, Store<EntityStore> store,
CommandBuffer<EntityStore> buffer, PlaceBlockEvent event) {
ItemStack itemStack = event.getItemInHand();
String blockKey = itemStack.getBlockKey();
if (
itemStack != null
&& !itemStack.isEmpty()
&& blockKey != null
&& shouldAttachToEntity(blockKey)) {
Ref<EntityStore> blockRef = chunk.getReferenceTo(entityIndex);
buffer.ensureAndGetComponent(blockRef, TextComponent.getComponentType());
}
}
Looks like entity index here is the player that placed the block so I guess my question is how do I go about getting the block's Entity Ref?
any examples? I am strugging hard to comprehend how things work, any pointers will help immensly
Oh thanks
if (blockRef == null) {
Holder<ChunkStore> holder = ChunkStore.REGISTRY.newHolder();
holder.putComponent(BlockModule.BlockStateInfo.getComponentType(), new BlockModule.BlockStateInfo(blockIndex, chunkRef));
blockRef = world.getChunkStore().getStore().addEntity(holder, AddReason.SPAWN);;
}
There is a plugin to create world events every X hours? As example i set an event of spawn boss in a castle i make, changing even the hp and the damage the boss has
but i have a question, where you put the Args? so your required Argument "target", "Amount"?
I haven't tried it before so I'd have to experiment but probably something like
for (var item : Item.getAssetMap().getAssetMap().values()){
// TWEAK ME WITH REFLECTION(?)
}
Yeah thats for multiple args ofc, if you want 1 arg then you only have 1 required arg
oh my lord
public SpeedCommand() {
super("speed", "set speed");
}
@Override
protected void execute(@NotNull CommandContext commandContext, @NotNull Store<EntityStore> store, @NotNull Ref<EntityStore> ref, @NotNull PlayerRef playerRef, @NotNull World world) {
Player player = this.withArgu
}
}```
Because in a AbstractPlayerCommand i don't put it in constructor
If you look further down into the code, you'll see how the args are referenced
well, thanks, I'll have to suffer this out it seems. Appreciated
CommandManager.get().handleCommand(ref, "/thecommandstring")
I'll actually try and see if this globally effects the instance now, I know lots of people would want to have this work proper
from what i tested, you can't increase the damage for now.
Listen for BootEvent as the item registries probably won't be loaded until then
I tried to increase every damage, the println works, and the damage is correct, but it does not reflect the actual damage taken by the player.
The only way to do that is creating a new damage and calling DamageSystems.executeDamage, which can cause a stackoverflow, so you must ignore your custom damage.
public class ChestLockListener {
private ChestLockSystem chestLockSystem;
public ChestLockListener(ChestLockSystem chestLockSystem) {
this.chestLockSystem = chestLockSystem;
}
public static void onPlayerClick(PlayerMouseButtonEvent event) {
Player player = event.getPlayer();
Vector3i targetBlock = event.getTargetBlock();
if(targetBlock == null) return;
switch(event.getMouseButton().mouseButtonType) {
case MouseButtonType.Right -> {
if(targetBlock.equals())
}
}
}```
HIi, anyone know how to verify if the block clicked its a chest?
what is the different with PlayerRef and Player ?
Player = Entity, PlayerRef = Actual Player
Hi all, could someone by chance help me with Simpleclaims? Before the update anyone could use it and now no one other that OP has permission to use the commands
why is in argument the void execute a PlayerRef, from where did the command got the PlayerRef?
protected void execute(@NotNull CommandContext commandContext, @NotNull Store<EntityStore> store, @NotNull Ref<EntityStore> ref, @NotNull PlayerRef playerRef, @NotNull World world) {
}```
Anyone know a better way to get specific projectile info? I'm currently grabbing the model to verify what kind of projectile is used, but for example a bomb and fire bomb both share the same model so I can't differentiate them. I'm not sure if theres a better way to grab specifics on this or not
if (projectileComponent != null)
{
Ref<EntityStore> entityStoreRef = chunk.getReferenceTo(index);
ModelComponent modelComponent = chunk.getComponent(index, ModelComponent.getComponentType());
TransformComponent transformComponent = chunk.getComponent(index, TransformComponent.getComponentType());
if (modelComponent != null)
{
Essentials.PrintToInfo("Model is: " + modelComponent.getModel().getModel());
}
if (transformComponent != null)
{
Vector3d projectilePosition = transformComponent.getPosition();
Essentials.PrintToInfo("Projectile is at: " + projectilePosition);
}
}```
PlayerRef - the CommandSender or what?
What is the difference between AbstractCommand and CommandBase? I've found guides saying you should use the first and guides saying you should use the second
Is there a way to set status effects in code
Gotcha, any you would recommend?
Yeah, we had no luck with that, trying for two days
lmk when u find a solution ;D
Ty
This works
Ive just changed every item to have 3 durability
How can I change the Background image via UICommandBuilder.set?
Anyone wanna come test my skyblock plugin with me rq? i just need to make sure that when i invite you to my island and leave is fully transfers the island over to you
Anyone figure out how to make their own Connected Block Ruleset? or figure out how to use it on a custom block? Getting crashes in the Hytale Asset Editor saying "Object reference not set to an instance of an object"
Found something that works fairly well, I have a custom bomb that is being spawned and has this data on its interactions:
[2026/01/19 21:54:08 INFO] [Essentials|P] Interaction type: ProjectileHit, interaction: *Projectile_Bomb_Tier1_Interactions_ProjectileHit```
I can get this information here:
```java
Interactions interactionComponent = chunk.getComponent(index, Interactions.getComponentType());
if (interactionComponent != null)
{
interactionComponent.getInteractions().forEach((type, interaction) ->
Essentials.PrintToInfo(
"Interaction type: " + type +
", interaction: " + interaction
)
);
}
Hopefully this helps!
Good afternoon, I'm starting to program. I only know C#, and I also know Java, but I'm not very familiar with it. How could I start creating a mod for Hytale from scratch? It will just be for testing; I want to try something simple with the chat to see if it works.
Thanks I will look at it ❤️
Banged my head against my desk all day figuring this out earlier -- you want to update your manifest.json to include:
"Dependencies": {"Hytale:LegacyModule": "*"},
There is a plugin to create world events every X hours? As example i set an event of spawn boss in a castle i make, changing even the hp and the damage the boss has
So, which program would be best to use? Up to now, I've only used Visual Studio for C#, but I know that mods are created with Java. Also, I don't know where the library source is.
i have quick question. I am trying to give everyone on my server to use /spawn command. But so far i couldnt give it. How can i give it to everyone? And how can i see which groups are there and wo are the persons in that group? Thanks a lot!
Intellij IDEA
how feasible would something like a minecraft beacon be in engine, or very large/distant effects in general?
i couldn't understand you, sorry
I use vscode
IntelliJ Idea Ultimate ftw
anyone got hovering tool tips working? not finding the hook
You asking for program, in which you can coding the Hytale plugins( mods ), right?
Yes, and also the library source
But isn't the source code in Java?
What is the best plugin website for a new server coming up?
I got it with my uni account and gave my friend a copy with my college account lol
so?
I decompiled and hooked it
I mean, of course it would be more convenient for me to work with C# in Visual Studio, but I wouldn't know how if the source code and libraries use Java.
www jetbrains com/opensource/intellij-platform/
Honestly worth the price to buy tho Like I genuinely would if I didnt have the accounts
Guys, how do I fix this: when I leave my Hytale server running on the host for a long time, it starts using a lot of RAM — it goes up to 6GB — even when there are no players online. Is this a bug or some wrong setting I made?
How do I hot reload my mod jar while ingame to test?
The Hytale servers used more RAM, as for example Minecraft server
for now you dont as it is an early access sorry
its just not optimized at all yet
another question mate, I think I got the reflection working, but where do I put my interaction in the json structure? My understanding is I'm pointing to an interaction name. Is it just Item/RootInteractions/ and here? or some other specific splace?
"MaxViewRadius": 16,
make this option in config.json 16 / <16
@silk reef Should have update baking on curseforge soon. Had major bug with HUD, but chucked it to the side for server error. So reckon hour tops.
query is nullz988
Oh man, it was at 32, crazy — I’m gonna set it to 16, thanks!
How do I dynamically set a background image?
When i try to update inventory using player.setInventory(playerData.getInventory()); the user sees the inventory but others dont, is there any way to force this to update?
Alright 32 is the default value, no problem)
Does anyone know what is the most reliable way of immediatly setting a custom UI upon player join?
Okay, bro, if anything, I'm ready to check right away.
You make a new RootInteraction asset that references an Interaction that references the name that you register in the interaction codec with your actual interaction logic in code
ok so regarding my waypoint mod i think i give up i have traced what the WorldMapManager and most of the MapMarker references do through as much of the Hytale core package i could find and it still does not render on the map.. i dont know what voodoo hypixel is doing buts it beond me
i wish someone of the dev team would look in here sometimes
We have a custom vendor NPC (no AI, no collision) and want to open our CustomUI on the “Use/F” interaction instead of the default barter UI. What is the correct Hytale server event or handler to intercept the F/use interaction on an NPC? We currently catch PlayerMouseButtonEvent, but need the “Use/F” equivalent. Also, is there a recommended way to disable the default barter interaction or set a custom InteractionComponent to directly open our page?
Found something out for using Connected Block Ruleset. You must define BlockType->State(StateData only works for me) in order to add a custom Connected Block Ruleset. Have not seen anyone really dig into connected blocks yet
I'll look into it. But I think for me to use this or even the isHitByRay method in TargetUtils, I would need to get the block's bounding box. and for that I would need to either get all player surrounding blocks, like they do with entities, or get it some other way. Idk, doesn't seem feasible.
@silk reef Sent you friend request if want early version to try. Still bug testing it
Block RootInteractions in
Server/Item/RootInteractions/Block
Interactions in
Server/Item/Interactions/Block
oh, so needs both
The RootInteraction references the Interaction which has the name ID of the thing you register in code
Yea, my guess it's simply done differently, in the F7 you can actually check which block you're hovering over.
I would think the client simply sends the "break block request" with the correct coords based on where the player is looking.
Has the HytaleServer.jar file been shared as open source? Or can I access the source code somewhere?
On a block?
do we really need OP to run any other commands from other plugins?
Is the java server fixed now? Last time i was hosting it using playit to play with my friends they kept getting high ping or disconnected randomly and not able to join back for some time...
Not sure then
Inherit from SimpleBlockInteraction and add the interaction in your tool as Secondary interaction
hytalemodding dot dev has a Player Input Guide
maybe you can use their solution as base and go from there
ah mb didnt see
even the workbenchs and chests in the game don't accept right click >_>
Hey, why can anybody on my server do the "/op self" command? how do I disable it
yea no we dont do that arround here
just guess just like with your taxes lol
has hytale dropped any infos i didnt see that would say anything about an upcoming doc yet?
probably not right?
also there can only ever be 1 block per Coordinate (aside from fluids), so it doesn't need to be accurate server side.
👀
is there a shutdown hook for the plugin?
you know what now that you mentioned it my plugin also never posted anything to the chat when usind Player.SendMessage
i actually never noticed it
oh nvm it does just failed to actually read the chat lul sry 👀
The mouse events are busted
I very much have got it working
Hello! just in case, does anyone knows how to get the clicked item in a ItemGrid?
im trying with the SlotClicking event but I can't figured it out exactly what's the codec key that I need to use
just yeah, can you tell me which name it is assigned? its not shutdown()
I only did that using a new damage instance, have you done something different?
All my code for it was in the message you replied to. I only removed the part where I look for a specific EntityEffect
hey, how do i start making the java plugins, where do i look, is there an api available?
it is, actually
protected void shutdown()
Because it’s not really valid to the concept of how that was working
huh i added disable schedule, but it just ignored that in the shutdown()
wanted to let players able mine ore and break pots and stuff in protected then if server shuts down, the blocks gets returned into their normal id, i added the disable in a command so i can check if it turns back to the idBlock it does, but in shutdown it just ignores it
Ive just made a packet watcher and no packet gets sent to the server if you try to empty hand right click a block
I see
Yea, what are you trying to do?
Whats the right click detection for?
You can interact with blocks with the interaction key
Oh you want a secondary UI on another block that already has one
is it possible to create new keybinds with mods or no?
then you're cooked yes, a hacky way would be to make the interaction open a previous UI that lets you select which ui u want.
interactionType protocol stuff is gonna give me a stroke what is this why can you not just import InteractionType
@torn haloHi there,
Do you know how do I disable the "/op self" command on my server, it seems like anybody can use it by default.
can someone help me figure out why Serlium's DisabledDurability isnt working? when i activate both his "Hybrid" and "DisabledDurability" plugins under the mods section of my world settings, it fails to load without fail. any ideas on how i can play my game without durability bothering me? 😅
You can't use it by default, if you created a world you can use it because you're the host.
I use pterodactyl to run it
And I can't seem to find an option to disable it on the config files
I don't self-host
I'm sure this is really stupid but in the future if anyone needs a way to get the InteractionType mapping of an interactionComponent this works. I'm sure there are way better ways to do this but oh well
Interactions interactionComponent = chunk.getComponent(index, Interactions.getComponentType());
if (interactionComponent != null)
{
java.util.Map rawMap = interactionComponent.getInteractions();
rawMap.forEach((interactionType, interaction) ->
{
try {
Method getValueMethod = interactionType.getClass().getMethod("getValue");
int value = (int) getValueMethod.invoke(interactionType);
Method nameMethod = interactionType.getClass().getMethod("name");
String name = (String) nameMethod.invoke(interactionType);
Essentials.PrintToInfo("Interaction type: " + name);
Essentials.PrintToInfo("Interaction numeric value: " + value);
Essentials.PrintToInfo("Interaction: " + interaction);
} catch (Exception e) {
e.printStackTrace();
}
});
}```
Idk then. sorry. It shouldn't work by default.
Did you by any chance upload a server in which you were already op? long shot but idk
nope
it's C sharp
nope, just the default Hytale egg for pterodactyl from the official website.
how are people setting up servers without the port at the end?
bumping this
I mean, even if you find it on the client, if it's not available on the server you can't use it on your plugin :T
Anyone figure out how to silence "[Spawning|P] Removing NPC of " in a server console?
pk je poeux pas lancer le launcher ?
I mean, it depends on how they do it exactly, but remember the client has access to the cursor which the server don't.
where can I fidn the config for chest pull distances?
how to make a flat world?
another bump, can i just not throw plugins onto an old world?
I could work around it by removing the OP group completely, but that feels a bit weird.
hi how to make a flat world?
But you still need the nearby blocks bounding box, and I don't know how to get those :p ( i don't understand the chunk system nearly enough )
Hello everyone. Is there a way to assign a player an objective?
And also limit the objective to just one completion ?
hey guys, im trying to figure out the DamageEventSystem,
but I cant find how to find the source's id
var sourceIndex = damage.getDamageCauseIndex();
you can do this to get the Index, but its an index to what? cause its not the ArchetypeChunk
Long shot, but our dedicated server computer crashed, and upon coming back up, one of our chunks (our home) is corrupted. Are there any tools to try to repair a bad region file? or do we just have to start over (the region in question has our home base).
is there a way to execute setblock for a world on shutdown()?
for me it just say World thread is not accepting tasks: Spawn
curseforge com/hytale/mods/hyskills-easy-custom-skills
New update - 1.0.8
Changes:
*Backwards compatibility with previous mod versions of skills. (Still some bugs here so please still backup first)
*Save check to stop you getting rid of edits on skill by mistake.
*New Leaderboard page for server within /skills (ranks by total level)
*Player overview page now has its own page within /skills
*Rows within skill edit can now be rearranged.
*Bug fixes to /skillstoggle not hiding/showing correct notifications.
*Null error fixes...
*UI fixes and QOL changes.
*New triggers available (some of these can trigger super quick if not limited with delay): Jump, swim, climb, roll, slide
Delayed due to bugs (Maybe tomorrow):
*New XP bar at bottom of screen that updates to current skill being trained. Can be hidden with /skillstogglebar
*New command /skillstogglebar which will hide the HUD bar at the bottom.
*Delete confirmation button when we delete a variable/skill?
*Known issue with reorder of triggers and requirments.```
How to set a flat world in world config?
Just built my own custom workbench with custom interaction 😁 it isn't a crafting table so i need a custom gui.
Make an creative world and in the hub you spawn in goto the green portal, you'll join a flat world
i think a vps server i have a world config
thanks 
Hello guys, how i put full loot on my server? i want players die and drop all itens
hiii, how can i verify if the target block its a chest in PlayerMouseButtonEvent ?
Client code is probably optimized and obfuscated as well so.
Does anyone have a good server optimizer? How many GB of memory does yours use?
but how can i be sure its a chest? with blocktype i can't verify that, targetblock its a vector3i
ahh sorry !
Is it possible to load UI files dynamically, for example, to create a mod for custom menus?
Does anyone have a good server optimizer? How many GB of memory does yours use?
vector3i is the pos of the block player is looking at, then you can get the block or set the block with world
guys how i save backup doing the comand,i do not have permission
Anyone know how to properly cancel a Damage ECS event? It's reaching the point the code where it's "cancelled" but the player still takes damage. Anyone else had a similar issue? I'm doing this
damage.setAmount(0);
damage.setCancelled(true);
And i even have a log after the two and it's being reached. but it still does the damage
Doesn't seem worth it xD. welp I guess my signs are going to be a bit off 🙁
Yes, I retrieved the block, I can retrieve the int as the BlockType, but how do I compare it to the chest afterwards?
i think id changes
So some players are abusing the Y velocity of the launch pads. Any way to block this? Is there a plugin to limit the max velocity?
sooo, how? i dont understand really
public static void onPlayerClick(PlayerMouseButtonEvent event) {
Player player = event.getPlayer();
Vector3i targetBlock = event.getTargetBlock();
if(targetBlock == null) return;
if(event.getMouseButton().mouseButtonType != MouseButtonType.Right) return;
World world = player.getWorld();
BlockType blockType = world.getBlockType(targetBlock);
int block = world.getBlock(targetBlock);
blockType.getMaterial()
}```
i've made a protection plugin for my spawn and i checked the idBlocks, if you open an unopened chest with random loot table, it has an id, but if an player already has opened it, it is a diffrent id thats all i know for now
Hi Juan, sorry for the hours. (Spain)
I'm trying to make an hytale mod with kotlin, but maybe i'm dump or something else.
I dont know when your IntelliJ Idea plugin was published, but i cant wait more.
Maybe... Can you send me your Kotlin proyect template?
Thanks4All
do you know how to get a block data? like bounding box etc?
okayy, i understand tyy !
huh maybe i need this for my shutdown
does anybody here knows how to get the Clicked Slot from an ItemGrid? 
You want to get the Use target block? Not from TargetUtil, right?
From what Ive seen, the only place where the client sends over the right information is when they update their own interactionchain, which has the proper data regarding what block they were looking at or what entity
i need help, my server has crashed, much error on console
Does anyone know a way to fix the issue where Hytale failed to connect to any available address. The host may be offline or behind a strict firewall. My friend and I can't play together.
Does someone already used ItemGrid in .ui files?
how do I cancel player movement? / freeze player?
I'm trying to but I can't find any info
Regular blocks wouldn't have a component like that
For me it does not accept children elements
Does anyone have a good server optimizer? How many GB of memory does yours use?
wdym children elements
get the MovementManager component from the player, getSettings(), set the baseSpeed to 0, and update passing the PlayerRef.getPacketHandler()
Doesn't the server need to calculate collision?
Grid Items
Collision of what?
player x block?
Slots?
Yes
var playerRef = store.getComponent(ref, PlayerRef.getComponentType());
var mov = store.getComponent(ref, MovementManager.getComponentType());
mov.getSettings().baseSpeed = 0;
mov.update(playerRef.getPacketHandler());
Oh whether or not the client could actually perform the hit? Yes probably in the interactions themselves but im not sure how precise they are
Hm, no like if the player can move between from place x to y, but there's a sign in front
Hytale movement is like almost exclusively clientside
well that sucks 🙂
anyone knows how the armor slots are named? helmet and chest works but what are the other 2 named?
Yeah somewhere but you'd probably have to re-form some more complex raycast yourself
they do, they are in the assets of the blocks, but if the server doesn't need them i doubt it stores them.
instead of frezing the player why not create some sort of a jail, they wouldn't be able to break stuff, there are alot of movements
small update for this, it needs to be Block.getAssetMap(). Item has interactions for the entry when you HOLD it in your hands
I think slots can only be filled with Java Code atm
I see
It gets sent as assets to the client to process no? The server wouldn't have the info in memory
didn't manage to make it work, doesn't seem like changing the interactions map is doing anything. will try more tomorrow and update if I don't forget
Yeah it can be made from scratch
The block bounds are in memory but they wouldn't be on a component
can i add my domain without having to have the port behind it?
Has someone already disabled join messages???
i have a huge server (~40/50 average players) but i can't find a fix for memory leaks
Anyone know if theres a fluid component for blocks?
var component = blockStore.getComponent(blockRef, <Fluid>)```
i think not
right, can confirm
Is there a way to check if a block is a fluid from the ref?
not yet
i had the problem on my citybuild server aswell
I would need to get it from the json, is there a way to do that with hytale api? get the item/block data? is it the getExternalData()?
Hello i have a question, very bad at these things, but how do i make a downloaded Plugin work? there is a QoL i want to add but it doesn't show up.
oh wait instead of using the mods folder, the earlyplugin folder?
Did you ever figure it out? Also in the same boat
why sometimes when I teleport player he spawns to slightly different position?
Only the getState in world is deprecated. Get the state through its chunk.
I noticed that BlockState is deprecated, marked for removal which is basically what getting it through world chunk does. I'm like.... what we use instead
Oh. What’s the alternative then
Is there ways to make my server auto update mods?
that's what I've been asking lol
gauntlets and greaves?
Hey you! We're looking for game testers and skilled indivduals/creatives to help make the biggest RPG server Hytale can offer. Our team is thriving but always in search of people who would also like to make something great.. ad me to learn more if interested !
yeah if you're going to mark something for removal I would think you should at a minimum have the alternative approach there, and perhaps point to it.
I suspect the removal point will be when the new thing appears lol
I’d assume the debug info got stripped during compilation, rather than them not marking it
i.e in a comment or smthn
Possibly
anyone got fireworks assets?
BlockBoundingBoxes.getAssetMap().getAsset(blockType.getHitboxTypeIndex())
Guys, has someone already tried to modify or remove the left message
delete that ^
is their a way too auto update zip mods on servers?
im guessing their join code
Huh?
You just missed some base encoded value no one wanted to look at
Ohhhh ok im sorry
which type has this method?
It looked like either a JWT or baseencoded value. Either way, gibberish indeed
anyone know why bettermap not workiing??
we asked for that to be yeeted and you brought it back 🤣
Broski
yeah with it ressurected from the dead I can see that now
guys shush it im encrypting this message
Which method
getAssetMap
Thats a static method
i figured, yeah
i'm dumb, thanks!
I think its valid base64(just the underlying bytes are garbage)
base 64 neednt be text -- base64 can be any number of arbitrary bytes, including invalid characters
How much time is it taking to curseforge to approbe mods?
why do I feel this is an elaborate ploy to get us to take said value and get rick rolled
because it likely is 😄
🤣
It's base64 compressed json. (It even says so in their Server Manual)
where i find the import for the health component?
I don't know what bson is 💀
basically binary json -- kinda like nbt, but less weird
anyone done any ui work? getting 'failed to load customui documents. feels like im missing something simple here..
Did you find a solution?
would like to display custom text when hovering an item... looks like I need a whole custom ui for it
I was looking into doing UI once I figure out some data pieces. Did you make sure your UI resources are put into your resources folder of your plugin
Yeah, you gotta do some UI work for that from my understanding
is anyone getting issues with people have random stuff spawn in their inventory?
RefChangeSystem<EntityStore, DeathComponent>
Is this the best event to trigger a new respawn location on death?
yo
I think so? Believe I saw that in a kill counter plugin
Anyone here worked with animations on use or sometrhing how to trigger them that .blockanim file
great, I had a format issue in my .ui. thakns man
yeah its there. thanks for the assist
did you use the online editor for doing the UI?
Guys, after setting how my mod item will be crafted and selecting the workbench... it still doesn't appear in the workbench for me to craft. Any ideas? : p
I tested each workbench, one by one, and it didn't work.
there is not HealthComponent... in which component i get the health of an entity
i need API
Anybody know how to fix up the encoding on Serilum's Hybrid source code? Trying to take a look at it and other mods from him and I'm running into a lot of problems. Changing the encoding in NP++ isn't helping at all either.
lf modder to create a modpack
I’ve been working on a very lightweight IntelliJ plugin focused on improving the experience when working with .ui files.
It’s a lightweight IntelliJ IDEA plugin that enhances .ui file editing with syntax highlighting, bracket matching, code formatting, and more — making UI definition work easier and more productive.
What’s new in the latest updates:
- IntelliSense & Code Completion with component type suggestions
- Live Preview Tool Window to visually render .ui files
- New UI File Action to quickly create .ui files via the context menu
- Hierarchical AST Parsing for better code folding and correct indentation of nested elements
Feel free to share ideas, feedback, or even contribute to the project.
The main goal is to gather feedback and hopefully help some of you while developing.
You can get it from Jetbrains Marketplace or GitHub.
Sorry for posting this in the wrong channel.
I just wanted to share this small project for anyone who wants to get into .ui work while waiting for more feature-rich plugins in the future.
It's normal use 27gb with 3 players?
need this lol... an cahnce it comes to vscode?
Whats a good source of plugins/mods?
im literally struggling with ui formatting right now
damn im searching now for an hour just to get to read the entities max health
DefaultEntityStatTypes.getHealth();
i luv you
i love you too
I thought you were referring to 'current' health in your previous messages
@covert tide yeah kinda both i have a plugin which suits up a player with a kit (amor,weapons) but this modifies the stat and i need a way to make the entity full life again with the increased hp stats
How i can heal someone with editor asset creating a new event like EntityDamageParent? some like EntityHealParent?
omg u jsut reminded me that i gotta remove the effects before entering a pvp zone in my mod 😭 thanks man xd
is there a way to make mobs not despawn?, getting this error all the time - [Spawning|P] Removing NPC of type Skeleton_Frost_Soldier due to overpopulation (expected: 2.730614, actual: 8)
hey guys it says this when I create a project "Gradle supports JDK versions 1.8 through 20. Do you want to proceed with JDK 21 and Gradle 8.4?" but in the wiki it saays to use java 21 and gradle, am I doin sum wrong or can I just hit yes and itll be fine (never used gradle)
anyone know if it is possible to add yourself as OP editing a file for a server? having some issues with Nitrado and the server console
i think the ingame command is /op self
that doesnt work on a multiplayer server for myself
/heal heals players
what I sent would be sued to modify max hp of entities
Isnt Hytale JDK 25? Or for what you need between 1.8 - 20?
following the instructions I read on the hytale docs
Using IntelliJ IDEA
File → New → Project
Select Gradle with Java
Set JDK to 21
Name your project (e.g., my-hytale-plugin)
Click Create
it says to set it up like this even tho it asks me to download 25 but says its for people who wanna use an API
Is it possible to wait for another plugin (for example BlockStateModule) to setup first? I can't register my own BlockStates because this module isn't loaded when I try to register them
does it matter if I dont use gradle, what if I just use maven?
Is there any way to check if a player is in the air/jumping? I couldn't find anything that was remotely close to that.
@outer sparrow sobre tu plugin, aceptame la solicitud
Java is backwards compatible, you can use 25 for targets built with 21, but you can’t do the opposite. JDK = Java Development Kit. You can use either but gradle is pretty straight forward, but again ymmv. Also to give yourself op on a multiplayer server just type /op add <user> in the server terminal
Anyone know why inventories don't support capacity over 63? I would have suspected that allowing said attribute to be exposed would mean it'd be scrollable.... but it's not. Thus 63 is the max value until the inventory screen is too big to see.
I was trying to see if I could make it scrollable but really don't want to re-create the inventory window
So, I managed to get the bounding box of a block type but apparently there's no public method to know if the block has more than one bounding box like the Sign_Tall does lol
Is there a command to track structures? Similar to /locate.
Done
Hey guys, maybe this is not the right channel but did you find a way to have a argument containing spaces in a command ?
We have a bugged warp (the teleporter was removed but the warp is still visible in others and still takes a warp slot) and it has a space in it (litteral space character), however the /warp remove <warp_name> command does not accept 3+ args (since a space in the name would be detected as a new argument in command system).
Putting quotes around the name seems to fix the multiple arguments issue but the the warp is not found and I think quotes are considered part of the name entered.
Maybe a "" before the space? To escape the character?
back slash, discord removed the \ between the quotes
When I place a backslash in a command, the chat says Invalid escape with the column index (with \s also)
Hmm, then I'm not sure, as back slash and quotes are generally the only ways to render spaces correctly
Single quotes do anything?
they are considered as part of the name 🤷
Is there a way to force a workbench to be attached on the back to a half slab?
Can you just change the command name in source files?
FYI EntityStatMap.getHealth only contains the base health excluding any modifiers through items like armor
oh dam, a potential fix for the issue im having, would also like to know how to deal with the space in the name
This is a vanilla command so i'm not sure
You could try to override it
im surprised that /warp list doesnt have anything to delete them, given it opens a UI
yup, one missing feature here 😅
invalid escape error
ye invalid escape too, but \' and \" do not trigger the error message 🤔
Whats the proper way to stop mobs from spawning using events? Anyone knows
Does anyone know if it is possible to load item icons in a customUI page, I cant seem to get it to work... the best I got was a white box with red X lol
been able to manually remove the warp, in the save file, open the universe folder and you should see a file called warps.json
@civic zephyr Hey , I DM'd you regarding IDE's
Oh alright
thank you bro, must be blind to have check all files but this one lmao
no worries, glad i could help, though i wouldnt have been able to find it without ur message, wasnt aware it was parts of the warps system
single argument spaces is still smth we must find a solution for 🤔
/warp remove --help seems to suggest u can use quotes, but clearly something bugged im guessing
why aren't my ECS Systems working while in single player?
what
literally that, they work fine while running the server
ehhh pibe
I'm having no luck changing biome colors. I thought I would be able to do it via server>hytalegenerator>biomeasset and then changing the tint in the jsons like Plains1_Oak, but that doesn't seem to be it from what I can tell. Anyone know how?
entiendes portugues?
meus systems ECS não funcionam no single player, só pelo servidor separado
nooo
não entendo porquê
Está difícil entender
no entiendo
🥹
Cuál es tu problema?
ahhhhhhh entendi
basicamente meus sistemas funcionam quando o mod está rodando pelo HytaleServer.jar
mas quando os mods estão na pasta do client, não funciona
Can someone help me with some errors in terms like getStats()?
```private void onAriseRequest(DropItemEvent.PlayerRequest event) {
Player player = event.clone();
// Acessa o mapa de status nativo do jogador (ECS)
EntityStatMap stats = player.getStats();
if (stats!= null && stats.getStatValue(DefaultEntityStatTypes.getStamina()).get() >= CUSTO_STAMINA) {
// Mira automática de 5 blocos
player.getTargetEntity(5.0f).ifPresent(alvo -> {
if (alvo.isDead()) {
// 1. Consome Stamina nativa do Hytale
float staminaAtual = stats.getStatValue(DefaultEntityStatTypes.getStamina()).get();
stats.getStatValue(DefaultEntityStatTypes.getStamina()).set(staminaAtual - CUSTO_STAMINA);
// 2. Executa a lógica de substituição
realizarArise(player, alvo);
// 3. Cancela o drop (G não joga mais o item no chão)
event.setCancelled(true);
}
});
}
}
hola??
Hola
se escucha
0 errors?
???
Are plugins reloaded automatically or do I have to restart the server?
ok bro
afaik you have to restart th e server but if anyone knows otherwise please say because its a pain
chauuu
are there any docs for the modding api
./plugin load group:name should work I think?
I remember something like that
Some server to play with other people?
S there any docs on how to make a UI can’t seem to find it and also a scoreboard
errors 14 in;
EntityStatMap stats = player.getStats();
if (stats!= null && stats.getStatValue(DefaultEntityStatTypes.getStamina()).get() >= CUSTO_STAMINA) {
if (alvo.isDead()) {```
``` float staminaAtual = stats.getStatValue(DefaultEntityStatTypes.getStamina()).get();
stats.getStatValue(DefaultEntityStatTypes.getStamina()).set(staminaAtual - CUSTO_STAMINA);```
` String templateId = corpo.getTemplateId();`
` Entity aliado = monarca.getWorld().spawnEntity(templateId, corpo.getPosition());`
``` aliado.applyTemplate("monarch:shadow_settings");
aliado.setTeam(monarca.getTeam());```
` corpo.despawn();`
`monarca.showTitle(Message.raw("§5§lERGA-SE"), Message.raw("§8Servo invocado com sucesso!"), 10, 40, 10);`
Yeah, that is so slow to iterate on
Uh, have to try that
oh this is nice but how do I know what my group and stuff is? the plugin identifier?
should be in you manifest json
When you add a Pack or in your manifest your top should look like that
{
"Group": "BiomeGen_1", ◀️ Group
"Name": "CustomBiomeGen_1", ◀️ Name
"Version": "1.0.0",
"Description": "World Gen Testing",
it says failed to load the plugin because it is already enabled!
Try /plugin reload
I think that exists as well
The fact that the command considers quotes as a part of the name tends to prove the command is meant to have an all following args as one mecanism, but bugged at the moment because we have a arguments count error response
thanks for your help it worked!
Brilliant 💜
You're gonna have to be more specific, configure as in work on existing plugins or create entirely new ones?
hey guys, with multithread architecture in hytale, do you think network servers can be run as multiworld single server ?
are you asking if you basically go into a warp/teleporter - it sends you to an entirely different server?
no no, multi worlds, to act like a sub-server, for minigames etc for example
yeah that's probably the case
ooohhh. Gotcha. I'm pretty sure yeah, they're considered ... instances I think. Each world runs on a separate thread so if you have a chaotic world going on, it won't lag the other worlds that are active
yeah one single server, having worlds instead of other servers, for minigames, it just has to be really huge server hahah
Anyone know how i can trigger a Log in the Server Console?
Anyone run into massive lag with ancient gateways?
Number of cores will basically drive how many "threads" can truly run in parallel. If you have 2 cores, then... 2 threads can truly run in parallel. Otherwise a single core doesn't really gain the benefit of parallelism
i have 12 core cpu and 128gb ram on the server
DM? 😄
Which addons are those? Im self hosting but installed nitrates performance saver
Yeah, you should be good lol
thanks guys, will try to make something good
o7 godspeed
On your JavaPlugin you have a getLogger method I think
Anyone know how to make a scoreboard or is there docs on it
i will, ty 🙂
@obtuse ginkgo friend request sent
when i try to make a online with my friend the game says nat type: carrier grade nat (CGNAT) and my friend cant join. can anybody help?
does anyone have the discordbridge mod? i made the .env file but its not working? does it just go anywhere after you login to your ftp ? or somewhere else
anyone know what event it triggered when a player respawns
guys im having some of my plugins disabled and some errors with dependency, but im totally noob with those things, does someone knows a fix?
mb u said respawn not join
they dont get triggered when a player dies and respawns tho right?
hello guys, we have a problem with my friend, we can't play together on his server is this normal ? a bug ?
join the servers in my bio, problem solved :p
We want our server sorry
i need help
Failed to obtain authorization grant from session service
as far as I can see where isnt a normal one exposed
CGNAT = No direct inbound connections allowed. You'll need to contact your ISP to give you a real public ip that allows port forwarding.
Or, purchase a dedicated server from a host if you don't want to deal with talking to your ISP.
im kinda slow and english is not my 1 language what is isp and how to make a server for both me and friend
google a tutorial its easy
ive been looking for one for like an hour and noone helped me
ISP = Internet Service Provider. Your ISP doesn’t give you a real public IP, so you can’t host servers or port‑forward. You need to ask your ISP for a public IP.
is having access to my router setting via browser helps this?
so it cant be done like in minecraft, where you can edit your router ports ?
No, because you have a CGNAT type. that is controlled by your ISP.
like i enabled the upnp or smth like this cause the game said it needed to be on so idk
does DamageEventSystem work for player damage? like when you hit a skeleton?
Only work-a-around I know of with a CGNAT type other than buying a server, is using a VirtualLAN program like ZeroTier, but idk if Hytale supports custom ports.
like thinking otherwise my friend made a aternos server and the game says the connection timed out from inactivity but my friend joined why i cant?
Thats what i used 🙁
Typically yes, but not with a CGNAT
there is no scoreboard, you would have to create a own UI Hud and implement things like that
I think you have to call a method on that for the level and then you can log a messge, it's a logger from the google Flogger lib
Does anyone know how to get the players IP upon connection? Need it for my IP ban module
DEEZ
is this how servers are doing it rn? ive seen a couple servers with "scoreboards" but wasnt sure if its just a ui or what
HOW TO FIX MAP? I just see a blue screen, please HELP
UI Hud
thanks
Like this logger.atInfo().log("My msg")
HOW TO FIX MAP? I just see a blue screen, please HELP
I created a faction server and am looking for ways to do raiding without the overclaim ability, the only things I come out to are explosive barrels but i cant find these items anywhere in the creative meny, so i tried spawning in sappers but they dont exist either
getLogger().at(Level.INFO).log("RuneComponent Found!"); this works for me
String ip = null;
SocketAddress sa = ( event.getPacketHandler().getChannel() instanceof QuicStreamChannel quic )
? quic.parent().remoteSocketAddress()
: event.getPacketHandler().getChannel().remoteAddress();
if ( sa instanceof InetSocketAddress inet ) {
ip = inet.getAddress().getHostAddress();
}
Can I get that through PlayerConnectEvent? Or is it some other event I have to use?
PlayerSetupConnectEvent
HOW TO FIX MAP? I just see a blue screen, please HELP
HOW TO FIX MAP? I just see a blue screen, please HELP
Read the channel name
LEGEND!
If I have a component such that I only care whether it exists or not how can I register it in the chunk store registry with an empty codec because it has no variables?
This happened on my server
Tysm!
np
Server plugins. Its happened with SERVER
This channel is for developing plugins not anything else
I think this chat can help solve this problem. If you don't know, don't reply
Same problem, CGNAT. Your ISP blocks the required inbound/outbound traffic.
Go ask in #game-discussion if you need help and not in a dev channel
This is development related. I restarted the server and the map crashed
Nope, that’s still game related bro.
how do i get a Player obj from a PlayerRef obj
Ask nicely
Could a kind soul please take a few minutes of their valueable time to inform me of a way to get a Player object from a PlayerRef object
No not me, ask the server jar
cam some one sirect me to where i can start a server from my pc like a video or blog
Hey all asking again as I havent been table to figure it out, I have a handle for place block event but I want to figure out how to attach my custom component to a placed block in the world
I have a test component defined and handler as such
@Override
public void handle(int entityIndex, ArchetypeChunk<EntityStore> chunk, Store<EntityStore> store,
CommandBuffer<EntityStore> buffer, PlaceBlockEvent event) {
the entityIndex here seems to be the player that placed the block but I want to know how I can get that block's Ref to attach a component to it. I know I have the following info at my disposal
Block placed, provides
ItemStack,Vector3i, andRotationTuple
but not sure how to turn that into the block's ref
:(
I wrote in this chat because I see you're knowledgeable about modding and server software. I thought you might have encountered this problem before. If you haven't and don't know the answer, you might simply not have responded
player.getReference().getStore().getComponent( player.getReference(), Player.getComponentType() )
thank youu
np
Paul is right but here's a more easily digestible version
Ref<EntityStore> entityRef = playerRef.getReference();
Store<EntityStore> store = entityRef.getStore();
Player player = (Player) store.getComponent(entityRef, Player.getComponentType());
anyone know how to get the health of a player from Player or PlayerRef
public void handle(int entityIndex,
ArchetypeChunk<EntityStore> chunk,
Store<EntityStore> store,
CommandBuffer<EntityStore> buffer,
PlaceBlockEvent event) {
Vector3i pos = event.position();
MyCustomComponent comp = new MyCustomComponent();
comp.someValue = 42;
buffer.addBlockComponent(pos, comp);
}```
Is the block custom with its component defined in its definition or is it a component that you want to be able to apply to any block
Because you have to make a new blockref manually if the block doesn't define its component
correct I want to hook into vanilla block and attach custom behavior
u dont need to cast Player onto the store.getComponent
Q ricoooo
var chunk = world.getChunkIfInMemory(ChunkUtil.indexChunkFromBlock(targetBlock.x, targetBlock.z));
var chunkRef = chunk.getReference();
var chunkStore = world.getChunkStore();
var blockComponentChunk = chunkStore.getStore().getComponent(chunkRef, BlockComponentChunk.getComponentType());
int blockIndex = ChunkUtil.indexBlockInColumn(targetBlock.x, targetBlock.y, targetBlock.z);
var blockRef = blockComponentChunk.getEntityReference(blockIndex);
There likely will not be a blockref associated with a block because blocks by default do not make individual references to themselves unless they have something that makes it for them
anyone having server?
check my bio
You can make a new block ref if it doesn't exist here like:
if (blockRef == null) {
Holder<ChunkStore> holder = ChunkStore.REGISTRY.newHolder();
holder.putComponent(BlockModule.BlockStateInfo.getComponentType(), new BlockModule.BlockStateInfo(blockIndex, chunkRef));
blockRef = chunkStore.addEntity(holder, AddReason.SPAWN);;
}
Then get the component or add the component like you would anything else with the store and ref if you know how to do that
take my friend request...
should be
EntityStatMap stats = player.getReference().getStore().getComponent(player.getReference(), EntityStatMap.getComponentType());
var health = stats.get( DefaultEntityStatTypes.getHealth() );
whenever i try to run a command to start a server, there is an error saying cant access jar file, how to fix it?
how do you start the server?
I don't see
buffer.addBlockComponent(pos, comp);
this function on buffer
exactly step by step as they say on their website
thats big man ❤️
I'm looking for a Hytale Plugin Programmer or Character Animator
You're right, it's not required by the compiler, it's just for readability
just read a message above mine before you write it XD
windows, linux.. ?
is the jar in the folder where you run it ?
@Override
public SystemGroup<EntityStore> getGroup() {
return DamageModule.get().getGatherDamageGroup();
}
does anyone know what is the purpose of this?
I swear im running into every error possible just trying to setup a project for a plugin
Whatsup, what can i help you with? I also ran into alot of probs
None of what was in that message was correct
Honestly im not even sure yet but if u wanna take a look ide be happy to ss
🐓
Open CMD as admin and run this codes
netsh interface ipv4 set subinterface "Ethernet" mtu=1360 store=persistent
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 60 4
It should say OK. on each line, then start the game
windows, wdym run it? the folder where it is i got from their website (downloaded it) and there is nothing in this file that opens console to do stuff in
sure ill add ya
Hi, do anyone know if a "login with hytale" is something feasible ? Like, i'm a server owner, I want the users to login on my website with hytale oauth2. Thanks in advance
Ive created a custom component and block, is there a way to ensure that component is added to the block by default?
Its item definition
so the chunk defined here is different than the chunk passed in by the event
ArchetypeChunk<EntityStore> chunk
we need to jump though all them hoops with the world chunk store 🪦
Oh, thats just the archetypeChunk, thats different
You can rename the parameter in handle
no idea which file you are trying to open tbh, i asked you how you start it and you just say "exactly step by step as they say on their website"
Just provide more details if you want help
The chunk in the message ive written is the WorldChunk literally
so in console i put this java -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip to open the server then i get this error
heeyy, would be great if someone could give me some sense of direction. I really want to get into modding for hytale. Where can i like read more about it and start? i can already program. Thanks 🙂
Open CMD as admin and run this codes
netsh interface ipv4 set subinterface "Ethernet" mtu=1360 store=persistent
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 60 4
It should say OK. on each line, then close CMD and start the game
then the jar is not in the folder where you are run the command, i have no idea how your folder looks like
you can send me a screenshot of both via dm if you want
did anyone find a way to remove the "has left <worldName>" message?
more details pls, thank you
is this still the same if its connected via wifi instead of ethernet?