#Get client-side player from server-side event level
22 messages · Page 1 of 1 (latest)
Once your ticket has been resolved, please close it with </ticket close:1054771505520717835> command!
if (event.entity.level.isClientSide()) {
// everything here will be client sided
}
that if never passes unfortunately
no, just looks like its only server-side
I have the function being called in client scripts btw
you are listening on startup and using global to delegate to client_scripts?
yeah
let me see
startup.js
const $PlayerChangedDimensionEvent = Java.loadClass("net.minecraftforge.event.entity.player.PlayerEvent$PlayerChangedDimensionEvent");
ForgeEvents.onEvent($PlayerChangedDimensionEvent, event => {
global.playerChangedDimensionEvent(event);
});
client.js
global.playerChangedDimensionEvent = event => {
event.entity.tell("1");
if (event.entity.level.isClientSide()) {
event.entity.tell("2");
}
};
player recieves "1" but not "2" when crossing dimensions
and I need client-side so I can apply deltamovement/motion to the player
I checked Forge/Minecraft code and it happens only on server side
i think just like normal, eventually when the server sends the package with info it will refresh on client side? just try
also doing on client looks like cheat
alright so it looks like it causes the server to think I have motion but it's not reflected on the client
as in I can't see it happening but my position server-side is getting updated