#server-plugin

1 messages · Page 6 of 1

copper wyvern
#

Hi, is there any tool that can help remove chunk block components for blocks that do not exist?
I'm gettting errors like this:

java.lang.IllegalArgumentException: Unknown key! EcoTale_Quest_Board

From BlockEntitySystems tick

brave mural
#

Any recommendations on how to create nice particles? Is there a live view of one or something

rotund monolith
#

You could make a NPC or Item to spawn the particle effect you are working on.

ruby arrow
#

Is there any way to keep the chunk active at all times, even when there are no players on the server?

fresh lintel
#

@brave mural there is a editor created by CyberAxe. I think it is called VFXTale or something (can't look it up atm)

tranquil raft
#

I have a realy aquad problem i have a function that can be called from a
ChunkStore a EntityStore system or interaction
i require both buffers a chunkStore buffer and a entity store buffer since both systhestems could add a Entity or a Block or both
how can i properly get a chunkStore buffer in a EntityStore system or the other way around?

hoary viper
#

How can i render a selected area in hytale like add a halite around it in deffrent color, like a transprant cube

hoary viper
tranquil raft
sterile forum
#

I think that is the use case we got right now.

ruby arrow
#

Is there a way to use Java code to add a label to a menu that wasn't there before, or to create a custom UI component and add it via code?

sterile forum
#

you could do strange things with a blocky model and scale it, but then you wouldn't have any transparency support.

sterile forum
# ruby arrow Is there a way to use Java code to add a label to a menu that wasn't there befor...

yeah you use the same type of selector logic for when you would get a value or set a value for a named element to figure out where you want to add stuff, but use it to do a clear if you need to remove existing children for the element, and and add logic for the new ui object. buuz or whats they where named again, have a admin ui on git hub that show how one could modify it, i think that the modding documentation might have it as well.

copper wyvern
sterile forum
#

thats the name uinmanager.

hasty falcon
# tranquil raft I have a realy aquad problem i have a function that can be called from a ChunkSt...

Usually you would use the forEachChunk call. They exist in either type of stores.

public class MyEntitySystem extends EntityTickingSystem<EntityStore> {

    @Override
    public void tick(float dt, int index,
                     @Nonnull ArchetypeChunk<EntityStore> chunk,
                     @Nonnull Store<EntityStore> store,
                     @Nonnull CommandBuffer<EntityStore> commandBuffer) { // EntityStore buffer

        World world = store.getExternalData().getWorld();

        // Reading from chunkstore (no CommandBuffer needed)
        Ref<ChunkStore> blockRef = BlockModule.getBlockEntity(world, x, y, z);

        // WRITE to ChunkStore => forEachChunk gives ChunkStore command buffer
        Store<ChunkStore> chunkStore = world.getChunkStore().getStore();
        chunkStore.forEachChunk(someBlockQuery, (blockChunk, chunkstoreCommandBuffer) -> {
            // CommandBuffer<ChunkStore>
            chunkstoreCommandBuffer.removeEntity(blockRef, RemoveReason.REMOVE);
        });
    }
}

This also works exactly the same the other way around for ChunkStore systems. EntityStore from World -> forEachChunk call on entity command buffer.

spare meteor
#

how do you edit more then one prefab in a prefab edit world

lone crag
#

dang, i thought i had the blocky vehicles mod working. i got the maim bench to open and can craft the parts, but i dont know how to fix missing gui for the steering wheel😭

verbal wasp
#

Good Morning guys, if youre using "drop all" in world settings, is it possible to create a few items that cant be dropped? because the flag dropOnDeath dont work in this case

neat pelican
verbal wasp
#

Yeah i though theres a way where i dont need todo that xD

tranquil raft
hasty falcon
night meteor
#

Hi guys, i'm really new to coding in Hytale and Java. I'm trying to program a chest-based player shop plugin. I've just reached the point where I'm trying to retrieve items from the selected shop chest. Unfortunately, I'm currently stuck on how to get the chest component. My method currently looks like this:

` @Nullable
public ItemContainer getItemContainer(@Nonnull World world) {
long chunkIndex = ChunkUtil.indexChunkFromBlock(x, z);
var chunk = world.getChunkIfLoaded(chunkIndex);
if (chunk == null) return null;

    var holder = chunk.getBlockComponentHolder(x, y, z);
    if (holder == null) return null;


    return holder.getComponent(   );
}`
sterile forum
#

That said i could be wrong and blocks does it differently.

night meteor
sterile forum
#

I am not sure if any of this is right.

But I would probably consider going with
var block = world.GetBlock(x,y,z);

and then somehow try to get the storage component trough the block somehow.

var blockStore = block.getStore();
var blockRef = block.getReference();
InventoryComponent.Storage storage = blockStore.getComponent(blockRef, InventoryComponent.Storage.getComponentType());

#

there is probably a diffrent way to get the store and probably a different way to get the ref.

#

i haven't poked that much and the ChunkStore yet.

neat pelican
sterile forum
#

Ah det was a difference.

#

DaniDipp always got the magic sprinkles to save us from our own ignorance. 🙂

neat pelican
#

Just remembered that something similar came up before

sterile forum
#

Yeah. feels like one of the most common.

#

Thats good I am going to need that tonight to try to implement the item moving intestines.

night meteor
neat pelican
#

And @remote chasm! Thanks for shairng your findings earlier

half roost
sterile forum
#

The thing one hates in Fable and love when having development issues, the clear golden sparkling path to the goal.

civic tendon
#

hey guys i need some advice

how i can freeze player movement and rotation and use player as camera
for example - replaymod in minecraft

woeful pulsar
#

Hey,
Am I correct by saying that the IsValid()method that needs to be used on Refs does 2 checks behind the scenes to return a boolean and those checks are :

  • Check if the variable (pointer) is null
  • Check if the variable (pointer) is on the list of theGarbageCollector to be collected and cleaned

If one of the two or both are true, IsValid() will return false.

Is this correct or is there more to it or does it work totally differently please ?

sick ridge
#

Hey, does anyone know the proper way to execute an existing command (like /setblocks) from a plugin?

neat pelican
#

But for flexibility with the Builder tools, you can call the BuilderToolsPlugin directly.

sterile forum
# woeful pulsar Hey, Am I correct by saying that the `IsValid()`method that needs to be used on ...

I had to look it up.
And in the current version you are wrong.
the default Ref<> behind the scenes only checks if its index into the store is not the mimimum index value as in "no valid index in the store".

But other implementations of IsValid does different things. The PlayerRef that doesn't even implement Ref<> (but probably could be a Ref<PlayerRef>)

does internally check if its interal entity component and holder is not null.

#

That its not deleted or i garbage collector doesn't mean that the ref is valid.

woeful pulsar
sterile forum
#
public boolean isValid() {
  return this.entity != null || this.holder != null;
}```
#

component or holder not, component and holder i realized.

#

since having the holder would mean you could create the entity from it.

woeful pulsar
sterile forum
#

Because in ECS the Ref is not valid if its not at the right index in the store. When its deleted is a different thing, and nothing you should do or have to care about. If its in the store its valid, and its only in the store if it got a index into the store.

sterile forum
#

And also this is just an assumption on my part, but since ECS uses components, components are data thats identical in its layout.
The object probably still exist after the index is set to a non valid one, and freed at certain condition, and components are probably newed in specific batch strucutures to allow continious layout in memory.

sterile forum
#

Since with all the hands off you get with java and any automagic memory management/GC, is the trade off that they GC might run at terrible times as well.

hexed glade
#

hi what event class do i use to block picking up of sticks?

"Press F to gather pile of sticks"

neat pelican
#

InteractivelyPickupItemEvent

hexed glade
#

been trying to use it, cant get it to work

#

i can block picking up the item but the pile of sticks on the floor still gets removed

sterile forum
hexed glade
sterile forum
tribal patrol
#

Unfortunately some of the item pickup handlers break the blocks before that event actually happens (and also don't call any block break events doing so...), so I don't think there is a easy work around for that at the moment

sterile forum
#

no you are right

tribal patrol
#

I put in a bug report for it but I'm not sure if there's any updates on that

sterile forum
#

the event exists and is sent but nothing else seem to listen for it.

#

but yeah thats only the pickup part

tribal patrol
#

I suppose a work around could be placing the block again if cancelled, but its hard to know the location precisely. There's other more hacky work arounds though..

hexed glade
#

ok one last thing, how to detect a mouse left click inside the player inventory/hotbar? like detect if a player clicks an item

#

PlayerMouseButtonEvent works in inventory orr?

#

because i think its just on the world

sterile forum
#

you need to connect a event trough the uibuilder to the inventory slot, and handle it based on the results out.

#

as for the sticks, since they exist in the world they are a block and a block you can gather so you do have the

BlockGathering packet as well, in theory i guess you could try to intercept and change that to prevent the packet going trough at all.

brave mural
#

Does anybody know how i can create a resource for each world?

Like how each world also has like a Time.json in the resources directory? Is that possible ?

brave mural
#

Ahh Found it! When creating a resource just needed to include the codec

sterile forum
#

Allways need a codec is a good rule of thumb.

neat pelican
viscid lily
#

hi guys, is there a way to disable creating archive directory in backups folder?

brave mural
#

Whats the proper way to open a website when clicking on a button in the UI

drowsy raft
#

I dont think thats a thing yet, at least from what I've seen

brave mural
#

Are you sure? I think there are already plugins out which like advertise their discord and such no ?

sterile forum
#

You can link in a chat message, and i think it has to display the full url.

#

Most likley they don't want, to the extent its possible, that things will send people out of the game to random website without knowing that it will either trigger a website or give you a hint where its going.

quasi echo
#

Especially with all the phishing and malware issues already with servers

half roost
#

In theory, can I add any type of damage I can think of? (For example, electrical damage)

sterile forum
#

yes

sterile forum
half roost
lone crag
#

trying to find a vid on how to make custom crop recipe, but having no luck

#

ugh

quasi echo
lone crag
quasi echo
#

There's no documentation

lone crag
#

wym? cant use the asset editor or something? i just want to grow my own boomshrooms, that drop some essence along with boombags. i copied some .jsons from a bigger mod that is not working anymore. not sure if i found all the things a recipe needs.

lone crag
#

i cant figure out how to use the asset editor to do this..😞

half roost
#

To understand the concept

lone crag
half roost
#

And simply copy it?

still yew
#

Give this man his boomshrooms

lone crag
# half roost And simply copy it?

i though i could copy the .json files and follow how another mod had the folders set up to create a standalone recipe from the original mod, since the one i was following, also only added a single crop. i figured it should be easy to do.i must have missed something because it loads up just fine, but the spore bag doesnt show up in the farmer bench and its not in the creative menu either. im burnt at this point.

half roost
#

Did you see the creation requirements in the item's JSON file? There should be a section that shows the bench needed to obtain it.

lone crag
half roost
lone crag
#

i use to do it all the time to make custom recipes in mc, but i guess its not as easy as cut and pasting here

lone crag
half roost
#

Ah, since you said "big mod," I thought they might have created their own ecosystem of tables, but if it's just one recipe, there shouldn't be a problem. It really depends on how it's being added.

lone crag
#

i gave up for now, and put it to the side

lone crag
karmic lagoon
#

Weird question, but if you could make plugins in a different language than Java, what would it be?

#

I'm making a thing, but I don't know what people actually want to use it for

quasi echo
#

Ue5 style

karmic lagoon
#

Or are you talking about C++/blueprints

quasi echo
#

Blueprints

hexed glade
#

hi! anyone know how to listen to picking up event when walking over items? pickupevent basically if on MC

quasi echo
#

Better to ask over on the modding discord

hexed glade
#

nvm saw t

half roost
hexed glade
#

yeah it was the ItemFilter plugin thanks

woeful wren
#

i am thinking about using Orical Cloud free ARM processor 24 gb ram to run Hytale. would ARM be ok to run a server off of?

#

4 OCPUs (Ampere Altra ARM processors running at 3.0 GHz) 24 GB RAM "10 TB/Month Outbound Bandwidth"

#

Could I run a 20 person server fine with this?

midnight obsidian
#

Does someone know a discord integration mod which:

  • Bridges Chat between Discord <-> Minecraft (discord is sent via webhooks)
  • Send's Server Start/Stop messages
  • Send's adchivements on Discord
  • Send's Player Join & Leave Messages
    I used DisTale before but that bricked in the update 4
vernal saddle
#

i'm trying to build a mod in java. i have a UI defined in /src/main/java/com/myself/modname/resources/Common/UI/Custom/Pages/myfile.ui
this line does not cause a crash: $C = "../Common.ui";
but adding a button does cause a crash:

        $C.@TextButton #BtnTest{
            @Anchor = (Width: 180);
            @Text = "Test Button";
        }

any pointers? I feel like its a pathing issue, but the resources I've seen online have not been specific. Thank you!

heavy magnet
#

you need to create a group first

$C = "../Common.ui";
$H = "../HyLib.ui";

@BGCOLOR = #1e3858;
Group{
  Anchor: (Width: 400, Height: 400, Top: 200, Left: 200);
  Background: @BGCOLOR;
  $C.@TextButton #BtnTest{
    @Anchor = (Width: 180);
    @Text = "Test Button";
  }
  $H.@DefContainer {
    #Title {
      Label {
        Text: "Test Container";
        Style: ($H.@HyTitleStyle);
      }
    }
  }
}
vernal saddle
#

Can a Panel container house a button? My layout is more or less the way i wish: nested panels in panels in a flex grid.
My failing button is in a Group > Panel > Panel > Button nesting

heavy magnet
#

Show me the ui file

vernal saddle
#

94 lines long just for the nested layout. that ok?

#

i can DM it to you if thats ok. the code is fairly organized

heavy magnet
vernal saddle
#

request sent

woeful wren
#

how do we setup rocksdb by defult on the server?

sterile forum
brave mural
#

Is it possible to disable loosing items inside a world?

quasi echo
#

yes in the world settings

brave mural
#

Do you know how i can set it via java?

quasi echo
#

you just go into the world settings in your game and disable it

neat pelican
#

yeah i don't think the gameplayconfig can easily be updated during runtime

quasi echo
#

oh i see he wanted to set it dynamically yeah i dont think that was possible at least not without some real changes

brave mural
#

Yea i found that i can read it like this

var gameplayConfig = worldorld.getGameplayConfig();
      gameplayConfig.getDeathConfig().getItemsLossMode();

That means i need to set it inside the world config json file

#

cant set it runtime

quasi echo
#

i dont entirely get why u would need to though

brave mural
#

I dont need to set it in runtime. Just trying to figure out how i set it in the config file now

quasi echo
#

what are you trying to get the mod to do

#

there might be a better method at least a simpler one

brave mural
#

I have a Guild Mod and each guild has its own guild hall / world and i want that inside the guild you cant loose items when dying. I already have the instance of aworld but i need to set the instance so that loosing items is not a thing when dying

Trying to figure out what the json needs to have for that

quasi echo
#

why not just have that instance save the items and give them back on death

#

or make it so u cant die there

brave mural
#

Seems way more complicated no ?

#

If there is like a flag i can just set to true why not use that built in way

quasi echo
#

there likely isnt a flag for it its too early for that sorta in depth mod support

brave mural
#

I literally send this

 var gameplayConfig = world.getGameplayConfig();
 gameplayConfig.getDeathConfig().getItemsLossMode();
public static enum ItemsLossMode {
      NONE,
      ALL,
      CONFIGURED;

      private ItemsLossMode() {
      }
   }

Thats literally built in. Which means it 100% is possible

prisma cypress
#

Hello I'm trying to do my first mod and I currently done the core logic and add some data to my player (Component<EntityStore>) but I would like to know if I can add data to a block with an equivalent system. And each block has a different instance of the data class

#

An example of that could be a block when I do a right click on it a counter increment iteself

quasi echo
prisma cypress
#

Thx

quasi echo
#

yw

brave mural
#

Ok I found it. Here is how to disable loosing items on death:

Adding this to the world config:

"Death": {
  "RespawnController": {
    "Type": "HomeOrSpawnPoint"
  },
  "ItemsLossMode": "None",
  "ItemsAmountLossPercentage": 0.0,
  "ItemsDurabilityLossPercentage": 0.0
},
hexed glade
#

If anyone is looking for a dev, hmu!

nova bronze
brave mural
#

Does anybody know why the interact system is not triggering for when picking up food with F?

public class InteractEventSystem extends EntityEventSystem<EntityStore, UseBlockEvent.Pre> {

  public InteractEventSystem() {
    super(UseBlockEvent.Pre.class);
  }

  @Override
  public void handle
  (
    final int index, 
    @Nonnull final ArchetypeChunk<EntityStore> archetypeChunk, 
    @Nonnull final Store<EntityStore> store, 
    @Nonnull final CommandBuffer<EntityStore> commandBuffer, 
    @Nonnull final UseBlockEvent.Pre event
  ) 
  {
    
  }

  @Nullable
  @Override
  public Query<EntityStore> getQuery() {
    return Archetype.of(PlayerRef.getComponentType());
  }
}

For example when i click f to open a door this works fine but when there is like cheese on the ground and i press f to pick it up it doesnt trigger it. Any idea why ?

#

OH ok i found it there is a different event for that: InteractivelyPickupItemEvent

#

Mhh but i also found out that when cancelling the event it doesnt put back the item from where it was picked up. so it just disapears

#

Does anybody know how to find out which block the entity is looking at ?

sterile forum
#

the picup item event is just the picking up, it has nothing to do with the breaking of the item as it seems.
there is some event i think that gives you both the block and or entity you look at trough a interaction i think.
But just as a generic tick or anywhere i have no idea.

mossy trail
#

Does anyone know of an easy way to find a list of containers the player has access to? Do I need to keep track of it manually through something like a PlaceBlockEventListener?

sterile forum
#

Have access to in what way?

mossy trail
#

I want to iterate through them, so I guess that they have ownership of, or placed..?

elfin lantern
#

Is there a way to make a dungeon instanced without having a whole world to download with it? (One of the staff on the server I play on said that what they have seen as a mod or plugin includes a world download. They have developed some dungeons, but they are not instanced, and when people fight in them, decor like plants, pots, boxes and rubble get broken and have to be replaced manually.)

mossy trail
#

Are you actually spawning new worlds for these dungeons somehow? I imagine what you're actually looking for is an "Instance" instead of a world?

elfin lantern
# mossy trail Are you actually spawning new worlds for these dungeons somehow? I imagine what ...

Okay, we don't know how to instance a dungeon. I don't know Java, I have not looked into the visual editor, and I'm not staff, but I offered to look into what is necessary. The staff person I've been talking to said that they looked at plugins/mods that are out there that provide an instanced dungeon, but they appear to include a world download. I don't know if they require you to use the world to use the dungeon, or if it's just there to show them an example of the dungeon in use in a world. It's unclear how these are used or if they can be added to an existing world.

If we can add these to an existing world, do they only add the particular dungeon(s) the author made? How do we make a dungeon that, say, a player creates, be instanced in our world?

#

(Is there any kind of tutorial out there on how to make an instanced dungeon?)

mossy trail
#

Go into creative mode -> press B -> World -> Instances and play around with it. The vanilla game files has examples. You probably want to create an instance of a void world (or something) and then build the actual dungeon in that. Afterwards, you can save it as the "template" world that gets spawned, whenever you make an instance of that template.

#

If you're saying you want players to be able to build their own dungeons and become instances, then I'm pretty sure you're in custom mod territory.

elfin lantern
#

Well, let's say I were to follow your instructions, then hand this "template" to the staff so they can add it to the world. Is that possible? If so, how would they do that. That's the information I'm looking for.

#

And, with this template, is this void world part of the template?

#

@mossy trail

mossy trail
#

I have to admit I can't give you a good workflow as to how to design your template. If you look into your game files Assets.zip, you'll find the Server/Instances folder where the devs already have examples of two different ways to do this. One is where chunks are pre-generated and customized, while another uses a set of prefabs and some world generation.

#

I don't know the workflow they use to build those.

quasi echo
elfin lantern
mossy trail
#

So you can run a local server, create a void instance (or whatever you want to base it on) and then build the actual dungeon inside it and pass the final files to the admins. You can then use the instance system to spawn a new one of it, every time.

elfin lantern
#

Thank you.

ruby arrow
#

Does anyone know what might be causing the graphics for the print job not to load, and why there's a red X on a white background?

half roost
#

Good evening, I'd like to ask about fall damage. I'm testing a mod that, under certain conditions, gives me millions of health, but it seems the fall damage only takes away 1/3 of it, so I wanted to know how it works

heavy magnet
half roost
rigid herald
#

is there a way to detect an arrow hit when it hits a block?

feral pagoda
half roost
half roost
#

I'm referring to a specific amount, with 1/3 for example, it's like removing x% of total lifespan, regardless of the lifespan.

rigid herald
#

i couldn't find any EcsEvent linked to a projectile hitting a block

half roost
#

I created a system that detected damage to entities with a certain characteristic, and when I hit a block that didn't have that characteristic, it kicked me out of the game, so it could be related to that.

sterile forum
#

that was to the wrong person

sterile forum
#

Assets/Server/entity/movementConfig/default.json

  "FallDamagePartialMitigationPercent": 33.0,
tight jewel
#

Guys, I have a plugin which worked for a while with

    mavenCentral()
    maven {
        name = "hytale-release"
        url = uri("https://maven.hytale.com/release")
    }
    maven {
        name = "hytale-pre-release"
        url = uri("https://maven.hytale.com/pre-release")
    }
}

dependencies {
    compileOnly("com.hypixel.hytale:Server:2026.01.27-734d39026")
}```

but for some reason it stopped working and can't find the repository, does anyone know what I am doing wrong, I tried making 2026.01.27-734d39026 a + instead which did not work, did something happen to the repository or did the link change?
neat pelican
#

you have to explicitly tell it to compile against the current version since only the last 5 versions are available on the maven repository

tight jewel
#

ah, thank you a lot :D

cerulean harbor
lofty otter
#

Guys, any tips for movement mechanics? I want to create a custom gamemode, but by design it requires wall jumps, dashes and slides. Any ideas how this can be implemented? Also any resources or links close to theme are HIGHLY appreciated

barren magnet
#

there are a lot more resources there

lofty otter
quasi echo
#

Honestly this channel should just redirect to the modding discord community tbh

#

Most of the answers are just look here for better results

sick ridge
#

Is there a way of adding a block/item to a chest from a plugin?

quasi echo
#

Probably with a prefab or a loottable

red cobalt
#

coming back after having a 2 week break from development to polish up my mod for the comp hand in and the latest update has completely broken so many of my systems 💀

quasi echo
#

It happens

brave mural
#

Is it possible to add like overflow hidden in the ui ? So that something inside a group we say that it shouldnt overflow outside of thatgroup like clip it?

quasi echo
#

Id ask in the modding discord they know a lot more about that UI stuff I'd also work on having a side copy of your UI code that works in the new system so once it's swapped you don't have to start fresh

brave mural
#

Oh do we already know how the new system needs to be structured?

#

I really hate the current ui system. I cant wait for neosis gui

#

It literally is such a pain to work the .ui files

quasi echo
quasi echo
#

Eventually they will swap to it give a few blending updates to let people adjust and get settled then the existing system is removed

brave mural
#

Hopefully thats soon, Any dates yet ?

neat pelican
#

No, but there is steady progress in the pre-release patch notes

quasi echo
#

They are adding backend code for it so its definitely in the main set of stuff being worked on

brave mural
#

sounds like its not far away

quasi echo
#

Hopefully soon so people can start swapping

brave mural
#

Does anybody know how to set like elements that are available in @DropdownBox UI ?

#

$C.@DropdownBox #RankDropdown {
Anchor: (Width: 100);
Entries: ("MEMBER", "RECRUIT");
}

Like whats the syntax for Entries?

quasi echo
#

You really should be in the modding discord

shy narwhal
#

Aside from the tick field that shows when running /ping

#

are there any other ways of measuring server performance?

#

Im comparing 2 server hosts atm, its just a little weird, because one server reports a tickrate of around 50-80 ms, the other reports around 60-100 (so not a huge difference)

#

yet on one server NPCs like birds have a good amount of visible rubberbanding; but on the other it does not

#

so it like seems one server is a bit faster.... but its not very apparent from the tickrate at least

#

Otherwise I guess I will run some more generic CPU benchmark outside of hytale

copper wyvern
#

Or maybe check com.hypixel.hytale.server.core.ui.DropdownEntryInfo class

void wagon
void wagon
#

Oh that was ages ago, but hopefully that command is useful in other ways anyway.

brave mural
#

Wait i didnt know that. Thats cool

copper wyvern
neat pelican
shy narwhal
#

Im running the server on Windows server VPS

neat pelican
#

But if you don't want to install it, you can still check the code to see how it measures performance

shy narwhal
brave mural
neat pelican
#

If you want something just for debugging with a ready-made user interface instead, you're looking for Spark

copper wyvern
brave mural
#

Ahh pretty cool

shy narwhal
#

am I the only one super bugged out by the auth code requirement for servers?

#

It seems every time I create a new auth refresh token for a new server, the code for the other refresh token stops working

#

So I can only have 1 server per account that I purchase?

#

and it wants email everification every time >.< Cant it just... set a cookie and be done with it?

neat pelican
neat pelican
boreal topaz
#

Does someone have an Idea how to create a searchable Dropdown in Hytale UI were not all entries are loaded in the beginning but send dynamically so I dont have to send all 6000 Player Names in 1 Dropdown? I can resolve that issue not using a searchable dropdown but with a searchable dropdown i cant update the dropdown dynamically ... any idea?

copper wyvern
boreal topaz
copper wyvern
#

I think we cannot bind event to builtin dropdown searchbar

boreal topaz
#

Yea thats what i thougth

boreal topaz
#

Or i am doing something wrong. Also the Dropdown Colorpicker also dosnt have a input changed event ... thats a bit anoying

copper wyvern
#

had to put explicit save buttons everywhere

boreal topaz
#

Nah i think there is just no event in place for that ... no bug they just forgot xD

boreal topaz
copper wyvern
boreal topaz
#

"offical"

copper wyvern
#

but still its from official source

boreal topaz
#

Its for the big color picker! There it exists

tight jewel
small quiver
#

Does anyone know how the CharacterPreviewComponent UI element works? I tried to send in a support icket abt it (since there's no documentation) and I got told to come here to ask

copper wyvern
small quiver
#

as far as I can tell it always crashes the client

#

but not in the same like "parse error" way

neat pelican
small quiver
#

it usually says "Exception was thrown by the target of an invocation"

copper wyvern
small quiver
#

which seems to me a very client-side issue

neat pelican
#

Is it used in any vanilla ui right now?

small quiver
#

and if I try to mimic what they do, I get that error

#

Interestingly the character create screen uses a different element, PlayerPreviewComponent, which the client doesn't even recognize exists if you try to use it

#

having tried to get it to work for a while, I'm now under the assumption that the client actually parses UI differently depending on if it's a local UI page or one privded by the server at runtime

#

For whatever reason, CharacterPreviewComponent IS loaded, but somehow incorrectly, so it throws an error in C#

#

I've been considering either decomping it or running it through a C# debugger to figure out exactly what's happening

neat pelican
#

Oof yeah that's tough

#

since it's AOT-compiled

small quiver
#

I do know of some decompilers that might make sense of it to an extent, but it's not gonna be easy, nor is it gonna give me class names and things like that

remote flicker
small quiver
#

I do have a theory however on how it might be made to work

remote flicker
small quiver
#

the main reason I'm a lil annoyed is because it's in the public docs and yet does not work

#

at the same time, I don't really see how it could be abused, and hence why it wouldn't be allowed

remote flicker
#

hmm, do you have the full exception from the client log, or the sentry id so I can look it up

small quiver
#

gimme a moment to find that log; I'm on Linux

#

(yes I've confirmed it happens for people on Windows too)

#

okay I found it, it's a class cast exception

#

I can't paste the whole log in here actually

#

restrictions on the discord channel, maybe I just DM it to you?

remote flicker
#

I just need the sentry id if you have that or the stack trace

small quiver
#
2026-04-14 12:59:13.3229|INFO|HytaleClient.Application.AppGameLoading|Disconnecting with error during stage InGame: Exception has been thrown by the target of an invocation. 
2026-04-14 12:59:13.3229|INFO|HytaleClient.Application.AppGameLoading|System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.InvalidCastException: Specified cast is not valid.
   at HytaleClient!<BaseAddress>+0xda0093
   at HytaleClient!<BaseAddress>+0x4616e5
   at HytaleClient!<BaseAddress>+0x167f5b0
   at HytaleClient!<BaseAddress>+0xda6ff1
   --- End of inner exception stack trace ---
   at HytaleClient!<BaseAddress>+0xda707f
   at HytaleClient!<BaseAddress>+0xda6bda
   at HytaleClient!<BaseAddress>+0xdfee83
   at HytaleClient!<BaseAddress>+0x432a1d
   at HytaleClient!<BaseAddress>+0x432dad
   at HytaleClient!<BaseAddress>+0x43250e
   at HytaleClient!<BaseAddress>+0x46493e
   at HytaleClient!<BaseAddress>+0x485db5
2026-04-14 12:59:13.3280|INFO|HytaleClient.Application.Program|Changing from Stage InGame to Disconnection 
2026-04-14 12:59:13.3283|INFO|HytaleClient.Application.AppGameLoading|[Voice] Voice stream closed by client 
2026-04-14 12:59:13.3300|INFO|HytaleClient.Networking.PacketHandler|[AudioCapture] Stopped: framesEncoded=218, framesSilent=66 
#

not sure where to get the sentry id

remote flicker
#

should be logged just before/after "Sentry event captured: ..." but this should be enough to find it

small quiver
#

I don't see that?

remote flicker
#

hmm, yeah I guess your client wasn't able to send it to our sentry for some reason, well rip error reporting I guess

small quiver
#

womp womp

#

is it possible I have telemetry off or smth?

remote flicker
#

what version are you running?

small quiver
#

Update 4, I think it's like the March 20th build

#

I don't see a setting for that; is it not supported in Linux?

#

I do have diagnostic mode on (helps a lot with debugging UI)

#

it also could be the error wasn't caught, hence the vague error name and the fact that it doesn't show up in the diagnostic console

small quiver
#

Any updates on this?

queen rock
#

if i am using bisect server osting how do i change the wolrd settings to keep inventory

small quiver
#

Probably not a question for #server-plugin but I believe that's a per-world setting

void wagon
#

Can UI selectors be deeply nested? #One[0] #Three will work but #One[0] #Two #Three will not be found and if not, how would I handle that?

bitter shoal
#

Hello guys, is it possible to increase the font size of UIs from the server side? UIs like Inv ToolTip etc?

heady radish
#

So, I'm working on a texture pack for Hytale, and I'm wondering if it's a good idea to replace existing blocks and items (that what texture packs do). I keep hearing that doing so could cause problems.

small quiver
remote flicker
small quiver
#

Okay great

#

Thank you

#

Actuslly super excited to use that when its available

sterile forum
# heady radish So, I'm working on a texture pack for Hytale, and I'm wondering if it's a good i...

Replacing textures should be quite safe as in having a new asset pack with textures with the same names as the originals so they are being used instead.

Problem mainly come if you start changing behaviours and properties on objects since the base object might change its behavior.

With textures at most you will lack texture for a object state or make it look wrong due to movement or rescaling in textures or models

half roost
bitter shoal
#

Thanks Slexer for your reply.

tight jewel
#

guys, I have a list of Ref<EntityStore> in an EntityTickingSystem and I want to update or remove refs from that list. Problem is that I need a way to access the EntityTickingSystem for that and I can't figure out how to do that, I think I need to store it when I register it, but when I tried that it crashed when I went to another world as that has another store. Is there a way to access the system for a specific world/store?

remote flicker
tight jewel
#

ah ok

#

so a world does not have its own object of the system running?

remote flicker
#

correct, the instance of a system is shared

random badger
#

is this channel for mod questions?

#

I installed 4 mods and two are called plug ins and two are called paks.

neat pelican
#

yep, "Mods" is the umbrella term for two types of game modifications:

  • Plugins (Java .jar files)
  • Asset Packs, or just Packs for short (textures, models, sounds, behavior definitions in .json files, etc)
    Mods may consist only of a Plugin (mechanic changes, commands, QoL, etc.), only of a Pack (new blocks, mobs, cosmetics, etc.), or both!
    If you have questions about asset packs, feel free to ask them here as well
random badger
#

I've installed EyeSpy, Loot Multiplier Ultimate, Pixel Paintings and Violet's Plushies and one of them seems to have a soundbug or something. Like it freezes - visuals alsmost not noticeable but the sound makes a brrrrt. I am just concerned if I deactivate a mod like the Plushie workbench, all the plushies I made with all the resources are gone 😅

So TL; DR: does anybody know by chance if one of the above mods can cause that brrrt sound bug?

Or else, how can I see comments on Curseforge? I am used to Nexxus Mods to read up on comments about bugs in mods.

quasi echo
#

Hytale saves all the data for mods in the block in the world so you can disable and re enable safely

random badger
#

omg, really? How cool is that?

quasi echo
#

Yeah really fun til you need to clean up leftover blocks xD

small quiver
#

I'm having an issue with getting teleportation working. I know to use the teleport component; however, sometimes when I apply said component, the player disconnects with the error Incorrect teleportId

small quiver
#

Figured it out; if you teleport the player too early in the joining process, it never acknowledges the teleport and can get out of sync enough to cause issues

small quiver
#

that kinda feels like a bug to me but yknow

neat pelican
#

How early in the joining process did you try to teleport them?

small quiver
#

like maybe a teleport should time-out if it's not aknowledged in time

small quiver
#

but it works the first time, it was just consecutive teleports that don't work

#

bc it desyncs

neat pelican
#

Not like you tried to teleport them while they still have the PendingTeleport component, right?

small quiver
#

well that's what I think happened, after the first teleport the PendingTeleport component never left

#

even minutes later

#

the client acknowledging that a teleport occurred is what removes it, so if that doesn't happen...breaks

neat pelican
#

If you can make a minimal plugin that reproduces this, that would be very helpful for a bug report

small quiver
#

I'll see if I have some time; I got more stuff to fix

remote flicker
#

Actually if you just want to move the player really early on join, you should be able to just change their position before/when they are added to the world, instead of doing a teleport, before the player even receives their position. so you never load chunks at the old position so should be more efficent

small quiver
#

In this case i just did a refactor so I didnt need to teleport so early anyway

half roost
#

Where does the system that displays the colors in the tooltips of items come from? I mean, is there a system that converts from text to colored text, or does it only work based on "lang"?

#

For example, if you put the color code you want in the lang along with the description call, it will display the description and its color without any problem. But is there anything that does that without needing the ".lang" extension? Or does it come from somewhere else that automatically colors it?

heady radish
#

How do you add an existing asset pack to a new server? And is there a way to add a mod to a server?

neat pelican
heady radish
neat pelican
heady radish
#

My server

neat pelican
#

Then, no

#

Unless you have somehow put your server files into your User Data folder

heady radish
#

I didn't, but thanks KweebThumbsUp

neat pelican
#

The server is storing files somewhere (worlds, player data, configuration, etc). That's where the server's mods folder is

brave mural
#

Do we know when the next release is ?

quasi echo
#

Next Thursday but more likely the 30th

heavy magnet
#

Any hytale dev/mod can hint us why character preview doesn't work or when they plan on adding support for it? I think anybody gives a proper answer or just even an answer

quasi echo
#

Devs don't usually read into the discord

iron niche
neat pelican
# iron niche What do you personally think about Hytale's API? Could it be better,/is it good ...

There are still a lot of holes to be plugged and info to expose to the server, but the Entity Component System is really powerful and the "one-thread-per-world" model is amazing for performance! I especially love that the vanilla game is made up of the same plugin api that we use and individual systems can just be disabled by the server owner.

Bukkit/Spigot/Paper have decades of development under their belt which is amazing for usability and ease of use, but it also comes with ossification and old patterns that we just have to deal with these days. I am very excited for what the Hytale API will look like in a couple years and can definitely see it beating the minecraft apis in usability, mainly because it's not capped by hard-coded things in the underlying game

sterile forum
#

And hopefully not get locked into weird structures and logic because people have demand that the early coded core things have to work the same way forever, or it will break unintended sideffects for their niche part of the game. 🙂

quasi echo
#

Well the way they are going about it is using practices that let them change if they need to

half roost
neat pelican
neat pelican
#

TickCorpseRemoval is responsible for checking the death interaction chain to finish and when that's done,
CorpseRemoval calls commandBuffer.removeEntity()

granite turret
#

I wanted to share something I have been working on over the past few days. It is a document where I take a close look at Hytale's architecture, especially the server and plugin side, and propose a more scalable alternative based on what I have learned from building similar systems myself.

Just to be clear, this is not meant as hate or anything like that. The goal is to highlight real problems we have already seen in the Minecraft ecosystem, like Spigot and Paper. If those issues are not caught early, they can lead to the same outcome: forks everywhere, community debt, and a system that becomes very hard to evolve.

I also wrote this because while working on my own projects like Reactor and Go Server, I kept running into these problems in practice, not just in theory. So the document is more of a technical reflection based on real experience. It looks at what is happening, why it happens, and how things could be designed better from the start.

Here are some of the topics I cover. Overall architecture comparing modular monolith and microkernel. Plugin system and lifecycle. SDK versus API. Classloader based isolation. Scheduler, events, and logging. Entity models including hierarchical, ECS, and EDM. And where the ecosystem might be heading if it continues on this path.

The document is also available in English. I did that partly to practice and partly to make it accessible to people outside the Spanish speaking community. I am from Argentina 🇦🇷 .

If anyone is interested in reading it or discussing ideas, I’d be glad to hear your thoughts. Feedback is very welcome, especially from people who have worked on similar systems.

You can find the link to the books in my status

The document has 49 pages in the Spanish version and 54 in the English version.

It’s quite technical, so not everyone may fully understand all the topics covered.
Also worth mentioning that many topics were intentionally left out for simplicity, such as chunks, asset editor, and others.

clever echo
neat pelican
#

then it can also be linked in this discord

granite turret
rugged flame
#

There are some good points but I dont agree with everything. The EDM model appears very verbose and even harder to reason about compared to ECS. I actually think the ECS system is hytales biggest advantage, alongside assets.

hoary viper
#

How can i add customs animation to my NPC
is the asset editor
there are no animation
it says there are inherited but the list is empty ??

dry pagoda
#

is there a way to get the player from a BlockPlaceEvent/BlockBreakEvent

haughty pier
#

Do we have any updated information on when they plan to open source the server? So people can contribute to it.

neat pelican
hoary viper
iron niche
quasi echo
last pilot
#
    private @NotNull CompletableFuture<Result<ServerInstance>> findServer(final @NotNull GameSearchData searchData) {
        final UUID playerUUID = searchData.playerUUID();
        final GameMode gameMode = searchData.gameMode();

        return ThreadUtil.submit(() -> findGame(searchData).join()
                .mapSuccess(gameMetadata -> serverTracker.getServer(gameMetadata.serverUUID()).join())
                .mapSuccess(Result::get)
                .mapSuccess(serverInstance -> {
                    final byte[] referralData = GameMode.getBytesFromMode(gameMode);
                    return serverRouter.sendToServer(playerUUID, serverInstance, referralData)
                            .thenApply(_ -> serverInstance)
                            .join();
                })
        );
    }

That's for you peasant

@neat pelican

last pilot
#

Senior code

#

Right off the god's table

neat pelican
#

It's a map lookup

last pilot
#

Your brain is just a bunch of electronical signals

neat pelican
#

So why are you pinging me with this?

last pilot
#

you reductionistic mob

last pilot
remote flicker
# last pilot ```java private @NotNull CompletableFuture<Result<ServerInstance>> findServe...

idk what the Result type is here but you are better off doing something more like this so you don't block threads for no reason. The .join() calls mean you are holding a thread hostage just waiting for something else to complete.

private @NotNull CompletableFuture<Result<ServerInstance>> findServer(final @NotNull GameSearchData searchData) {
    final UUID playerUUID = searchData.playerUUID();
    final GameMode gameMode = searchData.gameMode();

    return findGame(searchData)
            .thenCompose(result -> {
                if (!result.isSuccess()) return CompletableFuture.completedFuture(Result.failure(result.getError()));
                return serverTracker.getServer(result.get().serverUUID());
            })
            .thenCompose(result -> {
                if (!result.isSuccess()) return CompletableFuture.completedFuture(result);
                final ServerInstance server = result.get();
                final byte[] referralData = GameMode.getBytesFromMode(gameMode);
                return serverRouter.sendToServer(playerUUID, server, referralData)
                        .thenApply(ignored -> Result.success(server));
            });
}
last pilot
#
package net.rankedproject.common.util;

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.function.Supplier;
import lombok.experimental.UtilityClass;
import org.jetbrains.annotations.NotNull;

/**
 * Utility for executing tasks asynchronously using Virtual Threads.
 * <p>
 * Provides a centralized {@link ExecutorService} that creates a new
 * virtual thread per task, making it ideal for blocking I/O operations
 * without exhausting system resources.
 */
@UtilityClass
public class ThreadUtil {

    private final ExecutorService EXECUTOR_SERVICE = ObjectPool.get(
            "thread-util-virtual",
            Executors::newVirtualThreadPerTaskExecutor
    );

    public @NotNull CompletableFuture<Void> run(final @NotNull Runnable action) {
        return CompletableFuture.runAsync(action, EXECUTOR_SERVICE);
    }

    public @NotNull <T> CompletableFuture<T> submit(final @NotNull Supplier<T> action) {
        return CompletableFuture.supplyAsync(action, EXECUTOR_SERVICE);
    }
}

ThreadUtil executes code in difference threads, so it shouldn't block the thread

#

@remote flicker

#

But your code is a good suggestion if it wasn't the case

remote flicker
#

yeah, in this case it still "blocks" its just with the virtual thread it can swap to another task, so yeah it shouldn't cause any perf problems, but it would still have a small amount of overhead. if you called it a lot you would have a bunch of these virtual threads in the background blocking on the results, so still a good idea to avoid that if you can

versed basin
#

does anybody know if its possible to make hotkeys now? bind commnad or interactions to specific keys?

versed basin
#

weird, just so some server offering skills on Q E and R

#

maybe the screenshot was just a will-be though

neat pelican
versed basin
#

these normal weapon actions?

neat pelican
#

Yeah Q E and R are the default vanilla ability interactions

#

You don't need to do anything special to interact with those

cerulean harbor
nova bronze
#

when do we get airships

remote drift
#

Has anyone else found this error while joining a new instance world? I understand there's something being accessed that is null and it may relate to a race condition but I believe I'm making all the right checks. I was just wondering if anyone else has seen this and it relates to something else.

   at HytaleClient!<BaseAddress>+0x45d3bc
   at HytaleClient!<BaseAddress>+0x45e9e7
   at HytaleClient!<BaseAddress>+0x31980e
   at HytaleClient!<BaseAddress>+0x6aecc4
   at HytaleClient!<BaseAddress>+0x6adf2d
   at HytaleClient!<BaseAddress>+0x6c8637
   at HytaleClient!<BaseAddress>+0x6c8245
   at HytaleClient!<BaseAddress>+0x12bc557
--------------------
 
2026-04-19 13:42:37.1037|INFO|HytaleClient.Utils.SentryHelper|Sentry event captured: ba9c918985254d179453a07a41c44699 ```
remote flicker
remote drift
quasi echo
#

Hey without you reporting it, it wouldn't be easily caught

mild gate
#

Is anyone else experiencing the issue of hot reload .ui not working in the pre-release?

cyan garden
#

does it have support for hot reloading?

mild gate
maiden relic
#

I have a really stupid question, but how do I get the actual position/coords of a block component from the ChunkStore?

neat pelican
maiden relic
#

That's what I thought I had figured out, but apparently not, the coords I always get from it are just 0's

torn veldt
#

I have an idea: A peer-to-peer network of servers across the globe, so people can connect to the closest server and it gets synced with the rest of the world without as much latency.

quasi echo
#

You just discovered what a network node system is

sterile forum
#

I wonder how many ideas i have been introduced to by technical or mathematical focused people, with no connection to the workings of computer networks, who's core idea is great.
As long as the latency doesn't exist.

quasi echo
#

Ud be surprised how much those connect

sterile forum
#

I worked on a project for a company once, where the idea maker just expected us to keep two non deterministic mutating keys in sync on two machines in real time, with them only talking with encrypted messages using said key with each other.

quasi echo
#

Lol

sterile forum
#

I mean, it would be amazing. I could see it happen with specialized hardware, and a damn pain to update replace. 😄

#

i mean, not non determinstic, but keeping keys in sync between two devices and those two are the only ones that know what algorithm and settings are used.

#

as for true random i know gambling comission requies proof of random, and from what i know cosmic noise and wall of lava lamps are two permitted sources. 😄

quasi echo
#

Right

sterile forum
#

Wordblurb of the morning.

torn veldt
#

A network node system of Hytale Servers

quasi echo
#

That really a possibility unless a team wanted to make it happen

sterile forum
#

Latency is still down to hardware setup distance and load.

harsh sierra
#

huh

heavy magnet
uncut forge
#

idk what the heck i'm really talking about tho

sterile forum
uncut forge
maiden relic
#

I have another random question, if I want to use someone else's code in my own plugin, do I just copy the MIT License text into a comment at the top of the file?

maiden relic
#

lol

#

I have to fix alot of it as it is, a good chunk is based non-existent/deprecated pathways

half roost
#

When you do that, if you don't want that specific mod, just analyze it and see how you can adapt it. You'll usually never need exactly what the mod has, but rather a part of it.

maiden relic
#

Hypixel_Think building this is mostly a learning exercise for me, but the mod is just a working version of their old mod

half roost
#

It's like someone saying 2+2=4 but to avoid licensing issues you say 2²=4; the result is the same but not the equation itself.

maiden relic
#

the code is question is optimization stuff

sterile forum
#

if you use any part of their code you should probably mentioned the mod you based it on and its their solution adapted for what ever issue you are facing.

If the mod as used as a reference how to access systems and get access to resources, its not really that important i think,
but as soon as you use any of their actual code, it just seems like a common curtesy to say so.

maiden relic
#

oh I totally plan to, I am just asking how I should do it

half roost
maiden relic
#

I've settled on two places I think; once in the readme and an additional ATTRIBUTION.md alongside the files.

sterile forum
#

the license they are using should cover how it should be mentioned i think.

half roost
#

It's like when you write a thesis and cite documents or words from other authors

maiden relic
sterile forum
#

Yeah i think it states it should be "accessible" and possibly unaltered?
I know we had a separat page in a web project once where you could scroll for 2 minutes just reading trough the license of license of license stuff.

gilded robin
#

Been out of the game for a few months, have they changed their horrible whack-ahh UI system yet?

rotund monolith
lone crag
#

does an items weight in the .json refer to drop chance?

sterile forum
#

weight is often chance, but usually relative to all other weight and in relation to the total.

maiden relic
#

Hypixel_ThisIsFine think I about got the core functionality working finally. So cool to see it working again (especially after the time I've sunk into this)

verbal wasp
#

is there atm any possibility to change the attack speed of a weapon?

half roost
#

Change de speed of animation and hit then u have more or less speed

verbal wasp
#

so you need to change the asset?

verbal wasp
#

Okey, so its not possible to change the attack speed per player.

sterile forum
#

the play animation action have a run duration, so i guess you could either there trough code somehow modify that and get a different duration per player.

tardy vortex
#

I’ve got a pets+ config with 259 mobs as pets all fairly balanced and rarity and all with drops, I saw someone was selling a config with 75 for $5.99 and had hella people buy it so I’m willing to just give mine out for free to anyone that wants it

#

Fair note it is ai generated and balanced but I looked through it and it all looks good, the other one probably is too tho tbf

#

It’s good enough for me to use it in an endgame modpack I made for single player and be satisfied

olive quarry
#

Actually I'm working on a new Pets mod, will be released soon, since pets+ isn't updated anymore, I decided to create one, but far more advanced, will be the first add-on of my Endgame & QoL mod 👌

uncut forge
quasi echo
tardy vortex
#

I just found out pets+ is abandoned, is there anything saying I can’t decompile and fix it myself? lol

#

I already decompiled it while I was making ai write my config lol

olive quarry
#

if it's just for yourself tbh..

near onyx
#

^
As long as you dont distribute it... who cares

tardy vortex
#

Well what if it was for a server

near onyx
#

its not like youre sending the jar to the players

quasi echo
#

That depends on the license

olive quarry
#

no licence in it, on curseforge "All Rights Reserved"

quasi echo
#

thats the license

#

which is one of the worst case scenarios

olive quarry
#

yeah yeah but I was looking for a licence directly in jar file lol

quasi echo
#

most are only on curseforge

#

"All rights reserved" is a copyright notice indicating that a content owner retains all legal rights to their work, preventing others from reproducing, distributing, or modifying it without permission

tardy vortex
#

So as long as I credit him I’m good?
“Distribution Notice

This mod may not be redistributed or bundled with third-party setups without clear and visible credit to Hyronix Studios and the mod name. Otherwise, redistribution is not permitted.”

#

Ima just make my own

quasi echo
#

thats the better option

sterile forum
#

allways the better choice, as soon as you entire decompile for something that is not explicitly recommended by the dev team, its usually not the right choice.

quasi echo
#

🚨WARNING:

There is currently a wave of malware being spread on github pretending to be Hytale mods/tools etc, the way it works is you clone the repo or download the release and the moment you attempt to run it, all your info gets stolen. Be careful what you clone and run!

somber lodge
#

i wonder how many mods will take weeks to update again when the new release comes out. the vector changes will break a lot of mods for sure.

sterile forum
#

All the ones that have ignored pre releases.

somber lodge
#

ive been patching some of them myself to prepare, but some took quite a while, with tons of vectors involved

half roost
quasi echo
#

Yeah it should be in the blog post when they release it

half roost
somber lodge
#

im just back tracking errors and rebuilding against the pre-release
same same kinda lol

maiden relic
#

we're not expecting a release drop today, are we?

quasi echo
#

The pre-release already dropped

maiden relic
#

Hypixel_ThisIsFine I'm fine with that

quasi echo
#

We got /locate and modders got falling blocks other than that it's mostly backend tweaks and minor fixes for trees

flat bronze
#

hi, I'm looking for a way to change the state of a block from the server. For example if I place a block A next to block B, I want to check the state of block B and update the state of block A. I can't find a way to get the state, and also can't find a way to set a new state.
The state is currently changed using a Use interaction that use the ChangeState to go from active to not active.
any one can guide me? do I need to do this from the WorldChunk? thank you!

EDIT: the id is changing and is not only the name of the asset so "MyBlock" becomes "*MyBlock_State_Definitions_Activated" and to change the state I can just do world.setBlock(x, y, z, "*MyBlock_State_Definitions_Activated");
I hope it can help someone in the future 👋

thorny belfry
#

Is it possible to trigger Custom UI on button click or can UI only be triggered with / commands? I'm trying to have a UI trigger with a mouse right click while I'm holding a specific item in my inventory.

sterile forum
#

there is no problem showing a custom ui with a interaction, event or other trigger.
have you added logs and checks that you actually reach the call to show the custom ui?

#

You need to know the player its for, and you need the class for the custom ui in question and it should work.

#

95% sure.

azure sluice
#

I use a custom interaction for it myself

heavy magnet
thorny belfry
long juniper
#

funnily enough

#

now, will you get sued? probably not. can they sue you however? yes.

long juniper
long juniper
#

yeah the key thing to remember is that its not a garuntee that you get in trouble(but the chance is always there, even if the creator changes their mind randomly)

quasi echo
#

Yeah so just avoid it as it's dumb

nova bronze
#

i always get in trouble

quasi echo
#

Lol

lone crag
#

hey folks, i want to change a stacksize in a mod, the item stacks at 100, but i need it higher. normally i can increase max stack, but this mod does not have max stack line in the items .json. is there another place i can look to find stack info in a mod?

olive quarry
midnight obsidian
#

where to find trustworthy mods?

lone crag
olive quarry
lone crag
olive quarry
#

yep

lone crag
# olive quarry yep

thanks, worked perfectly. I now have +1xp Intelligence added to my brain😁

brave mural
#

Do we know when the new release is live?

somber lodge
#

probs another week or 2

mild gate
#

Is there any way to debug what's causing the memory leak on the client side?

quasi echo
#

memory leaks should only happen on server side

tranquil raft
#

client can still have memory leaks

quasi echo
#

well we dont have access to any client sources so theres no way to improve it but report one in bug reports

tranquil raft
#

yeah sadly

#

i currently have a server plugin that somehow causes index out of bound exceptions on the client

#

and basically impossible to figure out what causes it only trial and error

quasi echo
#

check on the modding discord there might be a list of index's u could be out of bounds on

tribal patrol
#

Do you know if any features are being impacted? e.g. loading inventory, map, blocks, etc. That might help to identify the cause

quasi echo
#

not personally

brave mural
#

I'm trying to format the player message and came across this problem. So when the event fires:

public static void onPlayerChat(PlayerChatEvent event)

I need to access the playerRef store and get information from the store. After retrieving the information then i need to format the message.

Do i just call world.execute and call event.setFormatter inside world.execute?

brave mural
#

fix: Just cancel the player chat event and now manually sending the message to all targets. Works

somber lodge
brave mural
#

I see! Reason ? Performance probably?

somber lodge
# brave mural I see! Reason ? Performance probably?

It all depends on what exxactly youre doing i guess but doing it this way isnt mainly performance but more about thread safety and event timing.
The newer Hytale builds are stricter about live player/world access. A PlayerRef may point to a player currently owned by a world thread. If anoher thread tries to read components/store data from that player directly, Hytale warns or blocks it because the player state can be changing at the same time
So the reason for caching is: Read live player/component/store data only from the safe player/world thread using ref.execute(...)
Copy the result into simple cached data like strings, UUIDs, ranks, prefixes, colors
When chat fires, use only that cached data and call event.setFormatter(...) immediately
The performance benefit is real, since you avoid doing store/rank lookups every chat message
and youre avoiding async player access and avoiding scheduling event.setFormatter(...) too late

brave mural
#
public static void onPlayerChat(PlayerChatEvent event) {
    // cancelling event so hytale doesnt send the message because we are doing it manually.
    event.setCancelled(true);
 world.execute(() -> {
      Msg msg = new Msg().Raw("");

      if (ChatPlugin.INSTANCE.HasExperiencePlugin) {
        AppendLevelBadge(msg, playerRef);
      }

      for (PlayerRef target : event.getTargets()) {
        target.sendMessage(msg.Build());
      }
    });

Yea i basically did this

#

There probably is a better way but this seems to be ok for now

I just cancel the event which as far as i understood just makes it so that hytale itself is not sending the message

I just send the messages myself

#

This way i also dont have to like think about caching and invalidating cache or refreshing cache

somber lodge
brave mural
#

Good question let me check

#

Nope it doesnt might need to also put it there

#

thanks for letting me know!: )

somber lodge
#

you can manually log it>

String plainLogLine = playerRef.getName() + ": " + event.getMessage();

ChatPlugin.INSTANCE.getLogger().info("[CHAT] " + plainLogLine);

#

i think lol id have to try it though

brave mural
#

Will log it that way

cerulean harbor
heavy magnet
brave mural
#

Any other Block Interactions i forgot? Im creating a permission system and im not sure if there is a better to handle that but if a player interacts with a block i do this:

any other recomendation or block interaction i forgot ?

if (blockName.contains("chest")) {
      requiredPermission = WorldGuardPermission.ALLOW_INTERACTING_WITH_CHEST;
    } else if (blockName.contains("door")) {
      requiredPermission = WorldGuardPermission.ALLOW_INTERACTING_WITH_DOOR;
    } else if (blockName.contains("portal")) {
      requiredPermission = WorldGuardPermission.ALLOW_INTERACTING_WITH_PORTAL;
    } else if (blockName.contains("teleporter")) {
      requiredPermission = WorldGuardPermission.ALLOW_INTERACTING_WITH_TELEPORTER;
    } else if (blockName.contains("furniture")) {
      requiredPermission = WorldGuardPermission.ALLOW_INTERACTING_WITH_FURNITURE;
    }
brave mural
#

Ok will add that too.

somber lodge
# brave mural Ok will add that too.

torches/lanterns? good for spawn areas if you dont want players messing with lights. problem there is, some fall under furniture, some dont, like the deco_lantern or holiday wreaths etc.

#

also maybe crops

brave mural
#

Thanks!! Will add those

brave mural
#

I came across a weird bug - In java 25 it seems like thread.stop is no longer supported but hytale uses that method when deleting a world.

How is that possible ?

formal ridge
#

Question : how does world generation differ from single to multiplayer ? Cause i'm creating a mod, that is working correctly if executed as a server than connecting the player to it, but doesn't seem to work, if creating the world directly as a single player from hytale (I thought "single player" wasn't realy a thing, as even as single, it's in fact a server running behind it, so i'm quite confused)

Does anyone have faced the same problem ; world generation working if executed thought the hytale server, than connect to it via multiplayer, but not working if creating a fresh new game from hyatle directly, with the mod active ?

quasi echo
formal ridge
#

Where can i find this discord ? it's the same as here ?

quasi echo
cerulean harbor
#

Contest is just over, what have you guys made? 👀

quasi echo
#

Can't wait to see the contenders

maiden relic
#

should be quite interesting

cerulean harbor
#

I've been looking around some of the mods and they're all super cool. (I'm a judge for the event)

#

But I think in general, you go on CurseForge and you'll probably run into a cool underrated mod

quasi echo
#

Neil is biased mod he only votes for mods who's authors talk less than him 😔

cerulean harbor
half roost
cobalt geyser
summer notch
#

Yo is anyone making dungeons here? I got a crazy dungeon framework that integrates to Endless Leveling with a few configurations. Pure asset dungeons work as well and you can scale mobs using EL's system

dry pagoda
#

is there any way to remove the default inventory categories

quasi echo
#

Probably not yet

dry pagoda
#

rip

elfin lantern
#

Okay, I see mention on YouTube about instanced dungeons, but the server I'm on has no coders. How difficult is it to set up instanced dungeons so they don't break (for instance, scenery being destroyed while players are fighting enemies) and have to be repaired between people going to them?

#

The server admins think a coder is needed to set that up.

remote chasm
#

so the initial world would be like a "blueprint". after players are done you just remove the instance. new one would be able to be created every time someone wants to enter the dungeon

elfin lantern
#

It would be nice to find someone who has actually done this to teach us.

elfin lantern
remote chasm
#

I mean, there is sorta a system that does this in hytale right now

#

the portal and shards is basically 95% of what you need

#

the only difference is how you handle world creation. instead of generating a new random world you'd just load the template

elfin lantern
#

Someone I talked to said creating the template consists of (if I recall rightly) creating a void world, buiding the dungeon in it, and saving it as a blueprint.

remote chasm
#

that is indeed one way to do it. as long as you save that world, you can load it and use it as template

heavy magnet
#

To create this instances you just need to use the asset editor. Can get tricky at first but there is documentation and guides in community discord servers and doc sites

brave mural
#

Is there an easy way to check what components an entity has ? Like a zombie or just another kwebeck or something

shut cipher
elfin lantern
shut cipher
#

Yes !

neat pelican
#

DevSlashNull shared them on twitter

remote chasm
#

nice

neat pelican
remote chasm
#

yes, the source comments missing was a HUGE issue for me

neat pelican
#

please stop begging for free code review

neat pelican
# iron niche ?

someone advertising their vibecoded plugin. Looks like they got kicked now for bad language

iron niche
neat pelican
#

And keep the target audience in mind

iron niche
#

I opened the github project he shared and then when I came back here to comment it I saw the messages were already deleted, have you seen it? It seems legit nevertheless

neat pelican
#

most of the insults have been deleted by now luckily

quasi echo
neat pelican
#

sharing cool things you made is fine if you do it tactfully

quasi echo
#

They mean stuff like fan art which has its own section not unrelated slop in talking channels

#

You can get in trouble for self promo for just having a linked bio (connections have been decided to be safe)

barren magnet
quasi echo
#

No it's any advertising link someone just has to report it

dry pagoda
#

is there anyway to detect if a player picks up an itemstack from a window? MoveItemStack is only called when putting down

analog owl
#

So uhm I made myself an auto-run pipeline that decompiles the HytaleServer.jar and starts a RAG Server using Docker with the decompiled code. Just wanted to know if people would be interested in that? (If yes I would clean up the code and yeet it on github in 1 or 2 days idk)

quasi echo
#

You should ask on the modding discord

cerulean harbor
lean light
#

I made server but i cant run it

neat pelican
half roost
#

Hi, I have a question about the symbol that appears when an item breaks. How does that symbol appear? Which classes "summon" it?

sterile forum
half roost
half roost
rare badge
#

Hello guys, i want to help if there is a way to check if player is looking at the specific block which has Component. And draw "debug cube" and some text over it. Like hover block...

unborn veldt
#

hi @cerulean harbor

cerulean harbor
quasi echo
#

Please keep the channel clean of off topic conversations 😜

neat pelican
quasi echo
eternal spade
#

Does anyone know where skeletons are referencing to use torches at night and put them away during the day?

quasi echo
#

NPC behaviors—like skeletons using torches at night—are primarily defined through a modular behavior system using JSON scripts on the server side.

eternal spade
#

gotcha, thanks

#

Um, does that mean I can't change it? I'm assuming there's something I can change to make it so they don't swap to torches, does it maybe have to do with patrol options in their NPC role, or something in their NPC role I can adjust

quasi echo
#

You should look at the NPC documentation

cerulean harbor
quasi echo
#

I need to save some of these shorthand links

quasi echo
#

You da best

teal pine
#

any updates on custom keybinds? trello still has the not accepted tag

quasi echo
#

Trello?

cerulean harbor
cerulean harbor
teal pine
quasi echo
keen crag
#

Does anyone know why JSON files would cause errors when loading within a JAR but not when unpacked into a Pack rather than Plugin?

#

This seems to relate specifically to DropList JSON files

#

Found a bug

#

It appears that if an item has a DropList reference that contains ONLY droplists then it drops nothing. The droplist MUST have at leasty one item within it

#

For some reason the Pack doesn't error but the Plugin does because the plugin somehow detects the error

quasi echo
#

@robust trail ^

#

prob something youll wanna know about

mystic wedge
#

Is there currently a ~255/256 node (or "modelPart") limit per model? I'm struggling to get some of the Cobblemon assets to translate over properly, they end up invisible in game.

#

If so, is there a way around it, can it be changed?

quasi echo
#

This is more a question for the modding discord because they deal with it more first I'm hearing of a part limit, just wondering what mons need so many parts

mystic wedge
#

hehehe so far the higher end ones are Toxapex (355 nodes, 99 over), Falinks (311), Decidueye/Hisuian (293), and Skeledirge (286)

quasi echo
#

So really the limit needs to be about double for your use case

mystic wedge
#

close yeah, or I have to find a way to collapse bones.. seems there's a ton used that are invisible for other uses in game, "locator" bones. I guess they're used for attaching seatch and other stuff? just now starting to dive into it and hopefully find a hytale safe alternative to replace that doesn't count against the model

quasi echo
#

Yeah I mean unless there's a technical reason they limit it we can probably ask for a raised limit

#

@cerulean harbor who would be the best to ask about this limitation

cerulean harbor
quasi echo
cerulean harbor
#

Yea this is a pretty known issue, the node limit rn can't be bypassed

quasi echo
#

@mystic wedge unfortunate ^

mystic wedge
ruby arrow
#

Does anyone know how to change the background texture for a text button?

verbal wasp
#

Hey guys, is there any possibility to hide the RMB, LMB and Q Skills HUD? I found everything to hide, but not these

ruby arrow
# heavy magnet in java or in the .ui

But I know where the problem is when I do it the same way others do, it doesn't work for me. There's an “X” on a white background when I open the UI. Do you know how to fix this? I can show you my Java code and the UI file.

heavy magnet
karmic lagoon
#

weird question, but does anyone here know how to code in luau?

neat pelican
#

Once you have programming experience, it's very transferrable to different syntaxes

karmic lagoon
ruby arrow
pulsar bone
#

Is strike lightning a thing in hytale

#

Or strike lightning effect

pulsar bone
#
        playerRef.getPacketHandler().writeNoCache(new ChangeVelocity(0f, 30f, 0f, ChangeVelocityType.Add, null));

I found no better way of launching player into the sky than this, if anyone have any better way lmk. And is there a lighting strike effect?

heavy magnet
#

Or make your own

pulsar bone
heavy magnet
fickle dagger
golden saddle
#

Someone uses opencode/claude or others to make Hytale plugins? If so, it works? Else, why?

golden saddle
# half roost Wdym?

I mean, I'm trying to figure out if we can use IA to do hytale (java) plugins

golden saddle
#

That works? Do you have examples?

half roost
#

Then I went to Claude's chat and then to Claude code in the terminal where I did everything.

golden saddle
#

Ohh I see. So, did you generate some MD file with the necessary information about it?

blissful patio
#

does anyone know how the GradientSet & GradientId cam be implemented in Blockbench? (I only have installed the "Hytale Models" plugin from JannisX11.

ex) /Assets/Server/Models/Undead/Skeleton_Pirate_Gunner.json

{
  "DefaultAttachments": [
    {
      "Model": "Cosmetics/Head/BandanaLogo.blockymodel",
      "Texture": "Cosmetics/Head/BandanaLogo_Textures/BandanaLogo_Skull_Greyscale_Texture.png",
      "GradientSet": "Fantasy_Cotton",
      "GradientId": "Red"
    },
  ]
}

quasi echo
#

Those might be Hytale specific so they might have to be set outside blockbench

dire charm
#

can you completely override client side movement for example to add quake style movement if you really wanted

vital drift
dire charm
#

so like manipulating acceleration and friction and doing stuff when the camera is facing a direction I think

#

I'm not 100% sure of how all the base code fully works

tender cliff
#

Is the Developer item quality hardcoded in the client to be hidden? The JSON for it is missing HideFromSearch so it should default to false, but it's hidden still even if manually defining it as false. I also looked at:

  • com.hypixel.hytale.protocol.ItemQuality
  • com.hypixel.hytale.server.core.asset.type.item.config.ItemQuality
  • com.hypixel.hytale.server.core.modules.item.ItemQualityPacketGenerator
    on the server and found no code that modifies hideFromSearch before sending it off to the client.
vital drift
tender cliff
vital drift
#

Right, sorry I misread

vital drift
tender cliff
#

though i'm still confused on why they would hardcode it in the client

quasi echo
#

It's ment to prevent people from seeing developer only items

vital drift
#

What illagercaptain is saying is that the Developper ItemQuality asset has an "HideFromSearch" property that's already supposed to handle this case, and it doesn't do anything because the filtering exception is hardcoded somewhere

dry pagoda
#

how do you set a block with a specific rotation?

neat pelican
shy narwhal
#

server log: pastebin(döt)com(släsh)CwWt3Efx

#

what do I do? 😅

#

the game server keeps kicking me out because it cant load a chunk, the chunk in question doesnt even seem to have a dedicated file in the chunks folder?

quasi echo
remote flicker
heavy magnet
#

anybody knows why my custom entity stats dont show the value?

Found the fix.

You need to add {value} in the .lang entry

itemTooltip.stats.Agility = Agility {value} 🟩
itemTooltip.stats.Strength = Strength ⛔

vivid bone
#

Hi there, i'm building alot of UI's, sometimes working wit an AI creates invalid .ui documents, resulting on a "failed to load customui documents", i would like to have a validator such a json-validator, or an extension for vscode, or a precise documentation.
I tried copying the doc of official hytale ui documentation in a markdown and link it to the AI, but itstill creates errors, i have ti manually repass on many things, resulting on a big waste of time. Anyone has resolved this problem ? 🙂

neat pelican
#

also don't forget saying "no mistakes"

half roost
#

Hytale works by using the entire screen for a UI, so if the AI only uses the information box you want and not the full screen, it won't work and will throw a document error.

#

The server console will also tell you what the error is in those cases.

neat pelican
#

be clear in your prompt that this is a custom DSL for a C# game, and is not based on web standards even though some of the keywords might look similar.

vivid bone
#

Im not sure understanding 100% of what you said.
To be clear, i do have full working interfaces on some of my mods.
But for example, i have a basic UI with a menu and a few texts, i actually asks the AI to do a more complex pattern of separation / sections / separators / alignments, but it creates bad things, resulting on a fail to lad the refactored UI, even if i know link the .md file with the entire doc.
The client shows "Failed to load CustomUI documents" only, and the server [World|default] Exception when adding player to world only

neat pelican
brave mural
#

Is it possible to disable the message that gets send when somone joins the world ?

#

Found it: AddPlayerToWorldEvent you can set the message there

neat pelican
#

And RemovedPlayerFromWorldEvent now exists as well for the leave message

gilded ibex
#

yay i managed to make instanced houses for my server for each player

scenic light
#

Hello. Where can I found docs about events and those stuff about HytaleServer?

brave mural
#

Heyo - Im curiouse about the player base on hytale servers - I just checked a lot of hytale servers and i feel like the biggest ones all together have like less then 100 players is that a thing

vivid bone
#

Hi, do you think its possible to code an amount of stack for an item for a specific permission ?
For example a standard player has 25 stacks of iron ore, and vip has 100 of stack of iron ore ? 🙂

vivid bone
pearl bloom
gilded ibex
#

managed to make "nodes" that get replaced after a set amount of seconds so they can be remined/farmed after the timer runs out

gilded ibex
#

anyone here know the best place to "hire" builders or other devs or something as i dont think this server is meant for that(?)

vital drift
vital drift
gilded ibex
shy narwhal
#

imgur (döt) com/a/tJp8oj4 Why are my chunks disappearin/regenerating? 🙁

quasi echo
#

use the validation tool

neat pelican
#

zero already told him

shy narwhal
#

oh right, sorry

neat pelican
#

does the validation highlight anything in the logs?

shy narwhal
#

I will try running it now

quasi echo
gilded ibex
#

is it possible to change the worlds skybox to something custom like an image for example? or only different hues and colors through the world editor?

vivid bone
ruby arrow
#
Group #test {
  Anchor: (Height: 891, Width: 1562);
  Group #Bg {
    Background: (Color: #491d1d);
    Anchor: (Height: 891, Width: 1562);
  }
}

Hey, I have a problem that’s actually kind of funny given how the game is currently being developed—it’s just over the top. The UI system is a disaster, and that’s not just my opinion. But getting to the point, does anyone know what might be wrong here? No matter what I do, I get a black background—whether it’s a color or a graphic, it still turns black. And to make matters worse, yesterday it was working fine

neat pelican
#

I have it like this:

Group {
  Anchor: (Height: 1);
  Background: #f4ca17(0.5);
};
ruby arrow
neat pelican
#

ok yeah both work

ruby arrow
#

“It works” is a bit of an exaggeration, because it doesn't work at all. It also has a different UI, and when I was working on them last night, they were working, but today my beloved game has glitches and doesn't work at all.

neat pelican
#

try going back to yesterday's commit

ruby arrow
#

So I did that I rolled back to Saturday—but nothing changed. I rolled back to Thursday’s version—absolutely nothing. All the UIs are crashing to a black screen. I tested it on several servers, just to make sure it wasn’t a server issue, but it didn’t work there either.

mystic wedge
#

Is there a place that has the official biome strings? Seems what's documented and used are different?

neat pelican
#

Server/World/Default/Zones/ i believe?

mystic wedge
#

Thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!

scenic light
#

Hello. Anyone with custom effects experience? I'm trying to make one but, setting as an assets or as a plugin (.jar) don't get created/no recognized.

shy narwhal
#

I have a manual backup from a couple of days ago where afaik there were no issues at least around the immediate spawn area, so I can just copy paste the old universe into the live server

#

but uhm, since Im running a live server where people come to play adventure/survival, it will be rather hellish if this becomes a reoccuring problem with players having their bases ripped apart

#

Its that I have been seeing warnings about it failing to load certain chunks in my logs in the past (you can lookup my message history in this channel, I attached the erroring logs somewhere), so it seems its not really the first time its been some kind of problem, just I havent seen any resulting issues that affects gameplay until now since a couple of days ago

#

are there any configuration settings I should be aware of that can help prevent these kinds of issues/improve stability?

zealous quail
#

is there a reason keybind keys show up with the entity tool legend for example but not in the exact same ui added to the hud?
I've looked around the code and it seems items implement a specific hud type of Legend but why and if so how would I mark a normal hud as that or is it possible only with huds on items?

rocky cloak
#

Can any1 tell me if you guys are also having issues with plugins saying that they aren't on the correct Server Version even though I have done everything i can to make sure it was?

#

like in manifest.json i wrote "ServerVersion": "*" and it still says in console and in chat when I open the server that the plugin isn't updated to latest server version

tribal patrol
half roost
vital drift
#

Starting from update 5 next week, * won’t work anymore

rocky cloak
hasty sandal
boreal topaz
#

Am I not able to make a button in custom Ui to open a website 🥲? I know it works through the chat …

boreal topaz
#

wdym? Dont you understand the question?