#server-plugins-read-only

1 messages Β· Page 113 of 1

low mortar
#

probably SetBlockSettings flag.

lucid spire
#

yup just found it

finite vault
#

what is wild, if i place/break a block next to it. all of sudden it's block reference comes back πŸ’€

#

but yeah if anyone could tell me how they are updating there block state, that'd be awesome cause something is wrong with how im doing it

low mortar
finite vault
#

you mind dming a link to the repo?

#

or telling me the org/user name so i can find it haha

low mortar
#

KarolexDev/Hydrodynamics

#

their only repo

timid trout
#

nop πŸ™

finite vault
timid trout
#

I actually tried setCancelled(true) first. The problem is that it preserves the block's 'cracked' state (visual damage) at 100%. So, if I hit the block again immediately after, the event fires instantly because the breaking progress isn't reset to 0. That’s why I'm currently replacing the block to force that reset. Is there a specific method to reset the block damage progress alongside cancelling the event?

finite vault
#

but like,that cannot be normal behaviour

sonic peak
#

Looking for some pointers please: If I have a Block x,y,z and look up it's Interactions (a lamp for example with Use) can I trigger that programmatically?

lucid spire
#

how do you determine which direction a player is looking at? (UP, DOWN, NORTH, EAST, SOUTH, WEST)

spare kraken
#

Is there a .jar style Mod that allows craftable diving gear? The mods I see involve opening up the assets folder and replacing files, rather than a .jar

finite vault
finite crane
spare kraken
#

Unless its coming next patch or whatever

finite crane
lucid spire
#

ill try that

last harness
#

Hey guys, I'm trying to place a block with rotation using ⁨chunk.setBlock(x, y, z, blockName, rotationIndex)⁩ . The method executes without errors and logs show it's working, but the block doesn't appear in the world. I calculated the rotation index using ⁨RotationTuple.of(Rotation.None, Rotation.TwoSeventy, Rotation.None).index()⁩ which gives me 12. Do I need to call some update method after setting the block in the chunk? Or is there a different way to place blocks with rotation via code?

finite vault
#

you are using the local chunk coords, right?

last harness
#

Do I need to use global?

finite vault
#

Nah, it's local chunk coords πŸ€” try using rotation index 0

#

and see if it places South (which is what rotation 0 is)

fringe ether
#

which plugins are the best to improve the server performance/fix crashes for 20-30 online survival server?

last harness
last harness
finite vault
#

and there no errors in the world logs?

last harness
#

Not a single error, the only thing there is is debug.

[2026/02/02 01:03:22 INFO] [CaixasSystem|P] Player yaw: -4.5013523
[2026/02/02 01:03:22 INFO] [CaixasSystem|P] Spawn pos: 160.0, 94.0, 100.0
[2026/02/02 01:03:22 INFO] [CaixasSystem|P] [SPAWN] Trying to spawn box: temp_comum in 160, 94, 100
[2026/02/02 01:03:22 INFO] [CaixasSystem|P] [SPAWN] Chunk found! Calculating local coordinates...
[2026/02/02 01:03:22 INFO] [CaixasSystem|P] [SPAWN] Global coordinates: 160, 94, 100
[2026/02/02 01:03:22 INFO] [CaixasSystem|P] [SPAWN] Local coordinates: 0, 94, 4
[2026/02/02 01:03:22 INFO] [CaixasSystem|P] [SPAWN] Rotation index: 0 (TEST: should spawn facing SOUTH)
[2026/02/02 01:03:22 INFO] [CaixasSystem|P] Spawned box: temp_comum at 160, 94, 100 (block: Caixa_Comum, route: WEST/0) ```
#

I managed to get it to spawn, but it always spawns to the south, not to where I'm looking, which is west.

finite vault
#

was it the ID/blockName? out of curiosity

bold bear
#

What is everyone using to handle player rewards for voting across various Hytale server list sites?

last harness
#

I'll just swap the block out of curiosity.

quartz plover
#

The platform-specific code it has is mostly for commands, events and other stuff like logging

last harness
bold bear
quartz plover
#

That said, it copies the GPL-3 licensed code of NuVotifier (1-1 copy of some classes) and uses them in a closed-source project

#

Which is very shady behaviour

quartz plover
thorny dew
#

I mean, solid chance Claude spit those out as well and the author didn't care

wary lion
quartz plover
wary lion
#

oh someone stole nuvotifier's code thats foul smh didn't even attempt to hide it

dusky sable
#

Does anyone know why my NPC isn't holding an item in their offhand? I can get them to hold items in their right hand and wear armor, but not anything in their offhand.
⁨⁨⁨```java
Pair<Ref<EntityStore>, NPCEntity> npc = NPCPlugin.get().spawnEntity(
world.getEntityStore().getStore(),
NPCPlugin.get().getIndex(roleName),
citizen.getPosition(),
citizen.getRotation(),
playerModel,
null,
null
);

   citizen.setNpcRef(npc.first());

    if (citizen.getNpcOffHand() == null) {
        npcEntity.getInventory().getUtility().setItemStackForSlot((short) 0, null);
    }
    else {
        npcEntity.getInventory().getUtility().setItemStackForSlot((short) 0, new ItemStack(citizen.getNpcHand()));
    }```⁩⁩⁩
wary lion
#

honestly im expecting in the upcoming months for people to be stealing an insane amount of minecraft plugins and converting them to work with hytale

bold bear
# quartz plover I didn't know HyVotifier was a thing, I checked it out and seems like a solid pr...

As far as I’m aware I did all of the right configs and matched the correct tokens to the website that is handling the vote for the V2 protocol, and for the one website that was using V1 I pasted my RSA public key, but I’m starting to think it’s an error in my network configs since I’m hosting at home and using Playit proxy to get to the Hytale server. I had to use a Cloudflare tunnel to expose tcp://server-ip:8192 where HyVotifier runs. I’m just wondering if maybe HyVotifier won’t work over a proxy.

wary lion
#

i imagine an insane amount of open source plugins to get converted pretty fast

finite vault
#

I am about to looooooosssee itt, why when setting block state does the Block Ref in the chunk store just disapear

dusky sable
bold bear
calm robin
#

Is there a way to prevent the drops from falling on the ground when breaking a ore?

wary lion
calm robin
dusky sable
strong musk
quartz plover
#

It's licensed under MIT as well, which seems strange to me as most closed-source projects are ARR instead

strong musk
copper summit
#

How i feel reading my errors sometimes
"The error is that there is no error"

fiery lodge
#

Is it possible to detect when a player has placed a specific block?

finite crane
stray pasture
fiery lodge
#

I tried to register to the current block break event but the argument its using doesnt give anything i can seem to use to detect what specific block was broken

verbal raft
#

any cool servers?

fiery lodge
#

Also, why do i not have my package on my tags on discord yet, i bought the second tier package

stray pasture
#

Only hot servers here.

verbal raft
#

any that have a blend of pvp and building?

opaque cape
#

Supposedly Claude Sonnet 5 could be releasing as early as next week

Rumored to have 1 Million Context window
1/2 the price of Opus 4.5 and better in all areas

stray pasture
fiery lodge
#

t

#

THERE we go πŸ˜„ thx @high bane

high bane
#

You got it πŸ‘

stray pasture
high bane
stray pasture
#

Oh! Cool!

opaque cape
stray pasture
finite vault
#

how can I get the entity reference from a chunk reference? is that even possible

opaque cape
stray pasture
opaque cape
stray pasture
opaque cape
#

This is what work is paying for

stray pasture
#

At least your work pays for it...

fiery lodge
#

Does anyone know if i can add a custom component to my block to store and retrieve data for that block specifically without having to create my own backend framework to manipulate the data?

#

What i am trying to do:
I am trying to store some custom logic to a block but it requires specific data for the block (think tile entities from minecraft)

What i want to do:
I want to assign the block data that i can manipulate in order to provide a scripted result, and also have a "on tick" that checks every 10 ticks or so to trigger logic for the block

opaque cape
stray pasture
fiery lodge
#

Hmm.... i figured out a solution using the docs xD
However: i require storing a variable amount of data, so components may not support the volitile data i was trying to construct

opaque cape
merry harbor
#

Hello is there a way I can access a list of all online players so I can iterate on it

unkempt musk
fiery lodge
#

Man i wish there was a guide somewhere on creating custom components for blocks xD

I really need to store and retrieve 6 different values for the block lol!

dawn torrent
#

Anyone know what the alternative to BlockChunk.getSectionAtBlockY() with it being depricated?

surreal flame
#

can i temporarily preven a Entity from moving?

dusky sable
#

Does anyone know why my NPC isn't holding an item in their offhand? I can get them to hold items in their right hand and wear armor, but not anything in their offhand.
⁨⁨⁨⁨⁨⁨```java
Pair<Ref<EntityStore>, NPCEntity> npc = NPCPlugin.get().spawnEntity(
world.getEntityStore().getStore(),
NPCPlugin.get().getIndex(roleName),
citizen.getPosition(),
citizen.getRotation(),
playerModel,
null,
null
);

   npc.second().setInventorySize(9, 30, 5);

    if (citizen.getNpcOffHand() == null) {
        npcEntity.getInventory().getUtility().setItemStackForSlot((short) 0, null);
    }
    else {
        npcEntity.getInventory().getUtility().setItemStackForSlot((short) 0, new ItemStack(citizen.getNpcHand()));
    }```⁩⁩⁩⁩⁩⁩
low mortar
#

can I move the objective hud? is there a ui file for it somewhere?

opaque cape
stray pasture
opaque cape
#

We pay $39usd per user per month for the Higher Tier Plan

stray pasture
finite vault
#

Server Plugins > Block Components

#

I've wasted hours now trying to figure out this weird setBlockInteractionState issue....

I'm pretty convinced this is some hytale server bug

#

I've already experienced unexplainable issues before where block state changes, cause it giving me the wrong coords in my EntityTickingSystem (but only on place, chunk load works fine)

sacred tulip
#

I haven't played the game yet is it fun making plugins or is everything doable with AI?

stray pasture
finite vault
#

it's fun! but AI won't be building any plugins by itself without insane money sink right now (not until there's enough docs and examples)

stray pasture
opaque cape
sacred tulip
ornate raven
#

even if you use ai best is search decompiled hytaleserver jar so find right path

dawn torrent
#

Yeah I use AI for like "How do I get ___insert field from block___ from the info I have here" Or breaking my one 3D model into the 1.1k models I needed 🀣

ornate raven
stray pasture
#

AI can get you the information and even piece it together, but it cant make something you want from a prompt.

opaque cape
#

I prefer to try ask here first, But alot of times people are busy or are unsure, So asking the AI how to achieve something is very helpful

stray pasture
dawn torrent
#

I wish I could send a pic of what I have going on with item pipes, it's littttt

opaque cape
ornate raven
#

it would be good if they added channel with image perms

finite vault
dawn torrent
#

1.1k models for 1 block πŸ™ƒ

opaque cape
#

The Server Jump Mod ended up a mess tbh, Even though it works

#

Shubshub Economy has a much cleaner codebase

finite vault
#

so like, is there away to report bugs for hytale server jar haha

#

cause I'm pretty sure I've bumped into two now

dawn torrent
#

I have a lib for people to (hopefully) use for creating energy production blocks, and things to consume energy, then I have my factory mod that connects to the lib

smoky tendon
#

anyone know how to use the "UseLatestTarget" from a BlockCondition Item Interaction?

I'm trying to save the reference of one block in a tool and then the next block that is clicked will then do "something"

opaque cape
dawn torrent
#

Must've missed that 🀣

opaque cape
#

@marsh edge

finite vault
# ornate raven wtm

Placing a block that, will result in BlockState changes (like rails for example). will cause EntityTickingSystem to trigger, with wrong local coords.

and when running ⁨worldChunk.setBlockInteractionState⁩ causes it to loose it's Ref in the ChunkStore until a block update happens

#

this could be result of them ticking, but I'm pretty sure both of these are not intendted behaviours

#

I was able to work around the first one, but this second one is doing me in, it's been 5 hours

ornate raven
#

good catch did you report it i dont think intented bug this type of bugs problaby good to report on website

finite vault
topaz cipher
#

Anyone else use PlaceholderAPI by creeperface or WiFlow's PlaceholderAPI?

opaque cape
#

What does that do?

stray pasture
opaque cape
#

Now in java my variable can be of type AuctionContract πŸ˜„

stray pasture
opaque cape
#

Its more all the extra fluff that Java makes you do that even other typed languages dont

opaque cape
#

Like

public static final BuilderCodec<AuctionContract> CODEC

finite vault
#

I've been using Kotlin, it's working like a treat

opaque cape
#

Thatd be something like

BuilderCodec<AuctionContract> CODEC in C++

#

Also I really like the CODEC System

#

Being able to natively build an omnidirectional serializer is game changing

stray pasture
stoic mesa
#

Anyone have an idea how to make an explosive that is a block and gets placed down, and once its lit turns into an entity so it can be shot out like a canon?

vocal kelp
#

Anyone know how to spawn an item? ⁨ world = Universe.get().getWorld("W1"); assert world != null; world.execute(() -> { ItemStack i = new ItemStack("Ingredient_Fiberasdf", 1); Vector3d pos = new Vector3d(5, 101, 5); Holder<EntityStore> h = ItemComponent.generateItemDrop( store, i, pos, Vector3f.ZERO, 0.0F, 3.25f, 0.0F); assert h != null; store.addEntity(h, AddReason.SPAWN); });⁩

#

I'm not seeing any errors.. nothing happens

opaque cape
#

Is world actually not null?

#

Add some logs my dude

vocal kelp
#

thats the correct way to do it?

opaque cape
#

Debugging? Yeah the best way is to just shove 10,000 logs all over the place till you dont reach the one you were expecting it to

vocal kelp
#

logs dont show anything

opaque cape
#

Log out what world is, See if it actually goes inside the execute block

#

I'm wondering why you even need to run that code on world.execute though

#

Literally no joke

⁨LOGGER.atInfo().log("We got over here to this part")⁩ All over the place till you reach the end of the string

vocal kelp
#

If you dont use the world.execute I get error, [2026/02/02 05:20:12 SEVERE] [InteractionSystems$TickInteractionManagerSystem] Exception while ticking entity interactions! Removing!
java.lang.IllegalStateException: Assert not in thread! Thread[#102,WorldThread - W1,5,InnocuousForkJoinWorkerThreadGroup] but was in Thread[#103,WorldThread - hub,5,InnocuousForkJoinWorkerThreadGroup]

#

ya I can see print messages but nothing it happening.. no item spawning, no errors, etc

real canyon
#

Well, I almost got the Worldgen V2 thing adding a Prop. I have an Assignment that it's finding from my overridden Biome, but the server log keeps saying it can't find a prefab at my ⁨WeightedPrefabPaths⁩ ⁨Path⁩ πŸ€•

I'm setting it relative to the whole ⁨Server/WorldgenAlt/Prefabs⁩ path thing, but no luck 😫

opaque cape
#

Oh wait no I see your pos of 5,101,5

vocal kelp
#

no thats the velocity, it drops at 5 103 5

finite crane
opaque cape
#

Are you at or near 5,101,5?

vocal kelp
#

yep

opaque cape
#

Make sure to log out what h is as well

real canyon
finite crane
real canyon
# finite crane You're welcome, hope that fixes it for you.

Ok, this is interesting, I still don't see the prefab in the world, and now I don't get any warnings about it not existing, but I do get a warning about unused keys. I'm sure I made my Assignment file wrong 😳

⁨Delimiters.0.Assignments.Prop.Directionality.DefaultDirection, Delimiters.0.Assignments.Prop.Scanner.HeightRange, Delimiters.0.Assignments.Prop.Scanner.Range, Delimiters.0.Assignments.Prop.Scanner.Pattern, Delimiters.0.Assignments.Prop.Scanner.Origin⁩

finite crane
real canyon
finite crane
real canyon
vocal kelp
#

⁨ world.execute(() -> { Store<EntityStore> s = world.getEntityStore().getStore(); System.out.println("TEST"); System.out.println("**** " + store.getEntityCount()); ItemStack i = new ItemStack("Ingredient_Fiber", 1); System.out.println(i.isValid()); Vector3d pos = new Vector3d(5, 101, 5); Holder<EntityStore> h = ItemComponent.generateItemDrop( s, i, pos, Vector3f.ZERO, 0.0F, 3.25f, 0.0F); assert h != null; System.out.println(h.toString()); s.addEntity(h, AddReason.SPAWN); });⁩

#

i give up, i've been trying to do this for two days now

#

it's not getting added to the store for some reason, I print the entityCount and it always shows 0

primal shoal
#

what do the other prints show?

real canyon
# finite crane Whomp.

If you don't mind looking quick, does this look like a proper Assignment file to you?

⁨```
{
"$NodeId": "OrbTemple_Assignments",
"Type": "FieldFunction",
"ExportAs": "OrbTemple_Assignments",
"FieldFunction": {
"$NodeId": "OrbTemple_Assignments-FF",
"Type": "Constant",
"Value": 1.0
},
"Delimiters": [
{
"$NodeId": "OrbTemple_Assignments-Delim-0",
"Min": -1.0,
"Max": 1.0,
"Assignments": {
"$NodeId": "OrbTemple_Assignments-Assign-0",
"Type": "Constant",
"Prop": {
"$NodeId": "OrbTemple_Assignments-Prop-0",
"Type": "Prefab",
"Skip": false,
"WeightedPrefabPaths": [
{
"$NodeId": "OrbTemple_Assignments-Path-0",
"Path": "MotivationsOfGaia/Structures/OrbTemple",
"Weight": 1
}
],
"LegacyPath": false,
"LoadEntities": true,
"Directionality": {
"$NodeId": "OrbTemple_Assignments-Dir-0",
"Type": "Random"
},
"Scanner": {
"$NodeId": "OrbTemple_Assignments-Scan-0",
"Type": "ColumnLinear",
"HeightRange": 20,
"Range": 20,
"Pattern": "CenterOutward",
"Origin": "Surface"
},
"MoldingDirection": "None",
"MoldingChildren": false
}
}
}
]
}

finite crane
finite crane
#

Wait where is the floor info and stuff?
Why is your directionality missing half it's contents.

real canyon
finite crane
#

I got mine working by yoinking oak pillars and replacing all the pillar assets and then changing the delimeter.

cold kite
#

So I have a question how we sell our plugins?

west elk
cold kite
#

/plugin list

west elk
#

Oh

#

I read "see"

#

My bad lol

finite crane
#

&m&zing.

west elk
#

There is no first party plugin distribution system yet

cold kite
west elk
#

Or use an existing third party one

pallid spoke
#

I started a working on this mod that I have on curse forge simple arrow pickup, when I started there's was nothing about arrows, V1 was simple: I just listened for arrow projectiles, waited until they stopped moving (velocity ~0), then treated them as pickup arrows and gave them back to the player. Flying arrows were ignored, stopped arrows got reclaimed. but I could not find a way to make them persist in the world more than 3 to 5 seconds , found a work around to make them into pickable item like a loot drop and until I find a way or is implemented in the API (I dont know if it is I tried looking but didnt find a way to persist projectiles) it will be like this, put it on curse forge to find someone already did some similar T.T took me longer to finish cause i'm new to java and modding anything other than LUA

cold kite
west elk
#

Haven't looked into it myself but I'm staying away from BBB because I heard they're a hub for that

real canyon
finite crane
real canyon
finite crane
real canyon
west elk
unkempt musk
#

@vocal kelp how are you calling the SpawnItem() ?

strong musk
real canyon
strong musk
finite crane
vocal kelp
#

so i found out that I can spawn an item when running with a command but when I do this, ⁨world = Universe.get().getWorld("W1"); assert world != null; store = world.getEntityStore().getStore();⁩ it doesn't work?

strong musk
unkempt musk
vocal kelp
dull junco
#

Hey @dusky sable thanks so much for this info! Do you know where there is any reference to these role indices - like 53 is no behavior, 54 = ???, 55 = ???, etc.?

dusky sable
vocal kelp
unkempt musk
unkempt musk
#

Added.

loud osprey
#

how can i make a custom item where i can place it in the world, i got the item showing in my inventory i just cant place it

fervent lava
#

Has anyone been able to create custom particles/effect and damage system? been trying to ramp up for some ability releases and its tough

finite crane
loud osprey
finite crane
#

Maybe it's the being a basis thing that borks it then.

#

Or you aren't properly overriding something that needs to be overriden.

loud osprey
inland palm
#

Any Coders/Scripters that want to join a project? we are working on making a highly runescape inspired server and are looking for more people who want to join the cause πŸ˜„ if you want to join or just want more info hit me up!

pliant brook
#

hello, beginner dev here, may i ask how to edit the recipes required for an item

rustic pollen
#

when the pre-release gets a normal release? As server owner i really need the fixes in this releases because our server crashes very often because world teleporting :/

tiny geode
#

is there any way to make a world thats empty but still has biomes? so i can do a skyblock type thing for singleplayer? and with mobs spawning

barren maple
lost mist
#

Hi all, After reading through the server api I couldn't find anything related to a player touching a liquid, does anybody know any events?

opaque cape
#

⁨public static final BuilderCodec<PluginConfig> CODEC = BuilderCodec.builder(PluginConfig.class, PluginConfig::new) .append(new KeyedCodec<>("DefaultStartingBalance", Codec.STRING), (config, value) -> { config.defaultStartingBalance = new BigInteger(value);}, config -> config.defaultStartingBalance.toString()) .add() .append(new KeyedCodec<>("EnableAuctionHouse", Codec.BOOLEAN), (config, value) -> { config.enableAuctionHouse = value; }, config -> config.enableAuctionHouse) .add() .build();⁩

Is this valid?

⁨ [ConfigManager] Decoding config: {"DefaultStartingBalance": 10000, "EnableAuctionHouse": true} [2026/02/02 09:21:28 SEVERE] [ConfigManager] Failed to load config: Failed decode [ERROR: UNUSED LOG ARGUMENTS]⁩

I'm geting an error here

#

⁨``` LOGGER.atInfo().log("Decoding config: " + bsonDoc.toString());
config = PluginConfig.CODEC.decode(bsonDoc, extraInfo);

            LOGGER.atInfo().log("Loaded config from: " + configFile);
    ```⁩
unkempt musk
opaque cape
#

Maybe I'll have a configurable cap

unkempt musk
#

You should, bigint afaik doesnt have a cap and if a bug/exploit is found where you can add money, that can lead to some serious memory issues.

#

Just a headsup, i doubt youll ever need numbers that big πŸ˜„

opaque cape
#

What if someone decides to make an Idle Game Minigame with my Economy Mod 0:

opaque cape
lost mist
#

Hi all, After reading through the server api I couldn't find anything related to a player touching a liquid, does anybody know any events?

unkempt musk
rustic pollen
pliant brook
#

does anyone have automated restart plugin?

opaque cape
#

Anyone here a master of HyUI?

#

How do I add like a margin or padding between HTML elements xD

#

margin and padding isnt supported by the spec

storm heron
west elk
sudden scaffold
#

Hi everyone ! Is there a clean way to trigger the selection tool with a cmd (I already know how to create new one)?

opaque cape
#

Oh I see

⁨data-hyui-content-padding⁩ This you mean?

west elk
#

I don't actually know HyUI, i only know that padding is supported by the underlying ui dsl

opaque cape
#

HyUI lets you write HTML for the UI πŸ˜›

#

But it only supports a limited spec

west elk
#

*within the constraints of the platform

#

yeah and the platform supports padding

#

both horizontal/vertical, and directional keywords

opaque cape
#

Lets see if this works

#

Well it worked but not in the way I was expecting

west elk
#

for HyUI specific questions, you would probably get better help in Ellie's discord

pine holly
opaque cape
lost mist
#

I wonder if anybody has figured out how to do the [CLICK HERE] and it runs a command in chat

opaque cape
#

Looks like I had to explicitly add another element of size between them

#

There isnt a way to add margin otherwise

minor depot
unreal crest
#

⁨@random magnet⁩ Will the UI system be changed? Will smooth animations be possible for hover buttons and animations in general?

opaque cape
#

But as a string it can be any length and so can biginteg3r

west elk
#

Especially Slikey who's on vacation

minor depot
opaque cape
minor depot
#

All good πŸ™‚

unreal crest
west elk
#

parts of the ui already use it

#

it just takes some time to move everything over

unreal crest
#

Okay, thanks you

left frigate
#

Surprised noone has made a tags or a voucher plugin yet lol

lucid spire
#

why does a break block event get called if i place a block?

west elk
#

because you're "breaking" the block it replaces

#

for example grass, the water block if you're placing in water, or the air block on land

lyric olive
#

excusme, whre can i report bug on this game

teal stone
#

Has anyone managed to get increased mob HP to work? I've been trying for a week, no matter what I try I can't get mobs hp to get increased. I was close but was too buggy.

lyric olive
#

thankyou sir

lucid spire
opaque cape
#

Method for Flooring a Value?

minor depot
#

Math.floor?

lucid spire
# west elk I don't know what you mean

like if i want to check if its air, or any fluid etc. blocks that you dont actualyl break but are replaced, do i just have to check it for everything seperately?

#

but i think i found a solution already

west elk
#

yeah this can happen to basically any block

lucid spire
#

i get get the group of the block

west elk
#

if you place a block on any grass or shrubs or so, the break block event will be called for it

mellow flume
#

quick tips please!

I need create a new NPC so the player can reach it and the npc will execute a command for this player

Where do i start

west elk
#

hytalemodding,dev/en/docs/official-documentation/npc/1-know-your-enemy

minor depot
#

I think blocks that aren't intended to be broken lack gathering configuration, so you can see if ⁨BlockType::getGathering⁩ is null to know if the block should be unbreakable.

#

Maybe some other checks needed too

opaque cape
#

⁨String query = "SELECT auction_uuid, contract_data FROM auctions WHERE expiration_processed = 0 LIMIT " + pageSize + " OFFSET " + offset;⁩

Is this valid sql?

#

It just seems to give me the same 4 Elements each time when Pagesize is 4 and Page Number is 0 and then 1

#

LIMIT works but OFFSET seems to not

lucid spire
#

a pickaxe has different power for different gather types, is it possible to set a "overall power" without having to specify it for every gather type?
⁨```
"Tool": {
"Specs": [
{
"Power": 1,
"GatherType": "SoftBlocks"
},
{
"Power": 0.35,
"GatherType": "Soils"
},
{
"Power": 0.05,
"GatherType": "Woods"
},
....

vast plaza
#

I’m looking for programmers/moddets to help me with hytale server for plugins and mods, please lmk I’ll provide extra details once you message me!

Willing to pay

west elk
karmic locust
#

does anyone know about generating structures in existing biomes?

opaque cape
#

I'm so close to making this UI work....

#

I'll be a genius java programmer once more until the next problem arises

#

omg I think I did it

#

Now to just wait for the Auctions to flush to the DB (And I'll fix that tomorrow)

#

Currently Auctions dont join the DB on first creation, Only when we flush the cache

upper wyvern
lucid spire
#

any idea why this is not dropping a block?

player.getWorld().breakBlock(block.getX(), block.getY()-1, block.getZ(), SetBlockSettings.NONE);

#

it breaks it but you get no item

opaque cape
#

Update: I am the smartest man alive

minor depot
#

All the logic for dropping items from blocks is in there.

woeful sapphire
opaque cape
#

Ive never really written much raw sql

fringe herald
#

How to get the rotation of a block inside a SimpleBlockInteraction?

mellow tendon
# opaque cape Example?

on docs oracle dot com /en/java/javase/25/docs/api/java.sql/java/sql/PreparedStatement.html

#

basically it lets you safely inject variables to prevent injections

stray pasture
mellow tendon
stray pasture
tropic axle
#

How do I open a chest for a player?

high bane
steady wolf
mellow tendon
stray pasture
#

I don't have it memorized yet, but this is the best I got for the idea and use:

WindowManager, ContainerBlockWindow.

cosmic agate
#

Any way to hook into user keypresses?

west elk
high bane
#

In the meantime you can actually hook into the existing keybinds for Q, F, etc, but not add your own (see DaniDipp's link to hytalemodding)

stray pasture
#

Yeah, I dont think they even send packets for unused keys. There is no way to detect other than your typical keys.

Becareful since your hijacking direct keys you can disable in-game stuff doing so. πŸ˜„

naive imp
#

Hi, If any server or user wants a mod or custom plugin, let me know and I’ll open commissions. You can include art, animations, and complex functionality.

stray pasture
#

Oh, also I saw somebody using builder menu keybinds since you can check those for other actions for key inputs

unkempt musk
#

hypixel\hytale\protocol\packetregistry for the registered packetID's.

#

if you have a decompiled server.jar

random briar
#

how can one player use like half of my server ram?

stray pasture
mellow tendon
high bane
#

Is the player generating a lot of chunks, maybe?

#

Or do you have like 4gb ram Hypixel_ThisIsFine

mellow tendon
#

long answer:
you're likely confused on how memory management in java works and seeing allocation amount in a panel or in your os monitor

random briar
stray pasture
stray pasture
mellow tendon
mellow tendon
mellow tendon
stray pasture
west elk
#

If you give the JVM ram, it will use it. Would be wasteful otherwise. A larger heap results in fewer GC events and more efficient caching

mellow tendon
# random briar 14336M

then the server will use up to ~14gb ram, regardless if there's 1, 2 or 20 players.
java runs in a vm, effectively. outside meters cannot see "inside" that vm and just report how much memory is currently allocated to the server

stray pasture
#

It is why Java is always seen as memory hungery, it reserves the largest pool allowed. So it doesnt have to resource share via OS.

random briar
#

he just join and leaves that player is no longer in the server leaving the server with usage of 50% ram, but when i join and play only about 15% is used

mellow tendon
#

it's simply confusion on how java works.

#

in the ideal world you'd use -XX:+AlwaysPreTouch to allocate all the memory at the start and never release it, so it would report as always "using" full memory at panels or monitors

#

it would not actually actively use that memory, just reserve it for jvm so it can work without making allocation calls on runtime

stray pasture
west elk
#

Very simplified: When a player joins your server, chunks and entities get loaded into RAM (the "heap"). When the player moves around, the contents of the heap grows, until it reaches your specified max. Even unloaded chunks and entities are kept "hot", so that if they're needed again, they can be accessed quickly.

If you lower your Xmx value, the JVM has less space to play with. This results in unloaded chunks getting cleaned up more frequently, which is not a bad thing in itself, but could lead to lag if it gets choked out.

balmy vault
#

i need help with a game issue

upper wyvern
balmy vault
#

how to fix? my game says my time is 2 hours ahead but it isnt. i had a vpn but i uninstalled it. what do i do???????????????????????????

upper wyvern
#

ayy finally got the rank, had to re-connect my discord

mellow tendon
upper wyvern
mellow tendon
#

it's a figure of speech

upper wyvern
#

woosh

mellow tendon
#

that's why I explain everything

sinful storm
#

lmao my system got all iffy about a plugin because the modder's name is "virus"

#

and security software being as sophisticated as it is, saw DID SOMEONE SAY VIRUS?

jolly sphinx
#

hey, did they add something already to see what ip the player used to connect to the server?

upper wyvern
stray pasture
mellow tendon
topaz cipher
#

Wut?! I was only using 2GB for one person with over 36 mods and with 5 players on I get up to 5GB out of 8GB I assigned it.

mellow tendon
#

we just went through the entire conversation about this

#

it doesn't work like you think it does.

topaz cipher
#

Yeah, I opened my phone and saw that. Lol

dense lichen
#

Does anyone have an solid modded server rcommendations?

upper wyvern
#

working on my first large-scale plugin in years, gonna see how difficult it's gonna be to "cross-platform" it for mc and Hytale, but at least it'll give me a chance to find the equivalent systems from mc->Hytale API systems

#

of course I didn't think of cross-platform till it was too late πŸ‘€

west elk
#

you just have to have a solid abstraction layer which can be a big rewrite depending on your current setup

upper wyvern
#

Yeah I'm in the middle of the rewrite, I went too far down the Hytale trail 🀣

#

I never had fun with custom pathfinding in MC (Even with Citizens2 lib), I wonder how difficult it's gonna be with Hytale to rip the brains out of an NPC to give it my own pathfinding rules

rotund fossil
#

What would cause Query in AndQuery cannot be null? @Override public @Nullable Query<EntityStore> getQuery() { return Query.and(Teleport.getComponentType(), TransformComponent.getComponentType(), Query.not(PlayerRef.getComponentType())); }

west elk
#

The entity module might not be loaded

rotund fossil
#

Is there a way to wait until it is? This is happening during registration

west elk
#

In your manifest.json, add "Hytale:EntityModule": "*" in your dependencies

rotund fossil
#

That seems to have fixed it thank you!

west elk
#
{
  "Group":...
  "Name":...
  ...
  "Dependencies": {
    "Hytale:EntityModule": "*"
  }
}
upper wyvern
sleek garnet
#

please tell me there is a way to get rid of that whole authentication thing. I cant get anyone in the server except for me

#

prob shoulda just made a thread for that but still

west elk
high bane
rotund fossil
high bane
#

I'd change it to Encrypted, and then restart, see if maybe that fixes it

west elk
rotund fossil
upper wyvern
hasty parrot
#

Is there anyone who also can't open their world?

west elk
azure narwhal
#

"DamageModifiers": {
"Physical": 0,
"Projectile": 0,
"Poison": 0
}

What type of damage modifier would Explosion's like the boom shroom be? Would that be Enivronment ?

rotund fossil
#

Would it be best to store data on the player or in a custom player file? I am leaning towards custom player file as to not mess with player data.

west elk
random briar
#

there is this username popping up the server and makes the server unstable the username is Ariorh, watch out for this player

fleet dagger
#

My server keeps on crashing, is it better to only keep Server Optimizer or Nitrado Performance?

west elk
#

is one of them mentioned in the crash log?

clever horizon
mellow tendon
random briar
mellow tendon
west elk
clever horizon
west elk
#

per player? 😳

clever horizon
#

Per entity using the system. Not limited to players specifically

#

Program state of a stack-based virtual machine

stray pasture
clever horizon
west elk
#

yeah you already know that you operatate outside of it's intended use case ^^

#

I'm confident that the system would be able to handle it, but by doing it yourself you can probably make it more performant

clever horizon
#

Well it will also eliminate this lame persistence checkpoint I have right now. I'm trying to keep it off the world thread as much as possible

nocturne bane
#

Anyone see this issue before? My whole screen went white

west elk
mortal path
#

Is it possible to add a custom slot in the inventory? For example, under the shoe slot?

nocturne bane
# west elk

Thanks for sharing this however I do not have "Priority & VLAN Disabled" as an option or value selection in the properties.

formal dome
#

Hi, everyone
There was such a question regarding the use of resources on the server. Can someone tell me how much disk space the world will consume over a distance? I mean, players will create blocks, buildings, etc., how much space will all this potentially take up?
And the second question is, has anyone encountered an attempt to redirect server logs to prometheus?

iron gate
#

Is there an event I can use to tell when a player eats? Or even before they eat and potentially cancel it?

surreal flame
#

how can i send message to the player like when entering a new biome?

#

the message top middle of the screen

#

its not sendMessage or Notification

west elk
surreal flame
#

thanks @west elk

thick fox
#

Any examples on writing up a basic Hytale proxy? I can get the client to attempt to connect and the proxy receive the connection. From there I just have to do some digging on how to handle the handshake, auth, etc. But if there are working examples, can't hurt to look at

uncut oak
#

If I want to add assets to my plugin is there a way to use the asset editor?

west elk
storm heron
#

I think he means using the asset editor to add/override assets from the base game

#

to which you can but it depends on how you're setting up and running the plugin

uncut oak
uncut oak
storm heron
#

whats your buildscript looking like? Have you got a way to run a server from the IDE? that's usually the easiest way

uncut oak
#

the plugin default gradle build script, it runs a server from the IDE but puts the plugin in readonly so i cant edit the assets in the editor.

storm heron
#

Ah, I'm not too sure what that plugin does unfortunately. The run configuration I'm using just adds an argument when running the server that points to my src/main. Something like --mods="C:/path/to/my/src/main"

idle nebula
#

Is creating a new world in a custom instance require a plugin? Or can you do it with a datapack?

storm heron
uncut oak
#

does your run config compile the plugin to a jar or just leave the Server and Common folder?

idle nebula
storm heron
uncut oak
storm heron
#

yea if your mod isn't a jar/zip, it shouldn't be read-only

storm heron
alpine creek
#

I have a component:
ComponentType<ChunkStore, MyTestComponent>

And have a system
HolderSystem<ChunkStore> that make sure that onEntityAdd, we add the component:
holder.ensureComponent<MyTestComponent>(this.myTestComponentType)

I register it with CODEC:
chunkStoreRegistry.registerComponent(
MyTestComponent::class.java,
"MyTestComponent",
MyTestComponent.CODEC
)

But when block unloads and loads again, it's state drops to default.

How to store the component state? πŸ™‚
Maybe someone know, how FarmingBlock store it's state πŸ€”

idle nebula
storm heron
#

oh then i'm not really sure -- isn't there a default world option somewhere?

#

in config.json in your universe folder there is a defaults section, you could try that

uncut oak
#

I got it working now, thanks for the help!

storm heron
idle nebula
storm heron
#

thats true, then i guess you'd need a plugin

idle nebula
#

Uhg, ok. I don't suppose you've tried modding V1 worldgen, cause that

#

Also doesn't seem to work.

storm heron
#

can I ask what it is you're trying to do that involves changing v1 worldgen?

idle nebula
#

I want a plug and play way to start a game with my own worldgen.

dull oxide
merry harbor
#

Is there a way to know if a block/entity is in a x y z position? I wanna check if there’s already a block there if it’s not add a block if theres a block don’t add it

rain shard
#

Hey guys I saw that chunk pre-generation is built in the game how did this work exactly. Because there is no progression indicator and I don't know if is working

idle nebula
#

It seems using crafting is the only way besides diving into the code to find out if I can do it with a plugin.

deft cargo
#

Is there something like mca selector? I need to delete some chunks to regenerate them in the new version however I want to keep a few chunks

strong flax
#

Guys, could you help me?

west elk
#

no need to ask to ask

#

just send your question and if someone knows the answer, they will tell you :)

strong flax
#

My brother deleted my early access game account, and I wanted to know if there's any way I can get the game back.

#

😒

rain shard
dull oxide
strong flax
#

I even have the purchase ID; it was made on the first day of early access.

merry harbor
strong flax
storm heron
strong flax
tawdry dragon
#

Any guides on how to setup a Bedwars server?

storm heron
#

not sure how handling deaths and other things would work doing that but might be worth a shot 🀷

idle nebula
west elk
dull oxide
storm heron
random briar
upper wyvern
random briar
dull oxide
idle nebula
#

Oh well, I kinda wanted better lore for entering my worldgen, like an added portal at the temple. But I suppose making a portal from sticks and rubble would work, I can put the description as, "How does this even work."

alpine creek
idle nebula
#

I could probably overwrite the temple portal I suppose, I think that would work.

storm heron
#

Yep that would work. Also I've not messed around with it myself but you might be able to edit and override the prefabs that spawn (such as the forgotten temple) and add your portal that way too?

idle nebula
storm heron
#

Ah, bummer...

idle nebula
#

It seems the Server/World folder is not overwriten by assetpacks, and prefabs don't seem to be replacable. Although I only tried the temple.

alpine creek
storm heron
#

oh yep that'll do it

idle nebula
#

Temple portal overwrite works, I suppose I'll go with that. Thanks

cursive gorge
#

anyone working on some non traditional minigames? (not a port from minecraft, skyblock, skywars, bedwars, etc)

Or if you have an idea of something that could be fun id love to hear it

dull sun
#

Not sure if this is the right place to ask… but I have a couple of mods that I can’t seem to get to work on a server. Mods such as Violet’s Furniture and Functional Wardrobes that adds assets to the game. I extract the zip in the root folder (so the /Server and /Common files go on the server), but they don’t seem to be showing in game. Am I doing something wrong, or do those mods need to be client-side as well… help πŸ˜‚

upper wyvern
dull sun
#

According to console, everything seems to be loading normally

nocturne bane
# west elk

Restored defaults and that fixed the white screen issue. Too many mods was the issue it seems.

thorny minnow
#

Does anyone here use HyUI and would you recommend it?

thorny minnow
#

Thanks!

visual spire
#

is there an event, a mechanic or something already in vanilla hytale that interrupts mobs when they're starting an attack? like if you damage someone while they are in a wind up animation they get interrupted.

ornate raven
#

maybe when they get damage?

tame creek
#

hey is there any servers I can do pvp in?

random briar
#

is there a way to ban ip, seems like PlayerSetupConnectEvent does nothing at all

dull sun
#

wait... do I just put the zip in the mods folder then? (sorry brand new to Hytale aha)

drowsy solstice
#

Hii I’m trying to play with controller on MacBook through steam. The controllers have been updated it does connect with the MacBook but as soon as we launch hytale it stops working. Can anyone help?

random briar
#

tried to send logs and schedule send player message and nothing happens

    public static void onPlayerSetupConnect(PlayerSetupConnectEvent event) {
        var auth = event.getAuth();
        var referralSource = auth.getReferralSource();
        var ip = referralSource.host;
        Essentials.getInstance().getScheduleHandler().schedule(() ->
                Universe.get().getPlayer(event.getUuid()).sendMessage(Message.raw("You joined with ip: " + ip)), 10, TimeUnit.SECONDS);
    }
dull sun
#

I will try that, thank you! πŸ˜„
I guess I thought I had to extract the zip, because the zip contained /Server and /Common directories... my bad aha

west elk
quick goblet
#

Server Issues : 4NETPLAYERS. I setup a server at the weekend so I can play my world when I'm working away - I am now away and the game randomly connects but will kick me out after a short time + I cannot interact with anything (Open chests etc.) - Does anybody else have the issue? 4NETPLAYERS are blaming the game... But I'm not convinced πŸ™„

random briar
#

i tried to send logs but nothing happens

devout harness
#

how can I check for a block in the player's vicinity?

random briar
#

event does actually nothing what

public class PlayerSetupConnect {
    public static void onPlayerSetupConnect(PlayerSetupConnectEvent event) {
        var auth = event.getAuth();
        var referralSource = auth.getReferralSource();
        var ip = referralSource.host;
        Essentials.getInstance().getScheduleHandler().schedule(() ->
                Universe.get().getPlayer(event.getUuid()).sendMessage(Message.raw("You joined with ip: " + ip)), 10, TimeUnit.SECONDS);
        event.setCancelled(true);
        event.setReason(ip + " is banned!");
    }
}

i can still join while i sat it to cancel

thorny minnow
#

Anyone know if there is a way to have individual click events attached to each rendered component within the UI? Using HyUI btw
⁨```html

<div id="list" style="layout-mode: Top; padding: 6;">
{{#each bounties}}
<div class="bounty-card" style="layout-mode: Left; padding: 4;">
<p style="flex-weight: 2;">{{$title}}</p>
<p style="flex-weight: 1;">Lvl {{$level}}</p>
<button class="small-tertiary-button">Track</button>
</div>
{{/each}}
</div>

west elk
pine holly
dull sun
#

tyty... I just want the furniture aha

pine holly
#

I had the same assumption

dull sun
#

not a silly assumption then? πŸ˜…

pine holly
#

not at all, just the way the game works

dull sun
#

-# I'm too used to Minecraft being picky aha

pine holly
#

we're all a lil used to mc

vast fulcrum
#

when adding items to an inventory how to make it stack with existing items?

signal vale
#

Hello! I have a question: can I use .blockymodel for the block?

devout harness
#

how can I get all entities within a certain range of a block or entity?

merry harbor
#

How can i make so what the player destroys goes directly to his inventory?

thorny minnow
candid niche
#

Why so many economy providers on hytale... just stop xd

vast fulcrum
inland palm
#

Any Scripters/coders that want to join a project? we are working on making a highly runescape inspired server and are looking for more people who want to join the cause πŸ˜„ if you want to join or just want more info hit me up!

lament prawn
#

is it possible that you can only interact with a trader with a specific player role?

surreal flame
#

how can i register a system truly global so that is counts for every world even when the world get loaded later?

thorny minnow
#

How do i check if a player has op?

sweet bronze
#

I m on a problem since 2 days, i try to change like 50 000 block/tint around a position. I got some perf problems, how u will do that ? I try to use Selection with the player but its laggy.

keen pecan
#

Hi guys, how do i block player camera rotation?

vast fulcrum
#

how to get the dropped item after mining a block?

stray pasture
surreal flame
#

i thought so however i have a damage prevent system and it works in the default world, porting to an unloaded world and then from there nothing gets fired

stray pasture
stray pasture
sweet bronze
arctic mist
surreal flame
#

DamageEventSystem

opaque idol
#

if anyone needs to replace entire classes or inject patches in hytale server jar in runtime (like papermc or forge) use the com.hypixel.hytale.plugin.early.ClassTransformer

been recoding the entire hytale server jar to support 300+ players in one world and got really great results

surreal flame
#

when hitting a player in the hub world is see debug spitting out logs then i teleport with

Teleport teleport = new Teleport(destWorld, targetPos, targetRot);
store.addComponent(ref, Teleport.getComponentType(), teleport);

and the teleporting works sind (i preload the chunk where i teleport the player to)

hitting one there doesnt trigger any debug log from it. maybe i register it wrong idk

rain spindle
#

Do you have a solution? I can't get the server to run. It's running on Synology DSM with Docker, using the Hytale server. services:
Nevertheless, the following error occurs: java.lang.RuntimeException: Failed to create HytaleServe

stray pasture
#

Could be an auth issue, could be a config issue. Etc

rain spindle
#

@west elk I wanted to add more information, but unfortunately it's being blocked.

surreal flame
#

this.getEntityStoreRegistry().registerSystem(killDetectionSystem); this is how i register it

jolly relic
#

Hello everybody, I need help to call a custom event. I'm registering and "calling" my event but it never comes to my "onChange" event
⁨```java
@Getter
public class PlayerGameStateChangeEvent extends CancellableEcsEvent {
private final GamePlayer player;
private final GamePlayerState state;

public PlayerGameStateChangeEvent(GamePlayer player, GamePlayerState state) {
    this.player = player;
    this.state = state;
}

public GamePlayer getGamePlayer() {
    return player;
}

}```⁩

⁨```java
public class TestEvent implements IPluginManager {

@Override
public void init(JavaPlugin plugin) {
    EventRegistry registry = plugin.getEventRegistry();
    registry.register(PlayerGameStateChangeEvent.class, this::onChange);
}

public void onChange(PlayerGameStateChangeEvent event) {
    GamePlayerState state = event.getState();
    System.out.println("TESTEVENT: " + event.getGamePlayer().getUsername() + " " + state.name());
}

}```⁩

⁨java public void setState(GamePlayerState state) { this.state = state; System.out.println("SET STATE: " + state.name()); ComponentAccessor<EntityStore> componentAccessor = playerRef.getReference().getStore(); PlayerGameStateChangeEvent event = new PlayerGameStateChangeEvent(this, state); if (event.isCancelled()) return; componentAccessor.invoke(playerRef.getReference(), event); System.out.println("2 SET STATE: " + state.name()); }⁩

ocean kite
#

Looking for full time devs for my srver lmk.

jolly relic
#

Already checked if im registering the event, and yes. Im calling the init method from my core

opaque idol
opaque idol
# opaque idol tested

rewrote the entire v1 generator to generate chunks below 80ms from bottom to sky with prefabs and caves

[2026/02/02 18:24:37 INFO] [SOUT] [Profiler] BlockPopulator.populate took 65ms
[2026/02/02 18:24:37 INFO] [SOUT] [Profiler] CavePopulator.populate took 2ms
[2026/02/02 18:24:37 INFO] [SOUT] [Profiler] BlockPopulator.populate took 35ms
[2026/02/02 18:24:37 INFO] [SOUT] [Profiler] PrefabPopulator.run took 3ms
[2026/02/02 18:24:37 INFO] [SOUT] [Profiler] PrefabPopulator.populate took 3ms
[2026/02/02 18:24:37 INFO] [SOUT] [Profiler] CavePopulator.populate took 4ms
[2026/02/02 18:24:37 INFO] [SOUT] [Profiler] PrefabPopulator.run took 2ms
[2026/02/02 18:24:37 INFO] [SOUT] [Profiler] PrefabPopulator.populate took 2ms
[2026/02/02 18:24:37 INFO] [SOUT] [Profiler] WaterPopulator.populate took 3ms
[2026/02/02 18:24:37 INFO] [SOUT] [Profiler] ChunkGeneratorExecution.execute took 45ms

#

in my laptop from work

summer ibex
#

Is there a working plugin that hides players on the map and compass after the last update yet?

surreal flame
summer ibex
gusty socket
balmy delta
#

Anyone know how to import image in a server file?

opaque idol
jolly relic
thorny minnow
gusty socket
balmy delta
gusty socket
#

ofc it's worth his time if they're paying him for it πŸ˜›

opaque idol
thorny minnow
#

What exactly was it that you were optimising

opaque idol
gusty socket
stray pasture
opaque idol
#

i edit the hytale code in runtime

opaque idol
jolly relic
stray pasture
opaque idol
jolly relic
#

Alright, already fixed my problem. Had to use extends PlayerEvent<String> and call it with a dispatcher and some stuff

unkempt musk
#

What optimizations did you implement?

stray pasture
opaque idol
fringe ether
#

Which cpu is the most important for the 30+ online players active survival server? More cores/threads or higher GHz? (for Hytale)

opaque idol
#

AI is a good assistant for me. i can focus on main things like fixing hytale code while it does whatever i ask on side

thorny minnow
#

chat gpt v1 is the best imo

opaque idol
#

claude

stray pasture
opaque idol
stray pasture
#

He doesnt have the option. Not his code to own.

thorny minnow
#

can't they are working for someone

opaque idol
#

being paid 😭

alpine creek
#

How to get coords of the block?
I have such method args:
override fun tick(
dt: Float,
index: Int,
@Nonnull archetypeChunk: ArchetypeChunk<ChunkStore>,
@Nonnull store: Store<ChunkStore>,
@Nonnull commandBuffer: CommandBuffer<ChunkStore>
)

And I check block in debug "archetypeChunk.components", it have two component: BlockModule.BlockStateInfo, PlacedByInteractionComponent

stray pasture
#

Depends on your stress levels. πŸ™ƒ

thorny minnow
green tendon
#

you know how to make an arena? a place where people on the spots can watch the match, while the one down can fight, the one on the spots cant fight between them, i want even to give them some standard kits when they join inside the arena, but they can't leave with these kits, how i can do it?

alpine creek
thorny minnow
#

When are you looking to get the coords, are you doing it in an event or through a command?

alpine creek
#

On entity tick EntityTickingSystem<ChunkStore>()

fringe ether
stray pasture
#

4.2 is very nice

rugged jackal
#

hey guys, any ideas how can i run some command or UI based of NPC/MODEL click? how can i interact with this event

round cove
#

DISCONNECTED FROM SERVER

The document trinityhub/HubMenu.ui could not be found for the Custom UI Append command.

Selector:

Has anyone seen this error before? And can you help me with how to fix it?

thorny minnow
#

Is there any information for what deprecated methods are being replaced by????

west elk
thorny minnow
#

Or it's possible you're not referencing the Selector properly

zenith moat
#

Will they be releasing the documentation to the API once they do the release?

devout harness
#

is there any guide on how to add custom actions? I'm trying to have an action that adds a component to a player

#

specifically, I want the player to have a component as long as they are around an NPC

random briar
#

my bad PlayerSetupConnectEvent works just pretty complicated to get their ip

opaque idol
thorny minnow
#

I'm asking because of Player##getUUID

bright cypress
#

Hey guys, not exactly a plugin question, more of a server/world setup thing.

I’m using Admin Portals + TP2World and I’m trying to run multiple worlds (hub + separate game mode maps). I downloaded a Skyblock map and dropped the world folder into universe/worlds/. When I run tp2world Skyblock it does send me to a world called Skyblock, but it looks like a freshly generated random seed (no Skyblock build), so it feels like it’s creating a new world instead of loading the map I downloaded.

What’s the correct way to add/import multiple maps on a server, and what am I doing wrong with the folder setup?

pine ermine
#

hello guys, do you have any ideas if we have a native solution to share assets across a CDN ?
if you have 100 mini-games server, with the SAME assets, instead of adding load to the 100 servers, can't you just share it through a CDN, like exposed S3 bucket ?

west elk
#

But it's on their radar

pine ermine
west elk
dusky bobcat
#

Anyone know how I can set my own custom item description in runtime? Like im transforming a weapon into an upgraded version and I want to display the version of the weapon in its description

cunning bison
#

Even though this is my first time setting up a server, I'm getting this error when I join the server and enter the map. Can you help me?

[2026/02/02 19:21:12 SEVERE] [World|default] Took too long to run pre-load process hook for chunk: 55ms 321us 800ns > TICK_STEP, Has GC Run: true, WorldChunk{x=-28, z=38, flags=0000000000000000000000000000100}, Hook: com.hypixel.hytale.builtin.fluid.FluidPlugin$$Lambda/0x00000000a0a45828@3993cecb [2026/02/02 19:21:12 SEVERE] [World|default] Took too long to run pre-load process hook for chunk: 33ms 403us > TICK_STEP, WorldChunk{x=-28, z=37, flags=00000000000000000000000000000100}, Hook: com.hypixel.hytale.builtin.fluid.FluidPlugin$$Lambda/0x00000000a0a45828@3993cecb

stray pasture
#

Two things to try, drop your chunk distance to 6 -12 and try again or give more resources

cunning bison
#

thx.

rugged jackal
#

of clicking on entity

wraith jewel
#

HELOO

rotund rune
#

Why nitrado webserver just returns οΏ½P?

random briar
#

how can i get player ip from PlayerSetupConnectEvent?

royal meadow
#

Hello everyone, I'm new here

random briar
#

trying to create ip ban but where is their ip at?

public class PlayerSetupConnect {
    public static void onPlayerSetupConnect(PlayerSetupConnectEvent event) {
        var packetHandler = event.getPacketHandler();
        var identifier = packetHandler.getIdentifier();
        var ip = event.getPacketHandler().getChannel().getOption(ChannelOption.IP_MULTICAST_ADDR).getHostAddress();
        var uuid = event.getUuid();
        if (ip != null) {
            Essentials.getInstance().getScheduleHandler().schedule(() -> {
                Universe.get().getPlayer(uuid).sendMessage(Message.raw(ip));
            }, 6, TimeUnit.SECONDS);
        } else Essentials.getInstance().getScheduleHandler().schedule(() -> {
                Universe.get().getPlayer(uuid).sendMessage(Message.raw("wrong"));
            }, 5, TimeUnit.SECONDS);
        Essentials.getInstance().getPlayerHandler().getBannedIP().forEach(string -> {
            if (identifier.contains(string)) {
                event.getPacketHandler().disconnect("You are ip banned :c");
            }
        });
    }
}
copper summit
#

Can you set an Anchor?
Ive tried both of these

builder.set("#BoardPanel.Anchor", "Right: 0, Top: 500, Width: 200, Height: 150");
builder.set("#BoardPanel.Anchor", "(Right: 0, Top: 500, Width: 200, Height: 150)");
Group #BoardPanel {
  Anchor: (Right: 0, Top: 500, Width: 200, Height: 300);
  Background: (Color: #434343(0.5));
  Padding: (Left: 10, Right: 10, Top: 4, Bottom: 4);
  LayoutMode: Top;
random briar
#

hope they add event.getIP one day

stray pasture
karmic night
#

I have no idea why my plugin isn't loading

#

The compiled .jar has a manifest.json

#

and it's pointing to the correct file I believe

west elk
karmic night
#

I'm working with Kotlin, is there anything I need to consider

old token
#

have we figured out how to actually make the verification stick instead of having to authenticate every restart?

thick fox
#

Working on my own Proxy implementation, and noticed you made one.
Looking at your project, I couldn't figure out how your code is getting through the JWT validation.

Was wondering if you could share additional insight into this specifically. Thank you!

I attempted to message your directly, but you have direct message off

west elk
rotund rune
#

That won't work for me, still asks for auth on restart

old token
# west elk ```/auth persistence Encrypted``` That writes your account token into a file on ...

Yea, ive tried that and i get the following error

2026/02/02 21:01:52 WARN] [EncryptedAuthCredentialStore] Cannot derive encryption key - encrypted storage will not persist credentials
[2026/02/02 21:01:52 WARN] [EncryptedAuthCredentialStore] Cannot save credentials - no encryption key available
[2026/02/02 21:01:52 WARN] [EncryptedAuthCredentialStore] Cannot save credentials - no encryption key available
[2026/02/02 21:01:52 INFO] [ServerAuthManager] Swapped credential store to: EncryptedAuthCredentialStoreProvider
Credential storage changed to: Encrypted

west elk
upper mauve
#

Sometimes it works, sometimes it doesn’t

west elk
old token
west elk
#

Yeah. Mount your host's machine id file into the container

#

then it will work

merry harbor
#

How can i make so what the player destroys goes directly to his inventory?

merry harbor
#

how is it called?

karmic night
#

No idea how but loading a random other plugin into my mods folder seems to have fixed the issue of my plugin not loading

vague galleon
#

Hello πŸ™‚
I'm trying to add custom loot if an entity dies from a specific weapon.
I can't figure out which class I need to extend to capture the death event of that entity.
Can you help me?
Thanks πŸ™‚

dusky bobcat
vague galleon
#

Thanks πŸ™‚
I'm started modding, and I don't really understand architecture. Can I get the player who killed this NPC with this event ?

ripe mango
#

how can I change the config.json?

jaunty vale
#

Sup nerds! I am trying to add permissions to individual players to use SimpleClaims. I can only get the SC interface to populate when I am set as OP on the server. Is there a command I need to send to the server to add permissions to only SC or does any player need to be OP'd in order to use SimpleClaims?

ashen sundial
#

I made a new block with a new blockstate , everything works fine on my dev server when i start it via intellij but when i try it on a root or world in the menu with my mod the value of the state is always 1 , i have no clue why it saves on my dev server and persists but not on the other world. Does anyone have an idea ?

jaunty vale
torpid loom
#

Is there a good way to let a plugin access another plugin's Json file?
I have my own older and file inside ressources.
But Im struggling to figure out how to send data or file paths accross plugins for compatibility.

rotund rune
# west elk What's the error

[2026/02/02 21:33:47 SEVERE] [EncryptedAuthCredentialStore] Failed to save encrypted credentials to auth.enc
java.nio.file.AccessDeniedException: auth.enc
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixFileSystemProvider.newFileChannel(UnixFileSystemProvider.java:213)
at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:244)
at java.base/java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:426)
at java.base/java.nio.file.Files.newOutputStream(Files.java:215)
at java.base/java.nio.file.Files.write(Files.java:3174)
at com.hypixel.hytale.server.core.auth.EncryptedAuthCredentialStore.save(EncryptedAuthCredentialStore.java:157)
at com.hypixel.hytale.server.core.auth.EncryptedAuthCredentialStore.setProfile(EncryptedAuthCredentialStore.java:229)
at com.hypixel.hytale.server.core.auth.ServerAuthManager.swapCredentialStoreProvider(ServerAuthManager.java:558)
at com.hypixel.hytale.server.core.command.commands.server.auth.AuthPersistenceCommand$SetPersistenceVariant.executeSync(AuthPersistenceCommand.java:89)
at com.hypixel.hytale.server.core.command.system.basecommands.CommandBase.execute(CommandBase.java:48)
at com.hypixel.hytale.server.core.command.system.AbstractCommand.acceptCall0(AbstractCommand.java:758)
at com.hypixel.hytale.server.core.command.system.AbstractCommand.checkForExecutingSubcommands(AbstractCommand.java:817)
at com.hypixel.hytale.server.core.command.system.AbstractCommand.acceptCall0(AbstractCommand.java:677)
at com.hypixel.hytale.server.core.command.system.AbstractCommand.checkForExecutingSubcommands(AbstractCommand.java:803)
at com.hypixel.hytale.server.core.command.system.AbstractCommand.acceptCall0(AbstractCommand.java:677)
at com.hypixel.hytale.server.core.command.system.AbstractCommand.acceptCall(AbstractCommand.java:656)
at com.hypixel.hytale.server.core.command.system.CommandManager.runCommand(CommandManager.java:279)
at com.hypixel.hytale.server.core.command.system.CommandManager.lambda$handleCommand$0(CommandManager.java:254)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1750)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(ForkJoinTask.java:1742)
at java.base/java.util.concurrent.ForkJoinTask$InterruptibleTask.exec(ForkJoinTask.java:1659)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:511)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1450)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2019)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)

dusky bobcat
west elk
torpid loom
#

Is there a good way to let a plugin access another plugin's Json file?
I have my own older and file inside ressources.
But Im struggling to figure out how to send data or file paths accross plugins for compatibility.

rotund rune
#

s][warning][aot] The AOT cache was created by a different version or build of HotSpot
s][error ][aot] An error has occurred while processing the AOT cache. Run with -Xlog:aot for details.
s][error ][aot] Loading static archive failed.
s][error ][aot] Unable to map shared spaces

Should I worry about this?

ripe mango
#

How can I change the server settings, because i am not able to edit the config.json file

west elk
west elk
arctic mist
torpid loom
ripe mango
west elk
#

It's a file

bright pelican
#

Anyone worked out how to get and teleport a specific type of entity? Like rabbits for example?

ripe mango
west elk
west elk
bright pelican
rotund rune
#

why my assets names are not loading in game? other players can see them fine, just bought and installed the game

server.items.bench_campfire.name
server.items.wood_ash_trunk.name etc etc

ripe mango
glossy turret
#

I can apply a component to a block via the ChunkStore but can I read that value as an item after I break the block?

loud osprey
#

can someone tell me if im missing something in this, cause i got it showing up in my inventory but i cant place it
{
"TranslationProperties": {
"Name": "items.wheat_harvester.name"
},
"Texture": "Items/Interactable/Farming_Harvester/farming_harvester_Wheat_shaded.png",
"Model": "Items/Interactable/Farming_Harvester/Farming Harvester.blockymodel",
"Icon": "Icons/ItemsGenerated/Farming_Harvester_Wheat.png",
"IconProperties": {
"Scale": 0.58823,
"Rotation": [
22.5,
45,
22.5
],
"Translation": [
0,
-13.5
]
}
}

random briar
#

jesus this was not easy to figure out

public class PlayerSetupConnect {
    public static void onPlayerSetupConnect(PlayerSetupConnectEvent event) {
        var packetHandler = event.getPacketHandler();
        var socketAddress = (InetSocketAddress) NettyUtil.getRemoteSocketAddress(packetHandler.getChannel());
        var ip = socketAddress.getAddress().getHostAddress();
        if (Essentials.getInstance().getPlayerHandler().getBannedIP().contains(ip)) {
            packetHandler.disconnect("You are ip banned :c");
        }
    }
}
rotund rune
#

why my assets names are not loading in game? other players can see them fine, just bought and installed the game

server.items.bench_campfire.name
server.items.wood_ash_trunk.name etc etc

server.custom.uirespawnpage etc

hybrid fern
#

Try restarting your game and/or the server. Live lang file changes work a little bit janky at the moment

broken dragon
#

question if I wanted to swap a block with a different one, would it be better to remove the old one and copy the transform to the new one or replace all the components except for the transform?

mighty bloom
#

Does anyone know of a way to modify items and what interactions an item has within a plugin?

broken dragon
random briar
broken dragon
opaque cape
#

IP can easily be reset if you know what you're doing

west elk
#

Mac addresses are self-reported

#

and isn't it only visible to the next network device?

loud osprey
glacial wedge
loud osprey
undone dock
#

What is the best way to set up a development environment with decompiled server file available to search, a localhost server that can be run from the IDE and a template plugin with some default classes?

west elk
sharp lake
#

is there a real wahy to know if any item is of type helmet

undone dock
narrow vapor
#

Can I run code when a player takes fall damage?

sharp lake
narrow vapor
finite crane
#

I use the maven one. Works well for me.

sharp lake
#

make a class that extends damagesystem i think

west elk
sharp lake
#

anyone know how i can get the category or type of itemstack???

undone dock
#

and i cant send an image

undone dock
buoyant tapir
#

l

keen pecan
#

do you guys know how to add a marker to the map?

#

I've tried to do this and i get Object reference not set to an instance of an object

loud osprey
#

can someone tell me if im missing something in this, cause i got it showing up in my inventory but i cant place it
{
"TranslationProperties": {
"Name": "items.wheat_harvester.name"
},
"Texture": "Items/Interactable/Farming_Harvester/farming_harvester_Wheat_shaded.png",
"Model": "Items/Interactable/Farming_Harvester/Farming Harvester.blockymodel",
"Icon": "Icons/ItemsGenerated/Farming_Harvester_Wheat.png",
"IconProperties": {
"Scale": 0.58823,
"Rotation": [
22.5,
45,
22.5
],
"Translation": [
0,
-13.5
]
}
}

finite crane
loud osprey
finite crane
loud osprey
finite crane
ornate raven
#

is it possible to animate a block like example a chest float in the sky & rotate & make it open the head

#

default hytale chests

west elk
#

you'd have to make a bunch of adjustments to the model and animations

ornate raven
#

is animations made in blockbench

west elk
#

yes

#

make sure to install the Hytale plugin

ornate raven
#

is there way to make a animation client sided

#

only plays for one player not everoyne

west elk
#

probably with some packet magic, yeah

ornate raven
#

okay thanks

rose atlas
#

interesting

mighty bloom
# broken dragon you add and remove components or modify the properties

I'm very confused at this statement what would components have to do with the interaction and interactionvars of an item?
Item.getAssetMap().getAsset(item.itemInHandId)
I have the item but it seems the interactions of an item are all protected so I didnt know if anyone had figured out a way to update what interaction an item had via java

vernal niche
north current
#

How do I turn drops off on death?

#

For some reason its not in my world config

vernal niche
north current
#

thank you

proper jolt
#

so this may seem slightly silly but I just wanna kinda check in case someone else has seen this and already knows (Save myself some testing time)- if I create multiple lang files will the plugin system automatically sort through those? (IE server.lang and ui.lang working side by side instead of just throwing all my translations into one file?)

vernal niche
finite crane
proper jolt
ripe mango
#

do you have to change settings to get more RAM from the server or is it regulated automatically?

void gust
#

QUICK QUESTION, how can i get the local player of a single player server instance?

#

or do i say, NEED to like, make them run a command

hushed totem
#

How do you determine if an entity is passive or hostile?

sinful storm
#

Anyone found any decent way that doesn't require enslaving friends to test stuff that needs other player?

The game's DRM makes it really painful, doesn't allow multi-client, not even offline!

void gust
hushed totem
rose atlas
#

my hytale server shows a 6019% load average, doing nothing???

hushed totem
rose atlas
#

xD

rose atlas
hushed totem
#

Yes, already got a good portion done. Just learning the platform to finish it up.

void gust
hushed totem
void gust
#

like, code that runs on world load, so I can:
Initialize the plugin
Wait for the world to load
then, on load, get the players and send a message to all them

hushed totem
#

oh so you mean world load event

#

Use StartWorldEvent

#

ex..

plugin.getEventRegistry().registerGlobal(StartWorldEvent.class, this::onWorldLoad);

void gust
hushed totem
#

for the above code yes

#

or register it any other way you see fit

void gust
violet matrix
#

you would create that method

lucid spire
#

is there a system for arrow impact?

void gust
hushed totem
void gust
#

how do i make a proper manifest.json?

I cant seem to get my mod to show

#

oh wait nvm

past shale
#

what is the difference between the Server and Common folders

hushed totem
#

Common = Server/Client like ui files etc

ornate raven
void gust
#
    public static void onWorldLoad(StartWorldEvent startWorldEvent) {
        for (PlayerRef player : Universe.get().getPlayers()) {
            EventTitleUtil.showEventTitleToPlayer(
                    player,
                    Message.raw("Test"),
                    Message.raw("If this works\nThen :3"),
                    true
            );
        }
    }

Whats wrong here?
(Note: It doesnt show at all)

sharp pumice
#

anyone know how to make the player invisible?

void gust
#
public class ilo_lawa extends JavaPlugin {
    
    public ilo_lawa(@Nonnull JavaPluginInit init) {
        super(init);
    }

    @Override
    protected void setup() {
        super.setup();
        this.getEventRegistry().registerGlobal(StartWorldEvent.class, open_la::onWorldLoad);
    }
}
#

i am yea

ornate raven
#

problaby onworldload it going to be fast so player wont be able to see it add a delay or use something like AddPlayerToWorldEvent
⁨⁨⁨```
this.getScheduler().runTaskLater(this, () -> {
for playerref part

    if this works message part
    }, 40L);
hushed totem
#

StartWorldEvent is fired before any players are added. Thats how World load events have always worked and wouldnt make sense otherwise

#

so yes use AddPlayerToWorldEvent if you want to trigger some logic the moment a player is added to a world

arctic mist
hushed totem
#

It shows nothing because as I said above, its fired during server world load so there will never be players

ornate raven
#

which class was scheduler?

arctic mist
hushed totem
#

You should use PlayerReadyEvent if this is a one time logic run regardless of a world

hushed totem
hushed totem
void gust
#

okay nvm i forgot to reload the mod 😭

hushed totem
#

Would be nice if hytale organized all events in a central package rather than scattered across many

void gust
#

it'd be nice if there was a javadoc

hushed totem
#

sure but I am still impressed at the API for an early access game. It will only get better

#

I still cannot locate any entity components to determine if an entity is hostile or passive....

#

Guess I am blind

mellow flume
#

how can I execute a command ("/data admin set) as OP? The "data admin set" requires OP but my new command doesn't

⁨⁨``` @Override
protected void executeSync(@Nonnull CommandContext commandContext) {
Player player = commandContext.senderAs(Player.class);
String data = dataArg.get(commandContext);

    player.sendMessage(Message.raw("Permission granted. setting `data to " + data + "..."));

    try {
        CommandManager.get().handleCommand(player,
                "data admin set " + player.getDisplayName() + " " + data);
    } catch (Exception e) {
        player.sendMessage(Message.raw("Error executing data command: " + e.getMessage()));
        e.printStackTrace();
    }
}```⁩⁩
ornate raven
mellow flume
hushed totem
#

Yes, ConsoleSender.INSTANCE is essentially MinecraftServer for Hytale πŸ™‚

hushed totem
# ornate raven look into npc doc maybe you can find there

hrmm I see

 DefaultPlayerAttitude (Stable)

    The default attitude of this NPC towards players
    Type: Flag, Optional (Default: HOSTILE), Computable
    Flag Values:
        HOSTILE: is hostile towards the target
        REVERED: reveres the target
        FRIENDLY: is friendly towards the target
        IGNORE: is ignoring the target
        NEUTRAL: is neutral towards the target
#

lets see what i find now πŸ™‚

opaque cape
#

When is REVERED and IGNORE used lmao

hushed totem
#

What popped up in server logs when it crashed?

void gust
#

is there a list of all the blockTypeKeys?

ornate raven
arctic mist
#

Probably its a bot, once the Server starts the Player Join server workflow (Setup,Add to World, Etc) the bot disconnects to avoid being loaded. Probably is trying to fload the default world thread

void gust
hushed totem
ornate raven
arctic mist
#

You might be able to ban it using the UUID (the logs should have it). After that, on the PlayerSetup event it will throw it away from the Server itself. That's outside any world thread I believe

void gust
stoic swan
#

is there a playerMoveEventSystem? or some event to detect player movement

arctic mist
#

That should do, if the player stills tries to connect and causes issues (since the event is after Netty capabilities), you can do 2 thinks, create or use a plugin for banning users with their IP (it should happen at the Netty phase so it doesnt even reach the Hytale Server), or just grab the IP of the account and ban it directly from your Server Firewall (Deny access to that IP). That way he can not reach your server with that IP

hushed totem
stoic swan
#

thank you!

ornate raven
#

anyone here know how to cancel pickup event (rubble,flower etc not itempickup)

bold helm
#

has anyone been able to setup a custom block interaction that opens a custom ui?

hushed totem
stoic swan
#

just add an interaction type USE , then interactions type OpenCustomUI

#

"Interactions": {
"Use": {
"Interactions": [
{
"Type": "OpenCustomUI"
}
],
"Cooldown": {
"Cooldown": 1
}
},

void gust
#

weird, cant seem to get this working

    public static void onWorldStart(StartWorldEvent worldStartEvent) {
        World w = worldStartEvent.getWorld();
        for (int i = 0; i < 128; i++) {
            for (int j = 0; j < 128; j++) {
                for (int k = 0; k < 128; k++) {
                    w.setBlock(i, j, k, "Cloth_Block_Wool_Black");
                }
            }
        }
    }
arctic mist
#

The second option is setting up a firewall for this kind of behaviors (constant connections from the same source/packages) to block them after N tries.

sleek birch
#

watch out for player Ariorh, they are exploiting and causing server instability. Banning the player seems to work

#

its a bot account attacking sevral servers

arctic mist
#

If that's the case, try checking your server firewall if it has regional detection, if so, only allow connections from your Region. That way you pretty much decrease the attack surface to just people in your region (or VPN of your region)

ornate raven
#

is description & summary editable after publish mod in curseforge?

sleek birch
#

would love to see a way to report accounts like this

arctic mist
#

But definetly a Netty thing should be your second stop for anyone jumping the region block

hushed totem
#

Did anything come out in the server log other than connect/disconnect?

arctic mist
arctic mist
void gust
#

Do I not do it there or something?

I figured doing it onWorldStart would make sense, but i cant seem to get anything working

Nor can I figure out what "keys" to use

fiery lodge
#

Anyone here figured out how to create custom block components yet?

#

I ended up finding an amazing guide over on hytalemodding<dot>dev πŸ˜„

#

That site is quickly becoming my goto for asking questions πŸ˜›

#

I wish i could thank the creators of that gitup pages site, its been extremely useful!

#

now i did run into an issue. I dont want my tile entity component to run against players in creative. How do i get the player's gamemode?

finite crane
fiery lodge
#

I figured lol. I was hoping someone would know off the top of their head πŸ˜›

#

Ill just see what the gamemode command is doing to achieve this

#

I do have a thing called QuickHYCache which allows for fast and easy searching of the hytale sourcecode and assets for file name and file content references. It can search everything for it within 0.1 seconds. Its also a webpage xD
Im considering uploading it to github pages possibly πŸ˜›

#

The caveat is that it loads a relatively chonky cache file into the webpage

hushed totem
fiery lodge
#

I tried looking at that... One sec let me try again....

#

I didnt see it earlier when i tried calling it XD

#

getGameMode does not exist

#

i tried to target the player from Universe.get().getPlayer(UUID).getGameMode() < does not exist
I tried playerRef.getGameMode() < does not exist

hushed totem
#

Player != PlayerRef

fiery lodge
#

I know, i tried both xD i think im being stupid lol! how are you calling it?

#

funny, i used my quick cache to scan the source and found it inside the Player.java file. There is in fact a method "getGameMode"

hushed totem
#
Player playerComponent = store.getComponent(ref, Player.getComponentType());
fiery lodge
#

So now the question is: how do i get it xD
nevermind you answered it before slowmode disabled πŸ˜›

#

thanks so much πŸ˜„

#

It compiled without errors! @hushed totem Youre the goat! πŸ˜„ thanks

#

Darn! XD

#
[2026/02/03 02:21:44 SEVERE]         [World|default] Failed to run task!
java.lang.IllegalArgumentException: ComponentType is for a different registry! ComponentType{registry=class com.hypixel.hytale.component.ComponentRegistry@1420491884, typeClass=class com.hypixel.hytale.server.core.entity.entities.Player, index=38}
        at com.hypixel.hytale.component.ComponentType.validateRegistry(ComponentType.java:117)
        at com.hypixel.hytale.component.Store.__internal_getComponent(Store.java:1223)
        at com.hypixel.hytale.component.Store.getComponent(Store.java:1216)
        at ThirdPartyPlugin//org.mal.utilities.testing.ExampleSystem.lambda$tick$1(ExampleSystem.java:66)
        at com.hypixel.hytale.server.core.universe.world.World.consumeTaskQueue(World.java:904)
        at com.hypixel.hytale.server.core.universe.world.World.tick(World.java:419)
        at com.hypixel.hytale.server.core.util.thread.TickingThread.run(TickingThread.java:89)
        at java.base/java.lang.Thread.run(Thread.java:1474)

It errored because of how and where i was running it πŸ˜›

Im running it in a custom block component's tick method

#

lol!

#

It did not like this line:
Player playerComponent = (Player) store.getComponent(Objects.requireNonNull(playerRef.getReference()), Player.getComponentType());

Specifically: the store.getComponent.

#

I have to figure out how to get the correct store now πŸ˜›

#

Ah! it extends to CommandSender, which im assuming means it can only run in commands. rip!

hushed totem
#
         Ref<EntityStore> ref = targetPlayerRef.getReference();
         if (ref != null && ref.isValid()) {
            Store<EntityStore> store = ref.getStore();
            World world = store.getExternalData().getWorld();
            world.execute(
               () -> {
                  Player playerComponent = store.getComponent(ref, Player.getComponentType());
...
fiery lodge
#

Thx! ill try t his πŸ™‚

hushed totem
#

if you are already running on world thread then skip that bit

fiery lodge
#

I figured lol! and yes its already running within it πŸ˜„
I merged it into the code now to test πŸ™‚

#

<the meme, "compiling and saving, SAVING AND COMPILING" comes to mind>

#
[2026/02/03 02:29:26 SEVERE]         [World|default] Failed to run task!
java.lang.IllegalArgumentException: ComponentType is for a different registry! ComponentType{registry=class com.hypixel.hytale.component.ComponentRegistry@604766147, typeClass=class com.hypixel.hytale.server.core.entity.entities.Player, index=38}
        at com.hypixel.hytale.component.ComponentType.validateRegistry(ComponentType.java:117)
        at com.hypixel.hytale.component.Store.__internal_getComponent(Store.java:1223)
        at com.hypixel.hytale.component.Store.getComponent(Store.java:1216)
        at ThirdPartyPlugin//org.mal.utilities.testing.ExampleSystem.lambda$tick$1(ExampleSystem.java:69)
        at com.hypixel.hytale.server.core.universe.world.World.consumeTaskQueue(World.java:904)
        at com.hypixel.hytale.server.core.universe.world.World.tick(World.java:419)
        at com.hypixel.hytale.server.core.util.thread.TickingThread.run(TickingThread.java:89)
        at java.base/java.lang.Thread.run(Thread.java:1474)

Rip!

#
                        world.execute(() -> {
                            world.setBlock(globalX + 1, localY, globalZ, "Rock_Ice");
                            for(PlayerRef playerRef : world.getPlayerRefs()) {
                                Vector3d playerRefPos = playerRef.getTransform().getPosition();
                                double xDist = playerRefPos.x-globalX;
                                double yDist = playerRefPos.y-globalY;
                                double zDist = playerRefPos.z-globalZ;
                                var dist = Math.sqrt((xDist * xDist) + (yDist * yDist) + (zDist * zDist));

                                if(dist <= 4) {
                                    Universe.get().getPlayer(playerRef.getUuid());
                                    Ref<EntityStore> refPlayerStore =  playerRef.getReference();
                                    Store<EntityStore> playerStore = refPlayerStore.getStore();
                                    Player playerComponent = (Player) store.getComponent(refPlayerStore, Player.getComponentType());

                                    GameMode playerGameMode = playerComponent.getGameMode();
                                    if(playerGameMode.name().toLowerCase().equals("creative")) {
                                        playerRef.sendMessage(Message.raw("<TeleporterBlock> Youre in creative, im not speaking to you!"));
                                    }else{
                                        playerRef.sendMessage(Message.raw("<TeleporterBlock> Your distance is " + dist + ", pos: " + Math.floor(exampleBlock.posX) + "," + Math.floor(exampleBlock.posY) + "," + Math.floor(exampleBlock.posZ)));
                                    }
                                }
                            }

                        });
#

.

ThirdPartyPlugin//org.mal.utilities.testing.ExampleSystem.lambda$tick$1(ExampleSystem.java:69)

Player playerComponent = (Player) store.getComponent(refPlayerStore, Player.getComponentType());

hushed totem
#

you are using store not playerstore

fiery lodge
#

ah crap! lmao! good catch πŸ˜›

#

<facepalm into desk>

#

woo! it works πŸ˜„ thx πŸ™‚

stuck mesa
#

Oh Hello

fiery lodge
#

NOW i can finally complete my configurable teleporter event block πŸ˜›

fiery lodge
void gust
#

how big is a chunk in hytale?
(no idea why i specified this game LOL)

fiery lodge
#

32x32

finite crane
#

The height is roughly 412 blocks I think.

void gust
#

question, is there a way i can quickly copy block data/paste block data?
so I can avoid calling set bock many times?

Eg. for coded (in server java) structures

fiery lodge
#

Yes, you use components

#

Components are how blocks save/load data, and even with copy/paste πŸ™‚

Just be sure you update the copy method in the block component to copy the values so you can copy/paste it πŸ˜„

#

I went down a rabit hole today trying to create a custom component lol!

void gust
#

alr, also is there any chart anywhere for blockIDs?
So I can know what is what, i know 0 is air

fiery lodge
#

It was EXACTLY the same situation i was trying to resolve πŸ˜›

#

Blocks dont have blockIDs, they have names.

distant stream
#

is it possible to prevent a interaction when a item is broken?\

fiery lodge
#

You can see them inside the game when you hover over an item with developer mode enabled in the settings

void gust
distant stream
#

durability = 0

fiery lodge
#

ah, then i dont know what to tell you there xD

I used this snipplet here to set a block:
world.setBlock(globalX + 1, localY, globalZ, "Rock_Ice");

void gust
#

I'm doing this because i couldnt figure out how to get that to plot LOL

    static void setBlock_manual(int x, int y, int z, int id) {
        try {
            w.getChunkAsync(x/32, z/32).get().setBlock(x%32, y, z%32, id);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        } catch (ExecutionException e) {
            throw new RuntimeException(e);
        }
    }
fiery lodge
#

You have to execute it with a world. One second, ill give you a working snupplet to use

hushed totem
#

dont get me started on the asset naming πŸ™‚

void gust
#

Thats one reason I'd rather use integers

fiery lodge
#
                        world.execute(() -> {
                            int xInWorld = 512;
                            int yInWorld = 33;
                            int zInWorld = 311;
                            String block = "Rock_Ice";
                            world.setBlock(xInWorld, yInWorld, zInWorld, block);
                        });
void gust
#

Also because I feel doing string comparisons with a ton of blocks would be slow

fiery lodge
#

i mean, you could use a switch case, its a lot faster but still not great xD

#

i mean. If at the end of the day its stupid and it works.... is it really stupid? πŸ˜›

#

There are a million and 1 ways to do things with modding. Thats the beauty of it! everyone has their own style and preference, its what makes you you!
Dont feel ashamed of your code if it looks dumb! you made it! it works! πŸ˜„

#

Thats more than 99% of the players on the game πŸ˜›

#

Most people dont even begin to try programming sadly! I grew up back when the only way to learn programming was from a textbook XD

πŸ‘΄πŸ»

#

My teleporter worked πŸ˜„

#

I can configure it in creative mode with a custom HTML GUI (thanks to HYGUI) :D:D:D

I love HTML and i am so glad i get to put it to use :D:D

#

I even have it loading from a custom HTML file in the resources πŸ˜›

hushed totem
#

cloth_block_wool_blue furniture_dungeon_chest_epic

#

not a fan of the naming

fiery lodge
# hushed totem not a fan of the naming

Facts!
The naming convention could DEFINITELY use some standardization and a onceover. Even if they had some sort of tabable menu to go through it it would be easier.

hushed totem
#

minecraft did it better with the tag system yet Hytale dumps it all into the identifier which is just messy

#

In this case furniture shouldn't be in the id at all.

fiery lodge
#

Welp, im done modding for the day πŸ˜› ive hit my daily limit, and my goal of figuring out how to create and assign custom block components πŸ˜„

#

Tomorrow ill tackle the saving/loading issue.

Good night everyone! Thanks again @hushed totem for helping me figure out the player gamemode detection piece, i didnt want to teleport players in creative mode so they could interact with the block to configure it xD

strong musk
void gust
#

The string based command just crashes, because im doing a rather large chunk of land

strong musk
void gust
#

not really, if the data you are loading has int values you expect

strong musk
void gust
#

which is why you wouldnt do that

#

you would first verify before hardcoding, which is why I wanted a list