#server-plugins-read-only

1 messages · Page 107 of 1

finite vault
#

is there anyway to attach debugging tools to the mod haha

rotund willow
#

Is there a nice way to test plugins locally that require multiple people, without having two accounts?

finite vault
#

im loosing my mind logging stuff

marble geyser
#

has anyone gotten the server auto-updater to work properly? I did the /update apply --confirm command, it shutsdown the server, but doesn't restart it. when i restart it with the script, it doesnt apply the update either

west elk
finite vault
weary lantern
#

guys how is it that we can say java -jar HytaleServer.jar --assets Assets.zip --auth-mode offline
if we're always gonna get
[2026/01/27 21:33:31 INFO] [Hytale] Disconnecting QuicConnectionAddress{} (/, streamId=0) with the message: Offline mode is only available in singleplayer.

Like how could we possibly run the server in singleplayer?

For context I'm trying to either simulate multiplayer or somehow find a way to allow multiple clients to join without authentication so I can test multiplayer features

loud minnow
#

So i gave someone a world file from my server and when he puts it in his server, it becomes a default world, even though its a flat world with a bunch of builds.. anyone know how to fix?

jade sky
# finite vault is there anyway to attach debugging tools to the mod haha

Yes!

tasks.register('runServer', Exec) {
    dependsOn 'deployToServer'
    workingDir = file('server')
    commandLine 'java',
            '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005',
            '-jar', 'HytaleServer jar',
            '--assets', 'Assets zip'
    standardInput = System in
    standardOutput = System out
    errorOutput = System err
    doLast {
        println "Server running with debugger on port 5005"
    }
}```

run alongside a idea "Remote VM Debug" application option set to port 5005, then you can use the hotswap features! :) (I had to remove the dots since it was flagging it as a url)
marble geyser
#

I use the kaupenjoe starter template, for starting the server and debugging.

marble geyser
#

i can't link it in this channel, tho, and i have some memory leak issue, when i stay connected for too long

west elk
candid thicket
#

Does anyone know how to properly input a downloaded world in hytale? Had a builder create a custom build for me but when I put it into the saves folder and extract it, the world loads but it’s just a normal hytale world and not the flat world with the build

weary lantern
# jade sky have to edit the jar for that lol

I tried to make it work by spawning a player but the parametres are so many and so specific it's impossible... I guess I'd have to do that... I'll probably just force my friends who have the game to afk in my world to frankenstein on their husks

#

waiit is it against ToS or something

jade sky
west elk
jade sky
#

but hey im not the boss do what you want

weary lantern
#

I am NOT gonna be doing that

ocean minnow
#

Algún server donde hablen español ?

ocean lake
#

i need ui wizzard if there is any.
How do i update ui data

custom ui for block that uses custome component,
this component values changes every game tick

i need todisplay label.text like 0/1000
and when player have this ui opened it should update

  1. how do i get component data from block
  2. how do i update ui data(im using hyui but only data editing is in page context from events)
jade sky
#

how to get a players yaw and pitch? theres getHeadRotation but this is vector3f, and im not sure if its including roll or some other 3d rotation variable

spiral marsh
#

It contains yaw, pitch and roll

jade sky
#

alright thanks

knotty goblet
#

I want to add the bat to the chicken coop and have them produce poop from it. How can I do that?

west elk
knotty goblet
#

I have been attempting to add them to the block but the bat doesnt have an NPCGroup. Or at least doesnt show up in the asset editor list

undone latch
#

Quick Question, how can i use the region announcement Banners for custom messages?

burnt pelican
#

Does anyone know how to make the Background pull a different image dynamically in UI Pages?

west elk
burnt pelican
#
commandBuilder.set("$selector #KitIcon.Background", "../Common/${kit.name.lowercase()}_kit_icon.png")

This doesn't work it just displays white boxes with red x

west elk
burnt pelican
limpid remnant
#

Looking for plugin creators, or asset makers.

livid geode
#

**/update check **doesnt work, says "failed to check for updates"

storm ocean
#

Does anyone know how to change the stats of items that are already in high-tail? Let's say I want to change an iron sword by adding damage, etc.

tired arrow
#

When routing my domain to ip address because I’m on a shared box my ip is defined by a different port than default on hytale. Would a proxy work so I don’t have to use a port attached to my domain?

burnt pelican
sour marlin
#

Someone knows how the InteractionVars works?

west elk
sharp pumice
#

anyone know how to get the damage the player takes? damage.class doesnt seem to give playerref

storm ocean
#

Why i cant create asset pack? in asset editor?

velvet fossil
#

Hey ya'll so I am trying to spawn an npc called skeleton_giant I cannot because hytale doesn't even have it as an npc u can spawn??

west elk
velvet fossil
#

C:\Users\yourpcname\AppData\Roaming\Hytale\install\release\package\game\latest\Assets.zip\Common\NPC\Undead\Skeleton_Giant

#

it does indeed exist but you cannot spawn it.

dusky sable
#

You would likely need to register the entity yourself

west elk
velvet fossil
west elk
velvet fossil
#

but that doesn't make sense to me either because in machinma u can spawn it

dusky sable
#

Maybe just try spawning it then, but I'm not sure what the role would be.

        Map<String, String> randomAttachmentIds = new HashMap<>();
        Model npcModel = new Model.ModelReference("Skeleton_Giant", 1, randomAttachmentIds).toModel();

        Pair<Ref<EntityStore>, NPCEntity> npc = NPCPlugin.get().spawnEntity(
                store,
                18,
                position,
                rotation,
                npcModel,
                null
        );```
surreal flame
#

hey there anyone know how plugins like essentials-plus and Icanfly let the player fly? is there a component attached then? because we want die disable everyone who is flying after a certain amount of time (not creative mode)

north current
#

i have an imports/images directory but cant import images in my server. does anyone know why?

velvet fossil
#

New question is there a way to make mobs bigger in the asset editor or is this something we have to do ourselves

#

oh yes ther eis found out

olive glacier
#

I am trying to add an item that does something when activated (right click). I couldn’t get any of the mouse events to do anything, any ideas how to approach this?

boreal prism
#

Hello, I bought a server host and the server doesn't appear but my money was taken.

dusky sable
dusky sable
boreal prism
#

well I bought it from hytale

#

hytalehosting

west elk
west elk
north current
#

are a ton of plugins not working for everybody else after update too?

smoky rune
#

Is there a way to link the text chat between multiple servers?

sharp pumice
#

does anyone know how id register this class?


public class EventDamageSystem extends EntityEventSystem<EntityStore, Damage> {

    public EventDamageSystem() {
        super(Damage.class);
    }

    public void handle(int index, @Nonnull ArchetypeChunk<EntityStore> archetypeChunk, @Nonnull Store<EntityStore> store, @Nonnull CommandBuffer<EntityStore> commandBuffer, @Nonnull Damage damage) {
        Ref<EntityStore> entityStoreRef = archetypeChunk.getReferenceTo(index);
        Damage.EntitySource entitySource = (Damage.EntitySource) damage.getSource();

        Player player = store.getComponent(entitySource.getRef(), Player.getComponentType());
        if (player == null) return;

        damage.setCancelled(true);
    }

    @Nullable
    @Override
    public Query<EntityStore> getQuery() {

        return PlayerRef.getComponentType();
    }
}```
west elk
smoky rune
#

dang okay

tulip stirrup
#

There seems to be a new server update but /update apply --confirm only seems to be shutting down the server not update / restart it

west elk
dusky sable
#

Does anyone know how to make an entity target a specific player?
I tried the following, but the if statement is false.

            if (npcEntity.getRole()
                    .getRootInstruction()
                    .getSensor()
                    .getSensorInfo() instanceof EntityPositionProvider positionProvider) {

                Ref<EntityStore> targetRef = targetPlayer.getPlayerRef().getReference();
                ComponentAccessor<EntityStore> componentAccessor = targetRef.getStore();

                positionProvider.setTarget(targetRef, componentAccessor);
            }```
I also tried this, but it didn't work.
```java
npcEntity.getRole().setMarkedTarget("0", targetRef);```
sharp pumice
north current
#

Yo. Could anyone help me with file layout for a server? I have a ton of plugins that don't work on my dedi vs nitrado

civic zephyr
#

This is likely being overridden by one of the many sensors that would trigger the retarget

#

The way NPCs work and modifying their targets consistently is a bit annoying, I just made a custom sensor for it, not sure if theres an easy way to get the many sensors to stop what they're doing in regards to detection

#

The bodymotions (Seeking, Combat, Etc) are all triggered by a sensor so just setting the target wouldn't work unless the bodymotion was also active

dusky sable
#

Is your custom sensor something you'd be willing to share?

civic zephyr
#

Oh yes definitely, very straightforward, it literally just provides a position

#

It would be easier for me to just describe it than to show it, but I will send a snippet, I can probably send the whole class

dusky sable
#

Awesome!

civic zephyr
#

Sensors are global per role but the override method provides an instance of a specific NPC

solemn flame
#

Hey guys, can you help me? I have a Hytale server with survival mode and about 10 plugins. It has 64GB of RAM and a 16-core processor, but the server has problems with low TPS and very high ticks. You mine a block and it takes a long time to react, and there are only 6 players on the server, with a ping of 40ms.

versed ember
#

anyone tried to make a plugin that adds to worldgen? worldgen2? is it even possible?

dusky sable
broken belfry
#

did anyone have an issue with the hytale shop mod after updating?

dusky sable
#

or maybe something different

civic zephyr
#

Thats not working because the sensors immediately re-obtain their information when the NPC calls for it

#

Have you tried the TargetMemory component

desert apex
dusky sable
civic zephyr
#

Im seeing in my decomp that TargetMemory might actually override the active target properly

#

As long as you add to the known hostile targets

topaz jetty
#

Does anyone here know how to close a CustomUIPage when pressing F key (Use interaction)?

dusky sable
civic zephyr
#

Not sure

#
public class CustomSensor extends SensorBase {

    public static Vector3d GLOBAL_TARGET = new Vector3d(-500, 0, 0);
    
    public CustomSensor(@Nonnull BuilderSensorBase builderSensorBase) {
        super(builderSensorBase);
    }

    PositionProvider positionProvider = new PositionProvider();

    public boolean matches(@Nonnull Ref<EntityStore> ref, @Nonnull Role role, double dt, @Nonnull Store<EntityStore> store) {
        positionProvider.setTarget(GLOBAL_TARGET);
        return true;
    }

    @Nullable
    @Override
    public InfoProvider getSensorInfo() {
        return positionProvider;
    }
}
#

You need to make a builder for the registry

solemn flame
dusky sable
civic zephyr
#
public class BuilderCustomSensor extends BuilderSensorBase {
#

Implement everything its asking you, specify these:

public Sensor build(BuilderSupport builderSupport) {
        return new CustomSensor(this);
    }

And

    public Builder<Sensor> readConfig(JsonElement data) {
        this.provideFeature(Feature.LiveEntity);
        return this;
    }
sharp pumice
#

any ideas?

civic zephyr
civic zephyr
dusky sable
civic zephyr
#

I opted to just make a custom role that only has my sensor and the seek motion

sharp pumice
civic zephyr
#

Heres my NPC role:

{
  "Type": "Generic",
  "Appearance": "Sheep",
  "FlockAllowedNPC": [
    "SwipezNPC"
  ],
  "FlockCanLead": true,
  "FlockInfluenceRange": 4,
  "MotionControllerList": [
    {
      "Type": "Walk",
      "MaxWalkSpeed": 4,
      "RunThreshold": 0.7,
      "RunThresholdRange": 0.1,
      "Gravity": 10,
      "MaxFallSpeed": 20,
      "Acceleration": 10
    }
  ],
  "MaxHealth": {
    "Compute": "MaxHealth"
  },
  "ApplySeparation": true,
  "SeparationDistance": 1,
  "SeparationWeight": 1,
  "SeparationDistanceTarget": 0.5,
  "SeparationNearRadiusTarget": 2,
  "SeparationFarRadiusTarget": 7,
  "Parameters": {
    "MaxHealth": {
      "Value": 100,
      "Description": "Max health for the NPC"
    }
  },
  "Instructions": [
    {
      "Continue": true,
      "Instructions": [
        {
          "Sensor": {
            "Type": "CustomSensorMine"
          },
          "Tag": "idle",
          "BodyMotion": {
            "Type": "Seek",
            "SlowDownDistance": 4,
            "StopDistance": 2
          }
        }
      ]
    }
  ],
  "NameTranslationKey": "server.npcRoles.Test_Entity_Damage_Event.name"
}
#

Its in Server/NPC/Roles/SwipezNPC.json

#

You don't have to manually register custom entityroles

civic zephyr
sharp pumice
# civic zephyr Yeah send it

okay correction, server doesnt crash it just unloads every world

java.lang.ClassCastException: class com.hypixel.hytale.server.core.modules.entity.damage.Damage$1 cannot be cast to class com.hypixel.hytale.server.core.modules.entity.damage.Damage$EntitySource (com.hypixel.hytale.server.core.modules.entity.damage.Damage$1 and com.hypixel.hytale.server.core.modules.entity.damage.Damage$EntitySource are in unnamed module of loader 'app')
        at ThirdPartyPlugin//com.example.plugin.EventDamageSystem.handle(EventDamageSystem.java:28)
        at ThirdPartyPlugin//com.example.plugin.EventDamageSystem.handle(EventDamageSystem.java:20)```
#

theres a few more but these seen ti be the relevant ones

civic zephyr
#

You're casting Damage to a DamageSource but you should be casting damage.getSource() or whatever the source method is

fringe herald
#

Are there command line arguments to directly start the game in a specific save? I'd like to further automate testing out a mod

dusky sable
civic zephyr
#

Thats just the model

#

When you spawn the NPC you can change it

#

As for entity specifics yeah you should probably make a new role per entity but you can use inheritance on the roles

#

All the intelligent NPCs basically inherit from Template_Intelligent which has a ridiculously complicated state machine defined in it

dusky sable
#

This is a lot of work just to make them target a specified player lol

civic zephyr
#

The way they made the NPCs is very strange and unnecessarilly data driven to the max

sharp pumice
#

is that not what im doing?

public class EventDamageSystem extends EntityEventSystem<EntityStore, Damage> {

    public EventDamageSystem() {
        super(Damage.class);
    }

    public void handle(int index, @Nonnull ArchetypeChunk<EntityStore> archetypeChunk, @Nonnull Store<EntityStore> store, @Nonnull CommandBuffer<EntityStore> commandBuffer, @Nonnull Damage damage) {
        Ref<EntityStore> entityStoreRef = archetypeChunk.getReferenceTo(index);
        Damage.EntitySource entitySource = (Damage.EntitySource) damage.getSource();
        Player player = store.getComponent(entitySource.getRef(), Player.getComponentType());

        player.sendMessage(Message.raw("damage"));
    }

    @Nullable
    @Override
    public Query<EntityStore> getQuery() {

        return PlayerRef.getComponentType();
    }
}```
dusky sable
civic zephyr
#

There probably is a more straightforward way to set the target to an entity but im sure there would be a sensor which would eventually end up overriding it

#

Its a component

young pumice
civic zephyr
#

What if the source is not an entity? Haha, check it first

dusky sable
civic zephyr
#

Not sure, the intelligent ones should do

sharp pumice
quartz plover
sharp pumice
#

thats when its unloading the world

civic zephyr
sharp pumice
dusky sable
#

Lets hope this works 🤞

civic zephyr
#

You should add to knownhostiles

young pumice
quartz plover
#

Good luck on your search for potential customers ^^

dusky sable
civic zephyr
#

Sure try that but the way that they check the component in a sensor implies that it is for entities it is aware of that it happens to be hostile towards

#

And the knownhostiles lists is a list of Refs not entitytypes

dusky sable
#

Yeah it doesn't work. I could try constantly updating it to se if it works

dusky sable
civic zephyr
#

Which one did you try? KnownHostiles?

dusky sable
#

I tried closest hostile, but I'll try that one now

civic zephyr
#

Yeah try that first and if that doesn't work then would have to look for something else

north current
#

im having issues with some plugins not working on my cloud server vs dedicated. can anyone help?

dusky sable
#

Doesn't work. I wouldn't be surprised if its immediately being overridden since the player is out of line of sight. Could I just set the entity's target position close to the target and let it automatically detect the target when it gets close?

civic zephyr
#

You are actively fighting the sensors and theres no spot between the sensor and the bodymotion activation

#

Pathfinding NPCs was why I had to make a custom sensor to feed my pos

dusky sable
#

ah..

civic zephyr
#

They're roughly the same problem

dusky sable
#

The Hytale Devs didn't need to make this so complicated lol

civic zephyr
#

The way the NPCs work is like

NPCBrainUpdate:
  Interaction:
    Sensor: (Passed? Update info)
      Bodymotion.runWith(sensorInfo)
#

No spot to override the sensor without removing it as theres no gap between sensor validation and bodymotion moving

dusky sable
#

hm

civic zephyr
#

Its a fine system if everything you want required a cause and action

#

Distance, damage, etc

#

But internally the whole NPC system is an absolute mess, it took me a day to understand the damn thing

dusky sable
civic zephyr
#

There are chained interactions inside interactions and interactions followed by other interactions

#

JSON defined hellscape state machine

knotty goblet
#

Im trying to create a bat house that acts like a chicken coop for bats. I have the model, the bats drop poop when I kill em so the drop file for them is working. But they wont use my block as a coop. Anyone know what I might be missing? I created an NPCGroup for them to be registered as an acceptable group but still nothin

sick epoch
#

Hi everyone. I just wanted to ask if it is possible to create free servers for 2 or more players on Hytale, or do we still have to wait for that?

desert apex
willow tusk
#

Is the referToServer stuff broken in the latest update? I have this code which definitely worked a couple of days ago, which no longer is:

        event.referToServer("blastmc.tech", 5520);
    }```

It is registered, and I _do_ get the redirect info on my client, but then I see this screen:
#

well I can't send an image, but 'An unexpected error occurred.' in the disconnect message

lucid spire
#

whats the best was to check if a player walked over a block?

the naiive aproch would be to loop over every block i want to check for every player every tick, but that would escalate very quickly:
50 players, 20 blocks, 30 TPS = 30000 checks a second

desert apex
jade sky
#

hmm ive tried doing ref.getPosition() and store.getComponent(ref, TransformComponent.getComponentType()) but it keeps telling me position is 0,0,0

junior rapids
#

Hello, some have managed to attach custom components to players so they can be saved in the game files. Mine always returns null with player.getReference().getStore().getComponent(player.getReference(), this.getManaPlayerDataComponent()); How do I set a value for this codec for a given player?

civic zephyr
civic zephyr
#

Right I mean the context

#

Command? Event? When are you running world.execute

jade sky
#

shouldnt matter much, but it's playerpacketfilter -> my event system -> world.execute()

civic zephyr
#

It does matter thats why im asking you

#

Being vague is not helpful to me

jade sky
#

when its called through world.execute it runs on the world thread afaik

#

other values are correctly gotten, but position is 0,0,0

civic zephyr
#

If the player is not fully made then their position is likely not correct is what im saying

ebon gale
#

anyone have a issue with the eyespy HUD mod ?

jade sky
civic zephyr
jade sky
#

oh im apparently being sent to 0,0,0 as well when i do getPosition, but only like serversided.... my client visibly looks at the position im at

sharp pumice
civic zephyr
jade sky
#

nope

civic zephyr
#

Its just a regular packetwatcher? If you want to get the players position every tick you don't need to packet watch

jade sky
sharp pumice
civic zephyr
jade sky
civic zephyr
#

Is that working for other things and providing you the data? I haven't seen anyone use that, you can use a regular PacketWatcher and register it with registerInbound

#

You can implement a PacketWatcher

jade sky
civic zephyr
#

You can get the playerref back from a packetwatcher the handler is different and an instance of GamePacketHandler

tough spade
#

I created a Tameable Pet Mod for a Shy lil Mushroom character. I also have some videos on how I made it on YouTube

jade sky
#

i don't really like your attitude, you could at least try to consider that i'm not a new java developer

jade sky
tawdry lion
civic zephyr
#

Im not having an attitude im genuinely just trying to help you

tawdry lion
#

By using a watcher, it runs on its own thread thus improving results and preventing later issues

jade sky
civic zephyr
#

The packetwatcher has all the functionality you could want

#

You get an instance of the packet in the handle override

jade sky
desert apex
civic zephyr
#

Again im not sure how many people have used that to success it might genuinely have something wrong with the backend system

polar ore
#

Could we get a tpa mod for the server

civic zephyr
jade sky
civic zephyr
#

What do you mean by "filter"? Theres no auto cancellation I suppose but you can zero the data before the server handles it

jade sky
desert apex
civic zephyr
#

You can zero the data before the server handles it I've "cancelled" packets fine

jade sky
#

PlayerPacketFilter is a function which has PlayerRef and Packet, so i dont have to do any extra work to get it, then if i return true it cancels the packet (filter)

jade sky
civic zephyr
#

Yeah I understand but if your filter is cancelling movement packets when they get to the server for seemingly no reason then maybe the filter is whats doing it haha

jade sky
#

and if the packetwatcher runs on a separate thread, it'd either have to be blocked by the protocol threaed before processing it, or it just wouldnt do anything at all

#

which if it was the first it would be completely useless to use a packetwatcher because it'd just stall the other thread anyways

tawdry lion
#

In the event of a lag spike, your event hook could return invalid/incorrect data, that’s why it is best to run it on its own thread as it captures everything without skipping in the event of a spike

jade sky
#

when i register tasks, it adds it to the queue. the queue is then ran 1 by 1

civic zephyr
#

Okay lets just get back to square one then since you don't want to move off the filter, is all data just getting ignored by the server without you doing anything?

jade sky
#

in the order that they were added. this means regardless of "lag" or "async things", since the world.execute() task is run on the same thread (so the same queue), it will run the same order on the world thread as well

#

this again also does not relate to my problem whatsoever

civic zephyr
#

Are you intentionally cancelling the packet then trying to readback the data?

#

Why is the packet watching needed if you just want the players position?

tawdry lion
#

The data can still become invalidated from the world thread in the event of a spike, that’s just from my testing that being said

jade sky
jade sky
civic zephyr
jade sky
civic zephyr
#

Thats why im asking, im confused if you want help here

jade sky
civic zephyr
#

You think that if you cancel the inbound movement packet to the server and readback the serverside position back on the world thread of the player it would have the position?

jade sky
#

hytale does not invalidate packets, this is not C++ with poor memory management, this is java with a garbage collector that removes objects if they are no longer referenced, which in my case they still are

jade sky
#

this is the dumbest conversation i have ever had dude what the hell

civic zephyr
#

The transform component is updated on the server via the positional data consumed by the packet

jade sky
desert apex
civic zephyr
#

If the server doesn't handle it then it won't update the transform!!!!

desert apex
#

Common for highly optimized network logic

jade sky
jade sky
civic zephyr
#

Thank you thats fine but your other two points are just so wrong and you keep repeating them as if they made sense

jade sky
#

i am not using teh packet data nor am i cancelling it or reading it later

jade sky
civic zephyr
#

You're having another conversation, this is unrelated to what you're doing, just your misconception that im addressing

jade sky
#

😭 🙏

civic zephyr
#

You might have to focus on other things and get back to me because im not sure why you believe to be correct here

#

Im sure you aren't cancelling the packet, im literally only talking about your "If I cancelled the packet it wouldn't matter cause the serverside position of the player would be correct" which it wouldn't be

#

We can focus on the actual problem im just letting you know that thats incorrect

jade sky
desert apex
civic zephyr
jade sky
#

and this doesnt matter anyways because im not cancelling the packet

jade sky
civic zephyr
#

Im not im just addressing your misconception

jade sky
#

your "If I cancelled the packet

royal mural
#

Finally finished the rabbit queue system to deliver rewards automatically to players

jade sky
#

ragebait 😭 🙏

civic zephyr
#

Im not saying you did, im just saying thats wrong

civic zephyr
desert apex
civic zephyr
jade sky
#

this is the point where you realize you're in teh wrong so you're attempting to get the last laugh, i understand it's hard to admit you're wrong but i won't partake in this ragebait any longer 🙏

civic zephyr
#

You might be a bot

jade sky
# civic zephyr Point 2 and 3 there are incorrect

point 1: im returning false always, this means the packets arent cancelled. this means anything along the basis of "if you cancel" is invalid
point 2: i'm not reading the data of the packet, this is just a true statement, there is nothing on this to be "wrong" i am literally looking at my code and i am only using the timings of the event, not the actual data of tyhe events
point 3: when i return true, it stops it from being processed, this does not imapct the data of the packet since it'll only be 'zerod out' once it becomes garbage collected (which is after 0 pointers are remaining)
i am not cancelling the packet and wondering why my position didnt update, since again im not cancelling it. i'm also not saying that if i cancelled it my position would still update, obviously it wouldn't

royal mural
civic zephyr
#

Incorrect is the wrong term more like unrelated

jade sky
#

so again, i'm not going to argue on this when you are just lying

strange trout
#

🍿

jade sky
tawdry lion
#

🍿

civic zephyr
strange trout
#

you want some extra butter ? @dusky compass

#

@tawdry lion

jade sky
civic zephyr
#

You said if you cancelled the data (Which you didn't) it wouldn't matter

tawdry lion
#

Wrong @ pal and yes, this is truly fascinating 😂

desert apex
#

It's nice entertainment

jade sky
civic zephyr
#

I was initially trying to help you but you refused any suggestion and when I asked for further information you just said it was unrelated

tawdry lion
#

Want a beer with yours? @strange trout

strange trout
#

sure cheers

tawdry lion
#

🍻

jade sky
desert apex
#

Did anyone check if the packets are re-used/pooled objects or they allocate/GC it every time anyway? Kinda curious now

strange trout
#

🍻

civic zephyr
jade sky
#

which are easy access to playerref and the ability to filter packets

spiral marsh
strange trout
#

Dinner and a show here

crimson reef
hazy anvil
#

Has anyone tried to cancel a player's movement, sprint, or crouch? After my own experiments, sprinting and crouching seem to be client sided and can't be affected by the server.

Has anyone else come to a different conclusion?

tawdry lion
jade sky
civic zephyr
#

The packetwatcher provides the information you need and you still haven't considered that you not doing anything relating to the packet and yet the data is still not being processed by the server unrelated to the packetfilter, which it might be, but you haven't even considered the possibility, which is confusing

tawdry lion
#

But the GC is volatile

civic zephyr
#

What do you think the transform component gets updated by?

jade sky
tawdry lion
jade sky
hazy anvil
civic zephyr
#

Right thats completely correct, which is why I just said it would effect if you've read the transform component back

tawdry lion
#

🤨

civic zephyr
#

Which you've just agreed with me on haha

hazy anvil
lucid spire
#

I tried to make a map full of water like this

{
        "From": 16,
        "To": 50,
        "BlockType": "Fluid_Water",
        "Environment": "Env_Zone1_Plains"
}

but the water is solid so you can walk on it and you cant swim etc.

hybrid aspen
#

hi, i was reading all the wikis/docs that i could find but i wasnt able to get the api methods that can get the player with the playerRef, does anybody knows how to do this?

jade sky
#

yes this is what ive been saying the whole time

and related to the playerpacketwatcher vs packetwatcher, all that playerpacketwatcher does is wrap the packetwatcher and just call ((GamePacketHandler) packetHandler).getPlayerRef() to which i say, why would i need to do this myself?

oh and, it doesnt run on a separate thread for any of these. lol

civic zephyr
#

Im starting to think you might have just misspoke about 20 minutes ago and you didn't realize you did

tawdry lion
dusk nebula
#

How i can support, i buy the game and my acc got the game but i cant log in the game

tawdry lion
#

Also I find it fascinating how 2 individual humans have just argued about whose right whilst agreeing

We truly are blessed with communication during these days of the inter web

hazy anvil
tawdry lion
strange trout
tawdry lion
civic zephyr
#

No winners just a pointless waste of time

jade sky
strange trout
#

going for a next round?

civic zephyr
#

No (To HageneeZ) just the filters are wrapped like watchers when they're provided the packet but they are specialized during receive

patent stag
#

hi!!! how i can use translation in commands using .lang file? there is an example?

tawdry lion
civic zephyr
#

Which can be fed into Message.translate as mentioned above

patent stag
#

private final RequiredArg<PlayerRef> textPlayer =
            this.withRequiredArg("player", "myplugin.commands.echo.text", ArgTypes.PLAYER_REF);
    private final RequiredArg<String> textArg =
            this.withRequiredArg("text", "myplugin.commands.echo.text", ArgTypes.STRING);
``` this is works?
strange trout
#

Oooo new launcher with PATCHNOTES!

civic zephyr
#

If

commands.echo.text

Is defined in a myplugin.lang file in Server/Languages/YourLanguage yes it should

tawdry lion
#

Message.<type>() returns a string, by specifying it’s a translation that should do the trick

civic zephyr
#

Im not sure if requiredarg needs a message wrapped

#

I'll have a look, I think it just takes a string and it assumes the translation

tawdry lion
#

No it doesn’t, but I think specifying a translatable does

civic zephyr
#

I've just checked the vanilla commands they use translation keys directly

#
protected final RequiredArg<Float> damageArg = this.withRequiredArg("amount", "server.commands.camshake.damage.amount.desc", ArgTypes.FLOAT);
tawdry lion
#

My bad then I thought it was interpreted as a literal unless specified

civic zephyr
#

Hytale is strange and the result returned by getPosition on transforms is not a copy its the direct vector3d object that the position is actually reading from

#

Im making a quick watcher just to test it now with world.execute

jade sky
#

apaprently running getTransofmr sets the position to 0,0,0 it's a messup on hytale's part

civic zephyr
#

You can just call getPosition on the transformComponent

jade sky
#

yes does the same thing

civic zephyr
#

It still sets it to zero?

#

Im spinning up a quick test plugin

opaque cape
#

Alright. Now I've made a Mod, What mod should I make next hmm

dusky sable
opaque cape
opaque cape
kind osprey
dusky sable
civic zephyr
# jade sky yes does the same thing

This is working for me:

@Override
    public void accept(PacketHandler packetHandler, Packet packet) {
        if (packetHandler instanceof GamePacketHandler handler) {
            if (packet instanceof ClientMovement clientMovement) {
                var playerRef = handler.getPlayerRef();
                var ref = playerRef.getReference();
                var store = ref.getStore();

                store.getExternalData().getWorld().execute(() -> {
                    var transformComp = store.getComponent(ref, TransformComponent.getComponentType());
                    System.out.println(transformComp.getPosition().clone().toString());
                });
            }
        }
    }

Do not mind the use of sout I just couldn't be arsed to get the logger

opaque cape
civic zephyr
kind osprey
loud eagle
#

I have a problem with the game. In single player, the game works stably, but if I try to connect to a server or create my own server, after 3-5 seconds the game freezes and crashes the computer. However, all buttons do not work. The only thing that helps is to restart the computer. can anyone help?

jade sky
#

im not doing anything different to that, i don't know why that issue was happening

civic zephyr
opaque cape
civic zephyr
#

Have you fixed it?

jade sky
civic zephyr
#

Sure

jade sky
civic zephyr
#

What was the issue? Just not using getTransform?

opaque cape
sage mango
#

Hey I made a new mini game mod but It needs 2 players to start, would anyone like to be my tester 🙂

sage mango
kind osprey
#

I’m deadass going to learn to make mods. I just got an awesome idea, if anyone wants to give it a try the idea is to enhance necromancy with new books and skeletons. At least that’s the gist of it

high bane
kind osprey
high bane
kind osprey
#

A week ain’t that bad tbh

#

What are those mods about tho?

jade sky
final pulsar
#

What ECS event is related to inventory changes/picking up items?

robust raven
#

I'm sure this has been asked a billion times (sorry!) but... Out of curiosity, is there an official modding template? I saw one from a place called the Hytale Modding Wiki but I don't know if that's official..

high bane
high bane
robust raven
high bane
civic zephyr
#

I don't believe theres an ECS event just related to InventoryChanges

#

Nevermind there is an LivingEntityInventoryChangeEvent

#

But its not an ECS event just a regular one

round cove
#

Does anyone have a host I could test with?

I need to test a mod.

quartz plover
opaque cape
#

What mod are you testing?

pulsar oak
#

how does one disable the breaking of blocks for players

round cove
round cove
quartz plover
#

It's rather suspicious to just ask others to run your code on their device

round cove
quartz plover
#

Plugins are code

round cove
#

Just place the plugin inside the server.

quartz plover
#

And it gets executed?

opaque cape
#

What does your mod do?

round cove
#

It's just an RPG mod where the player has to complete some missions.

quartz plover
#

Ngl I don't get why you aren't able to make a server yourself

opaque cape
#

Doesnt really sound like you need someones server, Why not just test it in singleplayer

quartz plover
#

The server comes alongside the client install

#

You merely need to move the mod to the right folder and java -jar HytaleServer.jar

round cove
#

Can you use the mod in single-player mode? I didn't know.

opaque cape
#

Its all running on the same server, Singleplayer just starts a Server locally

round cove
#

PS C:\Users\AVELL\Downloads\Hytale> java -jar
[2026/01/28 01:11:08 INFO] [PluginManager] - Hytale:CommandMacro
[2026/01/28 01:11:08 INFO] [PluginManager] - Hytale:Instances
[2026/01/28 01:11:08 INFO] [PluginManager] - Hytale:LANDiscovery
[2026/01/28 01:11:08 INFO]

young edge
#

Whats the best value server hosting for 3 people?

loud minnow
#

is there a way to disable the auto tree breaking?

fickle pecan
loud minnow
#

What

fickle pecan
#

:)

i have no clue

zenith moat
young edge
zenith moat
young edge
civic zephyr
young edge
# zenith moat See my point.

mate if your just gonna be like that, why reply in the first place, most people when they see my question they would either reply with an actual answer or just not reply at all

loud minnow
civic zephyr
#

Its called NotRealisticTrees

zenith moat
civic zephyr
#

Its on curseforge

royal mural
#

Bruh what a useless argument

unkempt musk
young edge
loud minnow
young edge
civic zephyr
zenith moat
civic zephyr
#

Are you hosting a server or are you playing singleplayer cause you'll have to turn it on if you're in singleplayer

livid narwhal
#

🇧🇷

quartz plover
#

Has anybody tried to make the client launch a different binary than the java server?

young edge
quartz plover
#

I've been trying to make a server impl of my own, so it'd help if I can also launch it from singleplayer

royal mural
young edge
zenith moat
unkempt musk
quartz plover
#

It's pretty clear they were indeed asking about which hosting providers have the best value for their buck
Maybe not the context in which they're going to run the server, but that's wildly different from just buying hardware to accomplish it locally

royal mural
young edge
zenith moat
young edge
zenith moat
#

I host a lot of stuff on my own hardware, whether it be a laptop or server.

young edge
zenith moat
royal mural
#

I have a 64gb ram vps in ovh, 0 issues so far

#

Actually I’m hosting my server there and also other services like discord bot, apis, rabbit, etc

young edge
royal mural
#

Nitrado and cybrancee are different platforms haha

young edge
#

ah okay

jaunty shoal
#

Any java docs yet? Or any good resources for decomp jar docs?

opaque cape
#

Claude can index the server files and answer questions

jaunty shoal
opaque cape
unkempt musk
primal raven
#

Guys, I create a new world with a plugin using UniverseaddWorld... how can I set this new world as main world at runtime?

When users logs in, they are teleported to this world

unkempt musk
#

But yeah, if you want to jump in the deep end, buy a root server for a month and try to fiddle with it 😄 so much freedom, but with the cost of a bit more of setting up and troubleshooting.

stray pasture
royal mural
jaunty shoal
royal mural
#

It’s not me who asked 😀

#

The guy just wanted to rent a server that works out of the box

stray pasture
jaunty shoal
#

What do you even mean by that. Its so simple. Ive done it mannnnny times

zenith moat
#

Yeah you have done it many times.

#

What he literally said.

royal mural
#

If you do it properly and have to start dealing with permissions, services, firewalls reverse proxies etc, is not that easy for someone without experience 😂

stray pasture
jaunty shoal
#

You guys must be simpletons

zenith moat
#

Nope. You can't read properly.

royal mural
#

Haha

stray pasture
jaunty shoal
zenith moat
jaunty shoal
royal mural
#

Always talking who shouldn’t lol

zenith moat
jaunty shoal
jaunty shoal
stray pasture
# jaunty shoal Of course?

Awesome! Then what ever you state should automatically assume 7 years of deep programming and technical understanding.

royal mural
jaunty shoal
zenith moat
#

Please do the needful.

cinder dust
#

Why is slang so ass now

royal mural
#

Anyone here worked with grafana before?

jaunty shoal
royal mural
stray pasture
zenith moat
#

Only a simpleton would believe that.

stray pasture
#

Now I can write something faster with AI, but I still need to understand it.

jaunty shoal
fickle pecan
#

so i have a entityparticle.json in Resources/Server/Entity/Effects but when i apply an effect using effectcontroller with key: "com.jammingmods:SkavenPoison_Effect" i dont see any particles around the target (its derived from base poison).
any help with this since i dont know

royal mural
swift knot
#

is there a mod to keep animals from clipping through fences when growing up

jaunty shoal
#

Not slop, get with the times. Ive been running a software company for 7 years and cant believe how simple this is in todays world with all the access and tech everyone has at their fingertips

royal mural
#

The thing is that non of us care because we are not the ones asking how to build a server

jaunty shoal
#

Are you seriously telling me that hytale server setup for 3 friends needs a comp sci degree to figure out?

royal mural
#

You might know how to cook and still go to a restaurant, ain’t u

civic zephyr
opaque cape
#

You definitely dont need AI to figure out how to setup a Hytale Server

stray pasture
normal reef
#

Anyone know how to access / modify a component of an offline or other world player?

vast yacht
fickle pecan
civic zephyr
runic jewel
#

Yerp

civic zephyr
#

Yeah just the name is fine no need for .json

arctic nymph
#

is your gears going to be a downloadable mod

royal mural
vast yacht
jaunty shoal
last matrix
jaunty shoal
#

Stop the cope

stray pasture
stray pasture
#

Lol, I am not searching linkedins after being told that people are not as technically inclined as many of us.

jaunty shoal
#

Im gonna bounce. Just stop trying to big dik in hytale discords its embarrassing

jaunty shoal
zenith moat
stray pasture
#

I have plenty of experience and projects to back up my claims. And a linkedin to prove it! 😄

royal mural
#

All this just cz a guy was asking where he could host a server for 3 friends 😂😂

stray pasture
#

That man really took the route, navigating through Discord connections to my GitHub, to my portfolio to my LinkedIn. 😂 Dang he's dedicated.

The cope was showin on that one. 😄

zenith moat
#

He just a troll. Most people dont know how to port forward or even use a terminal

royal mural
opaque cape
#

What the heck is going on in here

zenith moat
#

In case anyone is wondering. I have been programming since 2006. In various languages such as C#, C (not C++), Java, and many more.

#

Write video games (in C) and do web dev.

compact spoke
#

guys someone knows how to know more about when the client crashes for: Failed to parse or resolve document for Custom UI AppendInline command. Selector: <the selector passed> ?

exotic tulip
#

Lootr has already been released as a mod for Hytale! It's available on CurseForge.

fickle pecan
#

@civic zephyr do i need

{
  "ApplicationEffects": {
    "EntityBottomTint": "#0c290c",
    "EntityTopTint": "#075707",
    "EntityAnimationId": "Hurt",
    "WorldSoundEventId": "SFX_Effect_Poison_World",
    "LocalSoundEventId": "SFX_Effect_Poison_Local",
    "Particles": [
      {
        "SystemId": "Effect_Poison"
      }
    ],
    "MouseSensitivityAdjustmentTarget": 0
  },
  "DamageCalculatorCooldown": 5,
  "DamageCalculator": {
    "BaseDamage": {
      "Poison": 0
    }
  },
  "DamageEffects": {
    "WorldSoundEventId": "SFX_Effect_Poison_World",
    "PlayerSoundEventId": "SFX_Effect_Poison_Local"
  },
  "OverlapBehavior": "Extend",
  "RemovalBehavior": "Duration",
  "Infinite": false,
  "Debuff": true,
  "StatusEffectIcon": "UI/StatusEffects/Poison.png",
  "Duration": 10
}

do i need all of these for just the effect? i feel like some stuff is messing up things since 1: its lasting forever, 2: its proccing itself? i just need the visuals with a duration

opaque cape
#

I've been progamming since I was a kid, No idea specifically when

But I know, C++(ish) Game Maker Language, Javascript, A tiny bit of Python, And now a little bit of Java thanks to Claude Sonnet

civic zephyr
finite vault
#

oh boy here we go haha, someone belittled someone in this chat and now every's pulling out there cv's

civic zephyr
#

And the removalbehavior

zenith moat
#

Wanted him to make his claims before I pulled out the "my experience is greater than your age" card.

royal mural
finite vault
#

tbf, I don't think you need sys admin level skills to host a hytale server. (my 9 year old little sister did it more or less herself with a small nudge from me) atleast for your friends

opaque cape
#

Provided you already know how to code, AI can help level the playing field in most languages

opaque cape
royal mural
compact spoke
zenith moat
#

You dont need AI to learn other C like languages if you know one already.

If you are learning Lisp then maybe.z

finite vault
#

regardless im bringing out bad vibes

opaque cape
#

But you're right it shouldnt need much finagling

compact spoke
opaque cape
#

But Java is definitely not C like

royal mural
zenith moat
royal mural
#

We are just defending the position of someone who doesn’t need to know how to setup a server, he just want to play with some friends and that should be totally acceptable

zenith moat
opaque cape
compact spoke
zenith moat
opaque cape
#

C# is not C Like...

stray pasture
zenith moat
#

Yep

jaunty shoal
#

You guys are obsessed with me

stray pasture
#

A little bit

opaque cape
#

Nobody is even talking about you now fam

stray pasture
#

I am still think about you. - Just wondering how far I can make a navigation rabbit hole you would follow. 😄

opaque cape
#

if C# is C Like, Does that make JS also C Like?

stray pasture
zenith moat
#

Yes

opaque cape
#

if C# is C Like then everything is C Like

#

😄

zenith moat
#

Lisp is not. sml is not

stray pasture
zenith moat
#

Sql is not

opaque cape
#

How do you determine C Likeness

zenith moat
stray pasture
fickle pecan
#

a lot is rooted in C, thats the point 😭

devout cipher
#

why does every dev chat devolve into people fighting about what's best or correct :c

opaque cape
#

I guess we should come up with a new category then
Instead of C Like, I'd consider C# to be like a cousin of C
Where as something like JS could be more of a grandchild of C

royal mural
#

At this point js is binary

opaque cape
#

And C++ would be a Child or Brother of C

zenith moat
#

Nah. The C like thing is pretty standard in the industry.

fickle pecan
#

c# is java but cooler
i miss extensions
i miss the out keyword

opaque cape
#

Ok now here's the real question, What is C... like?

stray pasture
fickle pecan
opaque cape
#

Punchcard like?

stray pasture
#

C is C, it never wasn't C. You C what I mean?

fickle pecan
#

you should dispose you garbage NOW

opaque cape
opaque cape
#

So lets consider C as B Like.... Then what is B xD

zenith moat
#

I tried posting a highlander meme, but mods

fickle pecan
zenith moat
#

Drigid is better

opaque cape
#

I guess B could be Fortran like

zenith moat
#

Flat is okay.

royal mural
#

Some guy did a lib to develop hytale plugins in typescript

stray pasture
#

You know, if I could remove ALL but one langauge and eco system I would. 😄

opaque cape
#

JS gets to stay cause thats my day job

stray pasture
royal mural
finite vault
opaque cape
stray pasture
#

NUKE IT ALL!

fickle pecan
#

hey... can i edit a particle system live via the editor?

velvet fossil
#

is there a way to change the axe's sound in the asset editor

velvet fossil
#

how?

rancid obsidian
#

Editing a players inventory with the ECS, list of itemstack and is it correct to be trying to setInventory? Would really like some help to figure this out! Just want to be able to add items

modest arch
#

depends what sound

#

the hitting sounds are in the interaction iirc

velvet fossil
#

Ty that helped. But I have a new question if I make it fire a summon charge

#

is there a way to change that sound too?

modest arch
#

no idea what a summon charge is, but very likely that yes

velvet fossil
#

Trying to figure that one out rn

civic zephyr
#

If you just want to change an existing inventory, changing the itemstacks in the containers in an inventory is the right way to do it

opaque cape
#

I can share code that will let you blanket set the inventory, Its used as part of my server jumping mod

primal cypress
#

guys if i'm making a new tool that is like a wrench, and this wrench have an interaction that is used for linking two new blocks) i was thinking to link them via their UUIDs but my question is that, how can i be able to store the 1of2 and then 2of2 UUID of the two blocks? i was thinking to make a simple "Primary interaction" and when doing that the interaction will get the UUID but how can i store the uuid when i'm half of the connection (like tapping on the first of the two block)? i should make a whole new component for that wrench or i can make a private class or a structure or a normal variable that will be checked every time i play the interaction if exist or now

strong musk
civic zephyr
strong musk
#

lisp my beloved

stray pasture
opaque cape
strong musk
fickle pecan
#

how do the shape textures work?
if i look at the poison_face png its a sequence, does hytale convert this into an animation?

solemn trellis
#

how do custom UI work? I'm trying to make one but for some reason keeps crashing me from server/not even letting me join saying "Failed to Load CustomUI Documents", I've been following WIKI even used the example it gave but it just doesn't allow me to join saying "Failed to Load CustomUI Documents", any ideas where to start looking? I have it in Resources/Common/UI/Custom but that's not doing anything I've checked the UI file and there doesn't seem to be any issues, even from using the example... I cant seem to see what's, when I delete the UI file from the Custom folder it lets me join no problem.. but then OBV no UI will be loaded. any help would be appreciated.

primal cypress
solemn trellis
#

Sure ive tried a few different versions to see if it was anything i was doing.

$Common = "Common.ui";

Group {
LayoutMode: Center;

Group #MainPanel {
Background: $Common.@PanelBackground;
Anchor: (Width: 600, Height: 400);
LayoutMode: Top;

Label #Title {
  Style: (FontSize: 32, Alignment: Center);
  Anchor: (Top: 50);
  Text: "Colony Workshop";
  Padding: (Full: 10);
}

Label #PopulationLabel {
  Style: (FontSize: 20, Alignment: Center);
  Anchor: (Top: 10);
  Text: "Population: 0/0";
  Padding: (Full: 10);
}

Button #CreateButton {
  Style: $Common.@DefaultButtonStyle;
  Anchor: (Top: 10, Width: 300, Height: 50);
  Text: "CREATE COLONY";
  Padding: (Full: 10);
}

}
}

arctic mist
solemn trellis
#

Resources/Common/UI/Custom

#

Im using intellij

arctic mist
#

You might need to change the "Common.UI" path.

From that place its on "../Common.UI"

primal cypress
primal cypress
#
$C= "../Common.ui";

$C.@PageOverlay {
    LayoutMode: Middle;
....
....
$C.@TextButton #TextButtonConfirm {
                Text: "SEND";
            }
}

i've this in one of my pages

arctic mist
primal cypress
#

didn't know there was one native

solemn trellis
#

intellij auto puts my directories in my resources to . so it does read it as Common.UI.Custom but I thought it read it as the same? just was intellij way of doing it? would that have anything to do with it? I wish I could show screenshots lol make it easier

primal cypress
#

yeah, prob its the Common.ui path in the top of the folder

arctic mist
arctic mist
#

That is referencing to the Common.ui file available at server assets

#

Basically what you are doing when you have a custom UI plugin you are adding one folder with .UI files into the assets of the server

opaque cape
#

Is anyone working on an IndustrialCraft style mod?

arctic mist
#

Thats why you have to be very specific on where are the files that you are trying to use, in this case, Common.ui

solemn trellis
#

okayyy i seee so is there a way i can change Intellij to allow me to create the folder directory from main? so its in with java? cause when i do so.. it pushes it to the bottom of my classes and adds a 3 yellow bar/line to it? and then any directories I add to resources do xx.x.xx that make any sense?

#

because when I go look through file explorer its all setup through folders correct. its just intellij that shows it diff?

arctic mist
#

Its just IntelliJ way of formatting things

solemn trellis
#

Ohh okay so i just gotta change that line of code? to say otherwise?

rancid obsidian
#

Got the adding items to inventories working. Now my question is, what is the best way of going about adding custom names for said items? Case of I wanted the sword to be called "PvP" just an example

alpine drum
#

in the server lang file iirc

arctic mist
#

You just need to change this:

$Common = "Common.ui"; <-- This
$Common = "../Common.ui"; <-- To this
#

Or remove it if you are not gonna use Hytale UI lib

solemn trellis
#

Well it didnt work with

$Common = "../Common.ui";

so ill try deleting it or something else is the problem.

#

Yeah deleting that line didnt do anything still disconnects me on join

arctic mist
# solemn trellis Resources/Common/UI/Custom

Ok, try the following:

On Common/UI/Custom create a folder called Pages, on intelliJ it should look like this:

resources.Common.UI.Custom.Pages

In there paste your UI file and try one more time

solemn trellis
#

left with reason: Crash - Failed to load CustomUI documents

arctic mist
#

Do you have the server logs handy?

#

Its either not finding your UI or somethings is wrong with the syntax/page loading

solemn trellis
#

would it just be Logs folder?

arctic mist
solemn trellis
#

mmm im looking but im not seeing anything having issues... any Key words u think i could look for to help?

#

only that left with reason: Crash - Failed to load CustomUI documents

arctic mist
#

PageLoader or Page

solemn trellis
#

Cannot find either..

#

HOLD UP..

solemn trellis
# arctic mist PageLoader or Page

Only things i see with Page

[2026/01/28 03:09:56 WARN] [AssetStore|Interaction] Unused key(s) in '**Teleporter_Interactions_Use_Interactions_0': Page.WarpNameWordList [2026/01/28 03:09:56 WARN] [AssetStore|Interaction] Unused key(s) in '**Portal_Device_Interactions_Use_Interactions_0': Page.Config.GameplayConfig [2026/01/28 03:09:56 WARN] [AssetStore|BlockType] Unused key(s) in '*Prototype_Geyser_State_Definitions_Off': SoundEventId [2026/01/28 03:09:56 WARN] [AssetStore|BlockType] Unused key(s) in '*Prototype_Geyser_State_Definitions_On': SoundEventId [2026/01/28 03:09:56 WARN] [AssetStore|Interaction] Unused key(s) in '***Teleporter_State_Definitions_Active_Interactions_Use_Interactions_0': Page.WarpNameWordList

PageLoader does not come back as found with anything.

halcyon imp
#

Anyone able to help in configuration of the plugin template?

Keep running into the following issue, no matter really what I try:

FAILURE: Build failed with an exception.

* What went wrong:
Task 'shadowJar' not found in root project 'ExamplePlugin'.

Been at it for about an hour or two to get it to build and compile, but I'm stumped here.

opaque cape
#

Looks like something is trying to rely on that file

solemn trellis
#

ExamplePlugin is the Example it gives ya when u take it from their repo.

#

how i started off my Mod/Plugin which now im stuck on Custom UI bs

#

Wiki aint to bad but needs a good updating

#

might have to skip Custom Ui for now keep it as a command :/ which would suck

opaque cape
#

Oh hey

#

The Custom UI stuff is weird, You'll likely need to write your own UI Open Handler, I can share code for that

halcyon imp
#

it's the template that comes directly from realBritakee/hytale-template-plugin. It's the recommended one from the wiki, and it's supposed to be able to be compiled right out of the box. I just cloned it and piped it directly into my intelliJ But for some reason it keeps throwing these errors

#

I can't paste the full url because it keeps flagging me for attempting promotion

opaque cape
#
      "Use": {
        "Interactions": [
          {
            "Type": "OpenPortalSettings"
          }
        ]
      }```
#
        OpenCustomUIInteraction.registerBlockEntityCustomPage(
            this,
            PortalSettingsPage.class,
            "PortalSettings",
            (playerRef, blockEntityRef) -> {
                return new PortalSettingsPage(playerRef, blockEntityRef, CustomPageLifetime.CanDismiss, null);
            }
        );```
arctic mist
halcyon imp
#

what template did you guys use for the test plugins? did any of ya'll use a template for initial setup?

opaque cape
#

I used the ones by TroubleDev

halcyon imp
#

lemme check it out

#

I'll do some googling, it's just driving me nuts getting stuck on compilation/dependency/build issues. Almost as frustrating as some random, obfuscated runtime bug in prod lol

solemn trellis
opaque cape
#

I based my UIs off of TroubleDevs UIs as well

icy falcon
#

Does anybody know how Hytale assigns weapons to the R-attachment site? Trying to find the piece of code that assigns weapons there, or as dual-handed, or single handed. Want to see if its possible to assign a weapon being held to like a back-attachment slot instead (at least on the model)

solemn trellis
halcyon imp
#

I'm just gonna go with his for now. I'll look through the tutorials. Thanks!

opaque cape
copper anchor
solemn trellis
copper anchor
solemn trellis
arctic mist
#

Okay

halcyon imp
arctic mist
#

Sooooo im back with the tests. It says that this is not found inside Common.ui $Common.@PanelBackground;

copper anchor
arctic mist
#

There are some other errors inside your UI file, i just removed what was causing issues (style). here is the version that is running for me:

$Common = "../Common.ui";

Group {
  LayoutMode: Center;

  Group #MainPanel {
    Anchor: (Width: 600, Height: 400);
    LayoutMode: Top;

    Label #Title {
      Style: (FontSize: 32, Alignment: Center);
      Anchor: (Top: 50);
      Text: "Colony Workshop";
      Padding: (Full: 10);
    }

    Label #PopulationLabel {
      Style: (FontSize: 20, Alignment: Center);
      Anchor: (Top: 10);
      Text: "Population: 0/0";
      Padding: (Full: 10);
    }

    TextButton #CreateButton {
      Anchor: (Top: 10, Width: 300, Height: 50);
      Text: "CREATE COLONY";
      Padding: (Full: 10);
    }
  }
}

And here is the Page setup:

public class TestPage extends BasicCustomUIPage {
    public TestPage(@Nonnull PlayerRef playerRef) {
        super(playerRef, CustomPageLifetime.CanDismiss);
    }

    @Override
    public void build(UICommandBuilder uiCommandBuilder) {
        uiCommandBuilder.append("Pages/TestPage.ui");
    }
}

And here is how im calling it (from command):

Player player = store.getComponent(ref, Player.getComponentType());
HelloWorldPage page = new HelloWorldPage(playerRef);
if (player != null) player.getPageManager().openCustomPage(ref,store, page);
#

You might need to take a look inside the Asset editor on the Common.ui to see what you actually need for your UIs

#

On the asset editor you can go Common > UI>Custom and Common.ui so you can read what the actual file is doing

frosty scroll
#

is there anyway I can hover over an item in game and somehow paste it's ID into the chat window?

#

or do I have to manually type the dang ID out

solemn trellis
#

thanks a lot I appreciate the help!

analog knoll
#

Still no way to fix asset load order! Vanilla properties constantly overriding modded properties!

icy falcon
#

Is there any way to modify where weapons attach? Trying to set it to Back_Attachment instead of R_attachment

warped rivet
#

is the Hytale CDN down? I cant dowjnload the HytaleServer.jar

dusky sable
olive flint
#

Is the plugin system in a state where I can make a VTT?
I need: A detachable camera controlled by WASD, the ability to click on objects using the mouse with different default actions and context menus (ex. toggle doors with a mouse cursor), per-player persistent character sheets, the ability to toggle look and mouse modes using something like tab, UI buttons to represent different actions like box selection and placing, and potentially fog of war

silver remnant
#

Anyone know how to get the max height of the position in the world?

dusky sable
#

Does anyone know how to make a scoreboard UI scale with the number of lines?

olive flint
#

nice

opaque cape
#

Might experiment with developing a power system could be a fun mod experiment

fast turtle
#

anyone have a link to the base motion controller for the player

#

like the variables

opaque cape
#

A Solar Power mod might be neat

#

Or just like an Electricity Mod in general

silver remnant
#

is there a way to get the max height of a position in the world?

kind osprey
opaque cape
kind osprey
opaque cape
worthy oracle
#

IMO purely mechanical power has it's charm too - water wheels, steam engines, gravity batteries. Like in Timberborn

opaque cape
#

I saw someone already working on a mechanical power mod

#

I think I'll let them do that

kind osprey
#

I have a question. Do y’all do all the coding and stuff from the game itself? I heard there is this built-in coding mechanism in the game right? Is it as easy as they say or nah?

opaque cape
worthy oracle
#

Also electricity in a high fantasy-ish setting would require some background lore in order to not break the immersion INO?

tropic axle
#

What is the difference between Message#raw and Message#parse? How does the parse method actually work

opaque cape
#

Idk man, I dont think it needs any background lore tbh

frosty scroll
#

random lightning strike!!! haha

opaque cape
#

If it was part of the vanilla base maybe

worthy oracle
kind osprey
#

When gambling mod 😭

opaque cape
#

I mostly just want to broaden my modding skills after that server jump mod

#

Which was fairly simple tbh

worthy oracle
#

Also a low-effort "fix" could be to replace everything "electric" with "magic" - "magic energy/mana", "magic circuits", "magic conductors channeling the mana" 😅

kind osprey
opaque cape
kind osprey
#

You see? Like how do you even do that 😭

opaque cape
#

Its just an HTTP Server xD

#

We send the Inventory as json and apply it on the other side

kind osprey
#

I struggled to make a berry bush drop a seed this morning and you come up with this jaja

kind osprey
opaque cape
#

Inventory.encode

kind osprey
#

Make some crystals to stick to your bag and the mana can recharge itself automatically without any potions or anything. And the crystals could be recharged at home with the electricity thingy

worthy oracle
#

Is there somewhere an introduction/documentation/tutorial on modding Hytale targetted at programmers?
I have experience with programming, I work as a backend developer, but I have no experience whatsoever with game modding... 😅

opaque cape
#

Though inventory sync requires a bit more complexity than simply sending and applying the inventory

#

You also have to consider duping

silver remnant
#

is there a way to check for max height at coords?

opaque cape
#

Without a primary server solution that becomes slightly complex

#

If you just have a central db server its not as complex

#

My solution opted for the more complex version to not need a middleman server

worthy oracle
opaque cape
#

If you join a server without authority we call the main server which is always kept notified of authority

#

The main server will either call the server of authority for the inventory, Or if the Main Server has authority we will find the inventory locally

zinc sail
#

Got a question for anyone who can answer. I've got a Shockbyte server and am trying to update it to the latest version. Can't do /update download cause expected assets.zip and launcher script to be in same directory. I haven't changed any files so I'm not sure what that means. Anybody got a suggestion?

opaque cape
#

Server Jumping in this context is the act of using the portal my mod adds to jump to another server

worthy oracle
opaque cape
#

We also have a list of expired transaction ids and also reject any payload older than 30 seconds

#

And if a server of authority should crash or be gracefully shutdown, It will attempt to hand authority (and the inventories) back to the Main Server

kind osprey
#

If you use that mod to go from a let’s say aternos server to your single player and you were to die and loose all your items in the single player, will you still have everything in the aternos server or will it be lost?

arctic mist
opaque cape
opaque cape
#

With a full inventory it can be as large as 32kb

arctic mist
opaque cape
worthy oracle
#

Maybe implement a blockchain? XD

opaque cape
worthy oracle
tropic orchid
silver remnant
opaque cape
kind osprey
tropic orchid
opaque cape
#

But thats an unlikely scenario

#

If you shut down the singleplayer server of authority it will immediately attempt to hand authority to the main server

#

So youd have to somehow kill the main server first all while not physically having access to it

kind osprey
#

That’s doing too much. I rather just enter creative mode 😭

#

Anyways. I’m trying to practice on this coding thingy, what’s an easy thing I could do? I know I’ve given weird ideas, but nothing I can do at this moment :b

opaque cape
#

Though were talking about a hypothetical scenario where the Main Server has your own network as a trusted source and you know the encryption key

#

Extremely unlikely outside of testing scenarios

opaque cape
#

Try implement a water fountain idk

worthy oracle
opaque cape
arctic mist
kind osprey
kind osprey
#

I know print

arctic mist
kind osprey
opaque cape
#

May be worth looking into standard coding tutorials first

#

I already knew programming so did not feel the need to go through basics of Java

kind osprey
#

I did, but there is a lot of different “coding language“ and all that. I don’t know where or how to start tbh

strong musk
#

well, you would probably be using java for hytale(because while you could learn kotlin or any other language with jvm interop, I would suggest java first)

opaque cape
#

What is the difference between Kotlin and Java

#

I dont even know which one im using lmao

strong musk
opaque cape
#

Oh ok, Im definitrly using java

arctic mist
opaque cape
#

I thought maybe they looked similar xD

kind osprey
#

I thought java was just the thing that Minecraft used to run 🫠 I didn’t know it was a coding system LMAO

strong musk
#

they do, sort of
they are both C style

opaque cape
#

Kotlin looks like a shittier JS

olive flint
#

ooh, kotlin works?

strong musk
olive flint
#

i was considering looking into clojure bindings too

opaque cape
strong musk
olive flint
#

oh yeah, totally forgot i wanted to look into getting a clojure REPL going so I could do arbitrary additions at runtime

#

tested out a working one with Spigot on MC before

strong musk
#

I had a repl mod day one lol

olive flint
#

pfft nice

kind osprey
strong musk
#

I havent published it yet though

strong musk
olive flint
#

the one I saw on Spigot required a bunch of Java workaround jank to get working

opaque cape
olive flint
#

no, witchcraft was another i was looking at

strong musk
#

ah, yeah, I have used that one in the past, its pretty nice, despite needing like, 1gb of deps

opaque cape
#

I remember the days of having to manually delete META INF

wary lion
olive flint
#

i think it was clj-minecraft? it had macros that auto-converted functions to clojure conventions

strong musk
#

oh thats cool

opaque cape
arctic mist
tidal mauve
#

bro dont start with python

kind osprey
#

Why?

opaque cape
#

Start with JS

tidal mauve
#

it will teach you all the wrong things

olive flint
#

start with C

opaque cape
#

Start with assembly

wary lion
kind osprey
#

Huh

#

I understand like 50% of the stuff y’all are saying

opaque cape
#

Manipulate the hexadecimal values in a hex editor

strong musk
tidal mauve
#

if you want to learn programming, start with like pascal or C, then go for java

silver remnant
#

guys how can i get a block entity by coords and get its type

opaque cape
kind osprey
#

Make it 0% now

wary lion
strong musk
olive flint
opaque cape
tidal sandal
opaque cape
#

So you dont have to reimplement the entire game

strong musk
silver remnant
#

guys how can i get a block entity by coords and get its type

strong musk
olive flint
#

i imagine, but it's nice to think about

kind osprey
#

Fk it. I’m asking chatGPT

olive flint
#

imagine a server that uses WASI for plugins

wary lion
#

i'm working on a hytale server fork purely for minimum memory usage for minigames i'm just wrapping the world systems into smaller chunks using quantization including chunk data, entity states and movement

strong musk
#

yeah, fair, honestly I think it will be mostly helpful for people implementing servers down the line, sort of like a reference implementation for packet processing

summer ibex
#

Is there a good and working Factions plugin?

strong musk
#

its in relatively readable C, and the packet processing macros are very readable(well, using them is, the macros look like C macros)

olive flint
#

macros in C? are you using compiler plugins?

silver remnant
#

guys how can i get a block entity by coords and get its type

opaque cape
strong musk
wary lion
#

also changing the way events are implemented because holy they're kinda a mess

strong musk
#

its never used in a way that is particularly horrible, except for the bit where there are recursive includes

#

heres my connection packet def:

STRUCT_S(con_connect,
     NULL_BITS(1,
           NULL_BIT(identity_token, 0)
           NULL_BIT(referral_data, 1)
           NULL_BIT(referral_source, 2)
           )
     F(int, int32_t, protocol_crc)
     F(int, int32_t, protocol_build_number)
     F_FXD_L(ubyte, uint8_t, client_version, 20)
     F(ubyte, uint8_t, client_type)
     F(uuid, uuid, uuid)
     OFFSETS(,
         VAR(username,
             F(var_str, lstr, username))
         IF_VAR(identity_token,
             F(var_str, lstr, identity_token))
         VAR(language,
             F(var_str, lstr, language))
         IF_VAR(referral_data,
            F_VAR_L(byte, int8_t, referral_data))
         IF_VAR(referral_source,
            F(host_address, host_address, host))
         ))
kind osprey
olive flint
#

Oh yeah, speaking about the Clojure REPL, how well did it work? Are the queries pre-compiled or can you arbitrarily register new components and systems?

strong musk
olive flint
#

ahh, makes sense

wary lion
strong musk
wary lion
#

why didnt i think of that 😭 i literally spent 7 hours writing documentation on the server including networking & protocol

strong musk
#

lmao
I was stuck dealing with it though, to be fair

silver remnant
#

guys how can i get a block entity by coords and get its type

wary lion
#

literally a whole section on protocol

strong musk
#

ah wait, nvm

crimson kayak
#

got a question about the ui stuff. im working on a computer mod that actually functions like a computer with the desktop, app store, ect. i wanna make a web browser type ui but i cant figure out how i can take some kind of page style to translate it into a ui template that allows custom web page designs and not all looking the same. is there a way to create a .ui file and load it while the server is running or do i just have to create multiple template uis just to achieve this?

strong musk
#

my brain pulled a "read bolded text without context" moment lmao

#

and therfor only saw "QUIC + TCP Networking – High-performance networking via Netty"

wary lion
strong musk
wary lion
#

ive seen it working first hand

strong musk
#

oh, interesting

wary lion
#

they patched the client and the sever

strong musk
#

aah, that makes more sense

wary lion
#

thanks for letting me know about that mistake i should have noticed i was super tired setting up the wiki page and i wasn't thinking about the home page

#

thats why i want people to be able to help strengthen the documentation and create forks i plan to keep the documentation up to date all other documentation ive seen is out of date or just plain wrong

steep wigeon
exotic ocean
#

has anyone figured out how to add AI to mounts? or even just simple movement? i cant seem to move the player along with a mount since mounds seem to be controlled 100% by the client. Once the player is on, the server cant change the position.

arctic nymph
wary lion
steep wigeon
pliant hound
#

how do i change name of an item with item stack? Like, i want that chest to have other name

dapper loom
#

Anyone have luck with AOE projectiles? My Asset Editor keeps crashing each time I use the Selector, with ID of AOECircle

pine needle
arctic nymph
pine needle
pliant hound
#

the display name

pine needle
#

hmm, as far as i can tell the only way right now seems to be creating a new asset for it, there doesn't seem to be a display name in ItemStack or with metadata which is strange.

pliant hound
#

so I'd need to create a chest that already exists in the game, but with a different name? Damn

pine needle
#

You should just be able to copy the asset of what ever item you want and overwrite or create it as a new asset

pliant hound
#

yes, I just think it's too much of a hassle for something that could be simpler. I hope there will be a display name option in future updates

#

ty ❤️

pine needle
velvet fossil
#

Hey yall does anyone know how to use the asset editor to make it so the staffs fire 3 projectiles off instead of 1?

storm nest
wary lion
# velvet fossil Hey yall does anyone know how to use the asset editor to make it so the staffs f...

Look at my bio, I have docs on my org GitHub, I’ll be adding an asset editor section too and making tutorial videos, but I have lots of info on the asset system in general for programmers, btw if you see any errors or misinformation, please let me know and I’ll get it fixed asap, also you can create forks of the wiki and become a contributor by expanding or fixing parts of the docs, also translations coming soon.

tropic axle
#

How do I send packets to a Player?

finite vault
#

Has anyone figured out when applying velocity to an entity/player, to cap the speed?

fathom sentinel
#

what are good Rank plugins for a server that dont combat with a factions plugin so I can see a players rank on the server their faction then player name

humble bronze
#

Is it possible to convert a world file to an instance and put it into the server assets easily?

velvet fossil
west elk
humble bronze
tropic axle
#

How do I open a Chest container for a Player?

wary lion
# velvet fossil How does this even answer my question

Just letting ppl know, I don’t have any asset editor tutorials rn, but I have info and examples of using assets in code, it may have been useful information for making what you’re looking to make, I apologize, I thought it would be helpful

west elk
humble bronze
#

Thank you!

inland palm
#

Any modders that wants 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!

late yarrow
#

Hello there is any plugin for codelock house doors?

velvet fossil
#

Does anyone know how to use the asset editor to make something fire multiple projectiles

west elk
velvet fossil
#

Didn't even think about that

#

Could just copy that over yes indeed that would work and then if I wanted to do only 2 hmm yea

tidal thunder
#

Is it possible to add a tab button next to the Inventory and MAP buttons in the inventory?

minor oasis
#

So, I'm currently generating terrain from code and it works quite well. I'm stuck however on creating biomes. To my understanding, HytaleGenerator has prop pipelines that it would call but that doesn't apply to already generated chunks. So I'm a bit lost here, because regular V2 biome config does not seem to be programmatically possible. (I don't want to keep track of every block my code has placed just to manually spawn props on them).

Any hints or ideas?

rotund walrus
#

hey guys, not sure if its the right channel but i guess the updater counts as a plugin
what are the configuration params for the updater? i can't really find this in the docs, maybe I'm blind
I have "Update": {} in my config.json but don't really know how to set it up. right now I have to run hytale-downloader in the container manually and then restart the entire thing, not really convenient

glossy shadow
rotund walrus
woven halo
#

Is there any plugin which is similar to use like worldedit //wand?

glossy shadow
rotund walrus
#

ah I see, got it, thanks a lot

rotund walrus
# glossy shadow Valid values are ``` Enabled: Boolean CheckIntervalSeconds: Integer NotifyPlayer...

So i guess something like this could work nicely?

"Update": {
  "Enabled": true,
  "CheckIntervalSeconds": 1800,
  "NotifyPlayersOnAvailable": true,
  "Patchline": "release",
  "RunBackupBeforeUpdate": true,
  "BackupConfigBeforeUpdate": true,
  "AutoApplyMode": "SCHEDULED",
  "AutoApplyDelayMinutes": 10
}

if i understand right currently new players couldn't join after their game is updated so it's best to update right away when there is a patch
also i have the built in backups off as I plan to solve that myself, so maybe i should keep that setting off

glossy shadow
#

Try and see lol

rotund walrus
#

yeah fair i just sent it just in case i made some glaring obvious issue lol

main wyvern
#

how can i add a Description to an custom item ?

steel coral
#

How to get coordinates of a plyers location?

tribal venture
#

How can I spawn a block in the world using the API?

west elk
west elk
steel coral