#dev-general

1 messages · Page 42 of 1

agile galleon
#

whys the code of the people that contributed a mess?

wind patio
#

because there are N people who did

#

and everyone shits however they want

#

lol

static zealot
#

Yes except that there's review processes.

#

At least for paper, its pretty good

#

In my limited experience

#

Spigot is a mess in general

wind patio
#

I suppose so

agile galleon
#

Yeah Spigot ehh but Paper I've seen pretty well

pastel imp
#

Paper hopefully will rewrite some stuff after hard fork

wind patio
#

rewrite minecraft from scratch when

inner umbra
#

Alot of people do xD Just never complete it.
One guy is open sourcing his version.

wintry plinth
#

Haha are these all yours? I don’t mind the ping btw, I nearly scrolled past as I didn’t see it 😂

wind patio
#

looking to optimize the server further, since upgrading to 7950x3d didnt do much lol

wintry plinth
wind patio
#

yeah its weird, we noticed its almost as if the performance got worse

wintry plinth
#

0.0, let me know how you get on with testing and your own patches, even in DMs

#

I’d be intrigued how much you can boost for that chip

wind patio
#

every so often it maxes out a single core and tps starts dropping

wind patio
#

thought thats going to be at least like 20% increase in performance, because we upgraded from quite an old one

#

though server owner was doing janky stuff without real understanding on how stuff works and removed incubator vector jvm flag for pufferfish SIMD

potent nest
#

pufferfish simd stuff is a joke anyways

wind patio
#

yeah thats just a showcase of how im doing all of these things for better performance all to find out he changed some settings without me knowing

#

I remember when he kept thinking ticks-per for mob spawns lower value was better and setting it to 1

#

until I explained it to him like 5 times lol

wind patio
#

I saw a few such as Leaves, Plazma

potent nest
#

I'd assume most of them don't know what they're doing

wind patio
#

one named G.. idrm the rest

potent nest
#

If an optimization isn't in paper, there typically is a reason for it

#

(e.g. it doesn't actually optimize anything or it isn't safe/changes vanilla behavior)

wind patio
#

I had a look at few patches, some of them do make some sense

wind patio
#

because we have some things that dont need vanilla behaviour

#

and better of would sacrifice that behaviour for even a small amount of performance gain

#

time to implement my own janky folia 😎

pastel imp
#

I never understood why paper forks don't just PR lol

wind patio
#

prob cuz they know it wont be accepted lol

pastel imp
#

why wouldn't it though?

wind patio
#

or at that point where they want their own identity such as purpur

wind patio
#

I suppose paper team has their own vision of whats acceptable and whats not

#

even if it would make sense to be included in paper

static zealot
wind patio
#

Id assume some of the patches new forks do might work and would pass as acceptable but as they keep expanding there may be more of the ones that wouldnt and people dont bother PRing

half harness
#

why didn't paper PR into spigot? 🤔

wintry plinth
static zealot
#

Has anyone here tested Nvidium? The numbers in this video are insane: https://www.youtube.com/watch?v=LX3uKHp1Y94

wind patio
#

The boost is noticeable, yeah

#

Maybe not as advertised unless you have 4080

distant sun
#

Every time I try to edit a commit msg

real pagoda
half harness
#

it'd be super cool if it had iris support but i don't think it's coming 🥲

lost cypress
#

Hello. Is there someone who could explain what this error could be from?

[warning][gc,alloc] Tuinity Chunk System Worker #0: Retried waiting for GCLocker too often allocating 567698 words
[7:36 PM]
We are receiving this error along with it stating that our server is running ticks behind. Once it gets to a certain point its kicking us.

We use Gportal and have 12GB of Ram allotted.

real pagoda
#

any1 know what cause this ? the place that dont have pixel is now black

inner umbra
#

Merge all the layers then save.

real pagoda
inner umbra
#

If it's code... make sure you don't have a background color set to black when drawing the image.

inner umbra
real pagoda
#

maybe i should do this...

real pagoda
#

i think its my code issue

#

i do have a renderer that draw shape base on the vertex position and order if no texture is presented

lost cypress
#

Is there a server host that you all recommend that would be better than gportal for a public server?
How many GBS would you recommend for a server with around 100 plugins?

real pagoda
#

seem quite ok

real pagoda
real pagoda
pastel imp
humble prism
#

support has been known to be garbage (atleast used to be) and telling people to wipe their worlds due to oom issues caused by revive nodes old flags

pastel imp
#

I mean, I just listed a few, some friends have used it and had no issues

#

hence why I recommended it, but if that's true then yeah.

#

there's also novonode?

sly sonnet
#

Novonode is good yeah

ivory crow
#

Anyone know how servers use texture packs to have images in chat? Take play.respawn.org for example, they have colorful prefixes, images in their tab, etc. And even do "custom items" with their models, I'm curious about that too.

onyx loom
#

most people here will recommend intellij

#

its community edition is free

indigo gust
#

can I register a expansion without a identifier?

wind patio
#

unlikely

#

better of - fuck around and find out

indigo gust
#

so ig I will have to do my own parser

crude cloud
#

wat

potent nest
wind patio
#

yeah hes creating placeholder api from scratch

static zealot
#

String.replace

#

easy

#

I've recreated PlaceholderAPI from scratch

wind patio
#

real

#

everyone thinks PAPI is something big behind the curtains

#

its just one line of code

wintry plinth
#

😭

inner umbra
#

What is the difference between replace and replaceAll?

half harness
#

while replace just replaces

distant sun
#

replaceAll is a misleading name, it uses a regex as dkim said

inner umbra
#

👍

distant sun
#

A proper ide will yell at you if the regex string is invalid

indigo gust
orchid wyvern
#

hey devs, any idea how to fix that issue, that if you use shaderpacks, you cant use emotes / gestures via custom models on players? But without shader its working great. With shader my skin looks like this. its a known issue. I thought about working with a datapack instead of working with like ItemAdder and HMCCosmetics for player models that could be triggered thrue plugin command or as an addition. Custom new added Mobs Models are function tho, and custom models for existing mobs like sheep and so on are also function like you can see in FreshAnimation-Resourcepack. But only models for the Player would course a graphic bug with interfere using a shaderpack. Its super weird.

#

would maybe help using vulkan instead of opengl? If its a limitation of minecraft, working with Datapacks could solve this then maybe somehow instead of using plugins? what would you guys say. I dont know what to do and playing MC without shader would be really bad for our players, of course. Any Idea would help actually how to fix that somehow 7248hidethepainharold

remote goblet
#

feeling terrible

cinder flare
#

damn never heard of sertraline before

#

but it seems very useful!

long dagger
#

Anyone have any experience with the new TextDisplays?

#

I am trying to set a width and having it left align, however it stays being centered.

#
this.entity.setBillboard(Display.Billboard.CENTER);
this.entity.setAlignment(TextDisplay.TextAlignment.LEFT);
this.entity.setLineWidth(100);
real pagoda
#

any1 know why line 92 is making a null poiter exception ?

#

seem like a conflict between imgui backup obtaining current context

            if (ImGui.getIO().hasConfigFlags(ImGuiConfigFlags.ViewportsEnable)) {
                final long backupWindowPtr = org.lwjgl.glfw.GLFW.glfwGetCurrentContext();
                ImGui.updatePlatformWindows();
                ImGui.renderPlatformWindowsDefault();
                GLFW.glfwMakeContextCurrent(backupWindowPtr);
            }

and the window init

real pagoda
#

oh, i forgot to call in for the init 💀

wind patio
#

real

real pagoda
#

oh boi imagine the commit of 1 line change 😭

potent nest
#

I mean that happens all the time

wind patio
#

or fixup

ocean quartz
#

org.lwjgl.glfw.GLFW. lovely packages

drifting yoke
#

Hey guys, Does LuckPerms from velocity receive the events from backend servers?

#

I tried registering some luckperms events in my velocity plugin and no output, so I figured maybe it can't even listen to events executed in backend servers.

wind patio
brittle leaf
vagrant current
#

how can i make URLs clickable im minecraft

real pagoda
#

hmmmm look like memory leak of some sort

#

the backgroud animation still going, but the mygui stuff is freaked out and it report frozen

real pagoda
potent nest
#

What about using a profiler or taking a heap dump to find out if it is a memory leak?

crude cloud
real pagoda
#

bruh

#

just realize i type why instead of will

but the problem is maybe the imgui stuff is not being refresh each frame

real pagoda
real pagoda
#

seem like a bit too much memory usage for a test scene

wind patio
#

who needs a profiler when you have task manager

real pagoda
#

woah it just crashed window explorer lmao

#

i think i look at the wrong place, it only use around 500mb, but the cpu usage is like 17%, of which are very simple animation, i dont think it would consume that much power

pastel imp
wind patio
#

upcomming triple A game

real pagoda
drifting yoke
#
 public RankChangeListener(LuckPerms luckPerms){
            EventBus eventBus = luckPerms.getEventBus();

            eventBus.subscribe(DataTracker.getInstance(), NodeMutateEvent.class, this::onNodeAdd);
        }

        private void onNodeAdd(NodeMutateEvent event){
                        DataTracker.getInstance().getLogger().info("Node Changed.");
        }

Shouldn't NodeMutateEvent be called whenever Im adding perms to groups/users or changing user groups etc?

My function is not even being executed. I'm using Velocity, and UserDataRecalculateEvent works fine, but I need this to work.

crude cloud
#

the event will be called on whatever LuckPerms instance that processed the change

#

if you add a node from the proxy LP, the event will fire on the proxy LP; if you add the node on a server LP, the event will fire on that server

drifting yoke
#

So I should listen to plugin messaging instead?

#

UserDataRecalculateEvent is called upon all instances once a recalculation is required but Node events only in the instance of the specific server?

crude cloud
#

the data recalculate event is fired because the data is reloaded from storage and so it ends up being recalculated; server A makes a change, server B is told something changed, but it doesn't know if something was added, removed etc

drifting yoke
#

Does plugin messaging give sufficient info so I can run whatever I need from my velocity instance?

crude cloud
#

no

#

all messaging means just say "something changed, reload this user's data"

drifting yoke
#

So no option other than making a second plugin for backend..

crude cloud
#

depends on what your goal is

drifting yoke
#

I have a velocity plugin that tracks domains and sends messages through discord webhook and I wanted to check if rank changed then send webhook. But I guess it has to be seperated now.

crude cloud
#

that'll be the best way yeah

agile galleon
#

Or just make all rank changes on velocity

drifting yoke
#

How do I escape dots in a config value to avoid confusion of nesting?
www.google.com: value

#

With the configuration of paper

remote goblet
#

off the top of my head, try String#replace(".", "\.");

drifting yoke
#

\. is an illegal escape character

potent nest
#

just put it in ""

drifting yoke
#

What do you mean?

wind patio
#

its '/'

drifting yoke
#

Still don't understand.

potent nest
#

"www.google.com": value

wind patio
#

wait no idrm

wind patio
drifting yoke
#

I tried this. Doesn't work.

wind patio
#

doesnt let you specify it or what

drifting yoke
#

It deletes the quotes itself

wind patio
#

what about "[my.key]": value

#

im not on pc so cant check

drifting yoke
#

and then replace the squares?

wind patio
#

suares?

drifting yoke
#

replace squarebrackets

#

or should it be native to configuration api?

wind patio
#

uh not sure

#

depends on the impl

#

could try looping all the keys and checking what you get

drifting yoke
#

That doesn't work either. I'll try just replacings dots with dashes. Although, if anybody finds a way to use dots lmk

wind patio
#

if it doesnt work you could instead replace the dots to, lets say, - or _ before getting/setting the key

#

whop

drifting yoke
#

Great minds think alike, M...

potent nest
#

_ would be better because - is allowed in domains

wind patio
#

or any other wacky character that works w yml

drifting yoke
potent nest
#

sure if you think it's a good idea to write code that isn't future proof from the very beginning already

drifting yoke
#

underscores don't work either. They get cut for some reason so dashes are the ones!

agile galleon
#

Wth

civic cairn
remote goblet
slate elk
#

free text cloud

#

that stays for ever?

#

and that allows to create custom URL's

inner umbra
#

Don't know of any... but sounds easy to make.

slate elk
#

not looking to host those.

#

i can make it

#

i wont host it

#

...

half harness
slate elk
#

that allows to upload some text and it will stay for ever

#

?paste

compact perchBOT
#
FAQ Answer:

Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
HelpChat Paste - How To Use

half harness
#

helpchat just uses hastebin

#

made by an active member in the JDA server

#

and of course

inner umbra
#

Well I was completely off on what you were asking for lmfao. Gonna keep the idea to myself though incase I ever want to make it now.

slate elk
#

its quitely the only reason why not

half harness
#

use a public pastebin

#

a lot are permanent

#

they just ask that you don't spam it and stuff

inner umbra
#

I think hastebin and its forks are the only ones non permanent right?

half harness
#

hastebin is non permanent yeah but i think helpchat pastebin is permanent

#

im not sure tho

#

actually

#

idk

#

i just used discord search feature and like 2020 helpchat pastes dont work

#

then discord dropped its magnifying glass 🥲

inner umbra
#

Mobile?

half harness
#

pc

#

¯_(ツ)_/¯

slate elk
#

is there any with an API?

#

or nah

inner umbra
inner umbra
half harness
#

all that I've listed above have an API

#

hastebin, pastebin/helpchat, gobin, pastes.dev

inner umbra
slate elk
#

pastebin has

#

gonna see the limits

half harness
inner umbra
#

Ah

inner umbra
half harness
slate elk
#

yeah i saw their API

#

also wants Dev key

#

lmao

#

nah i aint doing that

#

hmmm cause final goal is save IPv4's

half harness
inner umbra
#

👍

whole ravine
#

so im a python dev and im curious about learning java for minecraft purposes. but im also wondering how i could still utilize python in a mc server workflow?

#

ah wait i guess i can make an api that uses server data, using sanic

sly sonnet
#

Python skullclown

distant sun
#

?nojquery moment

static zealot
compact perchBOT
#
FAQ Answer:

Why you shouldn't use jQuery

  • jQuery is a legacy library. Standardized features like querySelector, CSS animations, and fetch make many of its features obsolete.
  • Using jQuery over standard features is a waste of bandwidth.
  • Because jQuery is so bloated, using jQuery often means using jQuery for everything, which means you learn less about standard web development.
  • jQuery has fallen out of fashion, and full frameworks (React, Angular, Vue) are more popular.
  • jQuery's cross-browser support can be substituted with the few polyfills you actually need. This also makes it easier to update when features become better supported.
  • If you really just want a shorthand for querySelectorAll, consider bling dot js.
long dagger
#

anyone know if there is a way to keep a player's nametag even when they have a passenger?

static zealot
# compact perch

Because jQuery is so bloated, using jQuery often means using jQuery for everything, which means you learn less about standard web development.

jQuery has fallen out of fashion, and full frameworks (React, Angular, Vue) are more popular.

These 2 points together don't make a lot of sense.

wintry plinth
#

I’m not sure why we have a “no jQuery” FAQ for a Minecraft discord 😅

static zealot
tribal plinth
tawdry night
#

Ok for some reason discord pops up an upload failed error whenever I try to send messages in #development

#

@final scroll

slate elk
real pagoda
#

when you want to offset a few line of code into another class kekw

quaint isle
#

At our company we've always named our git branches like this
fix/dashboard-pie-chart-showing-to-non-premium-users

however when looking up recommendations and best practices, most sites suggest something short like fix/dashboard-content.
Is there a reason why a shorter branch name is prefered or why our more descriptive approach is bad/pointless?

wintry plinth
#

Probably because the PR will say more information about it

potent nest
#

Yeah I’d say it’s mostly pointless, unless you’re working with many branches in parallel

halcyon leaf
#

%changeoutput_>=_input:{edprison_currency_killpoints}_matcher:{edprison_calc_(({edprison_variable_changeable_kp_booster}*{edprison_variable_changeable_kp_booster})*2)*150}_ifmatch:&a&l✔_else:&c&l✘% why is this not parsing?

simple crown
#

Try adding %utils_parse_changeoutput_…

#

Also, Don’t forget to install the utils extension

#

/papi ecloud download Utils

halcyon leaf
#

%utils_parse_changeoutput_>=_input:{edprison_currency_killpoints}_matcher:{edprison_calc_(({edprison_variable_changeable_kp_booster}*{edprison_variable_changeable_kp_booster})*2)*150}_ifmatch:&a&l✔_else:&c&l✘%
like this?

simple crown
#

Let me know if you have any issues

halcyon leaf
simple crown
real pagoda
surreal garnet
#

Ooh, what’s the end goal for that?

real pagoda
real pagoda
real pagoda
#

Im_dead im tired

wind patio
#

brrr

#

get flexed on kid

#

(im going insane)

surreal garnet
surreal garnet
real pagoda
#

is this color look ok to the eyes ?

wind patio
surreal garnet
#

For this https://i.imgur.com/TWkQZmw.png

Took me too damn long, and I just put a line on the wrong line… I was raging in vc and was like why the hell isn’t this working then I asked my other friend and was like that’s why. 🤦‍♀️

#

Like the emojis were the biggest pain

static zealot
# quaint isle At our company we've always named our git branches like this `fix/dashboard-pie-...

We use the issue/ticket code for this (prefix + incrementing number). For GitHub issues where the code is just an incrementing number, I got used to using issue/<nr>. Whenever there isn't an issue I can link, I either open one if possible or stick with short naming.

Using the issue/ticket code is pretty nice because:

  • it lets others almost instantly know what the branch is for about even when there is no PR open yet and commits are just "oops", "shit", "fuck", "here we go again", "I hate my life"
  • chances of conflicting branch naming are pretty much impossible unless multiple people are working on the same issue
  • it makes finding old branches pretty easy (if for some reason you don't delete them when merged)
real pagoda
#

ray casting suck 😭

crude cloud
real pagoda
real pagoda
#

interesting, it seem like my program sometime crash the windows gamebar

real pagoda
potent nest
#

looks like bad math somewhere

real pagoda
#

some1 pointed out that it is " wrapping the spites based on position instead of width"

real pagoda
fluid creek
#

baole can you help me?

real pagoda
#

ummm

#

i

#

i honestly dont know

fluid creek
#

just a sec

real pagoda
#

what is the problem

fluid creek
#

could i send you photo in dm and you try to figure out?

real pagoda
#

idk, maybe you could send it here, some1 could help you also

fluid creek
#

i cant send photos here is blockd

real pagoda
#

....

#

no

oblique heath
#

use an image sharing website

real pagoda
#

it is not blocked

#

unless it is with permission and stuff

#

anyways if you need help with coding and stuff, send it here and maybe some1 can help you

fluid creek
#

how to send it?

#

i dont have the option to it

oblique heath
real pagoda
#

use an image hosting service

#

and if it is minecraft plugin code

#

i might not be able to help you

fluid creek
#

oh wait have it on pc cant send it anyway

fluid creek
half harness
#

one of those channels

fluid creek
#

i did

long dagger
#

I was thinking, if you have a paid plugin, why not post it yourself to the nulled forums and stuff, but purposefully make it not work. Then people who do post legit plugins won't post yours cause it is already on there, and the people who download it don't get a working version.

long dagger
#

Instead of going through the work of like keys and stuff

oblique heath
#

until someone reposts yours as a result of the one currently up not working

#

but still worth a try tbh

long dagger
#

It would stop most

#

Although ig they were never going to pay anyways so it doesn't matter

long dagger
simple crown
long dagger
#

Their nulled forums, their TOS doesn't mean squat

simple crown
#

No, I mean the official sites

#

BBB and Spigot dont allow that

long dagger
#

It's not the same plugin thoufh

simple crown
#

Youll get banned for leaking your own plugin with a backdoor

long dagger
#

It's just one that looks like it but never works

half harness
#

thats not a backdoor

long dagger
#

And how will they ever know it's me

simple crown
#

Oh

#

I thought he meant like have a backdoor

long dagger
#

Nah

#

I just meant have a million errors so they give up trying

half harness
#

idk how moderation works there

simple crown
#

Mostlikely ^

long dagger
#

Yeah not sure

#

Anyways I bet half of the nulled forums plugins have backdoors in them

oblique heath
#

rookie numbers, we gotta get those numbers up

long dagger
#

Fr

half harness
real pagoda
#

just generate a new user key and distribute it as a gift kekw

simple crown
#

Just create a temporary license that works until it hits a random number of players lol

long dagger
#

Or just have some sort of troll mechanic in jt

#

Like randomly teleport players 5 blocks behind them so they think are lagging

#

Spawn a clown skin in the distance until they look at it, then it disappears

#

No one will believe them

simple crown
#

or after a random amount of events it just stops working with no errors

real pagoda
#

funny mouse position i got there ....

wise prawn
#

I want to add a chat reaction bot to my server i didn't find any bot

pallid gale
#

Ours is custom so that's probably why you didn't find it

real pagoda
#

bruh

#

i can post the error file if some1 know how to look into it

potent nest
#

that's the fun part of doing native stuff

#

but the log might contain a stacktrace that allows you to trace down where the issue is in your code

real pagoda
potent nest
#

nope not that one, in the hs_err file

real pagoda
#

oh

real pagoda
potent nest
#
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.lwjgl.opengl.GL30C.nglGenFramebuffers(IJ)V+0
j  org.lwjgl.opengl.GL30C.glGenFramebuffers()I+20
j  org.lwjgl.opengl.GL30.glGenFramebuffers()I+0
j  render.ObjectSelection.init(II)Z+1
j  render.ObjectSelection.<init>(II)V+7
j  TCB_Field.Window.get()LTCB_Field/Window;+24
j  Main.main([Ljava/lang/String;)V+0
v  ~StubRoutines::call_stub 0x000001a5d2c610e7

this is probably the part you should look into

real pagoda
#

hmmm

#

oh the first 3 is opengl stuff so that is not the blame

#

so it probably at render.ObjectSelection.init

#

that is a frame buffer init

#

unless the error happening when i call this object in windows to imguilayer :/

#

i have assertion in frame buffer so that break then it should already tell me that framebuffer did not finish

real pagoda
#

I FIXED IT

#

screw constructor im gonna pass the value into my function

real pagoda
#

i just realized that the viewport position in my code is completely f-ed 💀

#

the white line is supposed to go from bottom left to top right

real pagoda
#

yeah my viewport coordinate calculation is completely f-ed

real pagoda
wind patio
#

what exactly is this and how is it created in git?

#

don't quite get it lol

potent nest
#

submodules

wind patio
#

so, basically
using the same example of server fork:

I have a root and two sub-modules -> ForkAPI, ForkSERVER
each sub-module has their own repo?

potent nest
#

Yeah they’re their own repository, that’s basically how the patch system works for paper forks

pastel imp
#

wait wuuuuuuuuuuut

#

never saw this in my life

#

lol

wind patio
#

I've seen it several times

#

always wondered what that is

real pagoda
whole ravine
hardy hull
#

@heady grove

#

look dm

real pagoda
wintry plinth
#

Hi all, for those who've got public Minecraft plugins that use storage adapters, like MySQL / MongoDB / YAML etc, which ones do you provide support for within your plugin?

E.g. MySQL + YAML, or just MySQL, etc

onyx loom
#

anything but yaml

wintry plinth
#

What's "anything"? What do your live plugins support

potent nest
#

MySQL/SQLite are good choices

prisma wave
#

if you insist on using flatfile at least use json

remote goblet
#

i also go for mysql/sqlite but its kinda dependant on what the plugin actually is

wintry plinth
#

Ah thanks all, I've been looking to work on a few plugins and wanted to see what storage types folks typically support these days

#

I didn't want to start supporting MySQL + SQLite + Mongo if people only support a small selection

remote goblet
#

sqlite can be pretty universal generally most people wont have any issues with it

#

mysql and mongo is less common but most servers that would those options should already know how to use it

prisma wave
#

Mongo is fairly uncommon I think

#

I wouldn’t ever add it unless clients explicitly said they wanted it

#

Especially since most hosting providers only give sql access

remote goblet
#

^

#

same with redis

wintry plinth
#

Good point, thanks - think I'll stick with MySQL + SQLite then 🙌

pastel imp
#

yeah, 100% agree

#

those 2 are the best options

cobalt marlin
#

if there is the option

pastel imp
#

postgresql is good but not known by many

#

mysql is provided by basically all hosting providers

#

which makes life easier for the user

remote goblet
#

needing to support anything else is kinda dependant on the plugin popularity

prisma wave
#

ya

#

and vice versa

remote goblet
#

the only plugin that hasnt seem to have gotten that memo is essentials but

pastel imp
#

xD

remote goblet
#

they're in too deep for that

pastel imp
#

essentials sucks anyways

remote goblet
#

any plugin in that sub category suck commonly

#

at least essentials doesnt have performance issues and apparently security vulnerabilities

wintry plinth
#

The best trick in 2024 is to check GUIs by their title amirite

remote goblet
#

thats true

#

i was talking about that one cmi bug but i actually dont know how it was replicated

wintry plinth
#

Theres a CMI bug? :o

remote goblet
#

earlier this month

#

was never too sure how it was replicated but

wintry plinth
#

Oh god

remote goblet
#

yeahhh

wintry plinth
#

First we had Log4J situation, now all of this

#

And that anti-cheat thing I heard with issues too

remote goblet
#

vulcan yes

#

and deluxecombat

#

and inventoryrollbackplus

#

spigot gui tutorials got the community in a frenzy

wintry plinth
#

What's the modern / safe approach these days for GUI stuff?

remote goblet
#

Inventory Holders i believe

#

generally just creating your own instance of InventoryHolder and if (Inventory#getHolder instanceof YourHolder)

wintry plinth
#

Ahhh interesting, thanks for that - will take a look at these then

#

I want to finally get back into building plugins, it’s been a while doing something with databases, GUIs etc

remote goblet
#

enjoy if you can!

#

i like making plugins but i hate making them public

#

aka i hate Robella from United States for doing a 1 star review on my plugin after never attempting to contact me and likely never reading plugin requirements

wintry plinth
#

Hahah, yeah - I bet 😂 I’d like to make some plugins for my server that use a DB etc, but it’s always so tedious with boilerplate

remote goblet
#

as more as core plugins are kinda Dead

#

if you were making plugins for a specific server, creating a common library thats shared between all plugins is a preferred route imo

wintry plinth
#

I think I’m looking towards building my own library for DB and other utils, I’d open-source it anyway but yeah.. it would be good to have a nice ORM for it

#

Also looking forward to using the latest Java & mc stuff, rather than being tied to old shit

#

Like I’ve had to support Java 8 and 1.8 still on stuff, and I hate it

remote goblet
#

im a firm enjoyer of new java versions

potent nest
#

every sane dev is

mystic dagger
#

Before it became a bloated mess

remote goblet
#

bloat is when something adds incredible quality of life improvements to a project

wintry plinth
#

For stuff like Tebex Analytics, I’ve had to use okhttp for requests (as only modern Java has some native HTTP stuff). It means that I end up with a huge jar file

#

I know people say it doesn’t matter, but to me it does 😂

remote goblet
#

my 18mbps enjoys small file sizes

mystic dagger
#

You don’t really have to use okhttp even if you’re not on 11

#

It bundles both okio and the kotlin standard library, it’s one of the worst libraries if you want to keep size down

wintry plinth
wintry plinth
#

It needs to be Java 8 and above

mystic dagger
#

We had to keep the plotsquared jar small to ship through spigot and also support Java 8

#

In general I’d avoid using okhttp (only real reason to use it is through retrofit) and use feign instead as it’s a lot more versatile, but I’m not sure if they ever had a build for 8

wintry plinth
#

Woah!! Thanks for sharing this, I’m gonna check it out. I’d love to get our jar sizes down, as I do hate how big okhttp makes it (because of the bundles dependencies)

mystic dagger
#

Mfw I join and instantly start advertising my crap

ocean quartz
#

Classic

wintry plinth
#
GitHub

The official Minecraft plugin for Tebex Analytics. - track/plugin

GitHub

The official Minecraft plugin for Tebex Analytics. - track/plugin

mystic dagger
#

Looks simple enough where http4j would suffice

wintry plinth
#

Yeah it’s often just a simple POST, or retrieving data from API to be honest 😂

#

I could see us changing the Tebex plugin to use this as well

mystic dagger
#

It’s a decently thin wrapper around the ancient Java client which was a nightmare to use

#

In modern Java it’s almost fine to use the official http client but I’m still a sucker for feign (which can use the j11 client as the implementation)

wintry plinth
#

I hated how frustrating it was to deal with api requests for Java 8 to be honest, modern versions have native stuff, but older stuff is shit

#

Yeah you’ve beat me to it 😂

distant sun
pastel imp
pastel imp
real pagoda
#

another (almost failed night)

slim pilot
#

So i am trying to load data from mysql and i get this error

distant sun
#

-testing WHERE PlayerUUID

slim pilot
#

how would i fix that

#

i just started learning mysql today

distant sun
#

what is -testing, is that the name of the table?

slim pilot
#

the database

#

well it should be

#

s6_Webhead-testing

distant sun
#

A database has multiple tables and queries are for tables. I'm not sure but - might not be allowed for table / column names

slim pilot
#

hm ok

#

thanks

real pagoda
oblique heath
#

definitely a good idea especially if you are just learning, lets you see if they work or not immediately

distant sun
real pagoda
#

is it possible to rebuild a project that was previously run on java 6 now on java 21 ?

#

in term of compatibility

ocean quartz
#

Java 6??

real pagoda
ocean quartz
#

Dear god

real pagoda
#

pls dont tell me i will have to write a new physic engine fear

#

just tested with java 17

#

also not supported

potent nest
#

that error message doesn't sound like you need to use Java 6, you just need to properly configure your pom

real pagoda
#

what shoudl i do

#

try java 8 ? woahflosh

potent nest
#

no, set the java version in your pom

real pagoda
#

well at least it is still maintained

real pagoda
potent nest
#

show it

real pagoda
potent nest
#

and the Project SDK is set to 21 as well?

real pagoda
#

yeah

ocean quartz
#

Make sure to also update the plugins versions

real pagoda
#

anyways i will go and get java 8 on my machine

potent nest
#

what's the output when you run mvn package in the console?

crude cloud
#

that isn't going to fix anything

real pagoda
crude cloud
#

no, of the maven plugins in your pom file

#

just send the entire pom lol

real pagoda
#
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <artifactId>jbox2d</artifactId>
        <groupId>org.jbox2d</groupId>
        <version>2.2.1.1</version>
    </parent>
    <artifactId>jbox2d-testbed-jogl</artifactId>
    <version>1.0.1</version>
    <packaging>jar</packaging>
    <url>http://code.google.com/p/jbox2d/</url>
    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
    </properties>
    <description>Project for making a jogl panel for the testbed</description>


    <dependencies>
        <dependency>
            <groupId>org.jbox2d</groupId>
            <artifactId>jbox2d-library</artifactId>
            <version>2.2.1.1</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.jbox2d</groupId>
            <artifactId>jbox2d-serialization</artifactId>
            <version>1.1.0</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.jbox2d</groupId>
            <artifactId>jbox2d-testbed</artifactId>
            <version>2.2.1.1</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.jogamp.gluegen</groupId>
            <artifactId>gluegen-rt-main</artifactId>
            <version>2.0-rc11</version>
        </dependency>
        <dependency>
            <groupId>org.jogamp.jogl</groupId>
            <artifactId>jogl-all-main</artifactId>
            <version>2.0-rc11</version>
        </dependency>
    </dependencies>
</project>
crude cloud
#

might need to specifically add the maven compiler plugin or smth, no clue

crude cloud
real pagoda
#

i think java 8 is this library max supported version kekw

crude cloud
#

sure

potent nest
#

that doesn't make sense

real pagoda
#

....

real pagoda
crude cloud
#

yeah cuz you need to explicitly specify the release flag

crude cloud
real pagoda
crude cloud
#

probably needed to add the compiler plugin?

#

i'm not entirely sure how maven handles missing it

real pagoda
crude cloud
#

no

#

in the pom file

real pagoda
#

sorry, i had never work with maven before

real pagoda
# crude cloud ^

added both...., idk if i done something wrong, maybe the order is important ?

#

change the 21 to 11 work tho

timber oak
#

Which tool should I use for decompiling a jar?

potent nest
#

vineflower probably

#

kinda depends on what you want to achieve

timber oak
#

Actually not even sure if this would be legal. It's decompiling a premium plugin (that I bought) and making a fork of it kinda from there lol

#

They just don't sell source code

#

And the support is very slow, with barely any features, so we want to make a custom plugin like it

wind patio
#

yeah well Id say thats against the license, if there is one

#

and should be pretty obvious as it is, that you shouldnt do that lol

ocean quartz
#

Well kinda, he owns the version he has so he techinically can do what ever with it, except distribute

#

But then again I ain't a lawyer so don't take what I say lol

#

Plus I'd be more worried with working with decompiled code and trying to re-compile that back, and some plugins get obfuscated to hell

wind patio
#

or sometimes decompiler is just ass

ocean quartz
crude cloud
#

:3

timber oak
#

Except the devs ofc

acoustic surge
#

halo people

real pagoda
#
            float epsilon = 0.0001f;
            while (Math.abs(val.x % 0.32f) > epsilon) {
                float offsetX = val.x % 0.32f;
                if (offsetX != 0 && Math.abs(offsetX) >= 0.16f) {
                    val.x += offsetX;
                } else if (offsetX != 0 && Math.abs(offsetX) < 0.16f) {
                    val.x -= offsetX;
                } else {
                    break;
                }
            }

            while (Math.abs(val.y % 0.32f) > epsilon) {
                float offsetY = val.y % 0.32f;
                if (offsetY != 0 && Math.abs(offsetY) >= 0.16f) {
                    val.y += offsetY;
                } else if (offsetY != 0 && Math.abs(offsetY) < 0.16f) {
                    val.y -= offsetY;
                } else {
                    break;
                }
            }

What i should remove to optimize this

agile galleon
#

if you just want to "optimize this", the compiler should do it already

#

maybe some more info would be useful

real pagoda
#

or maybe combine the condition

agile galleon
#

That should be stuff that the compiler optimizes as much as possible

real pagoda
#

oh ok

agile galleon
#

Are you having issues with performance?

real pagoda
#

not really

agile galleon
#

if it aint broke dont fix it

#

thinking about optimization before it's required is a big no no

real pagoda
#

i will take note of that

potent nest
#

What are you even doing there

#

With stuff like that you might need to be careful to not accidentally create infinite loops

real pagoda
#

there is an issue tho, sometime it will return value that is absolutely out of view

#

probably my eppsilon is still too small

#

or i could implement a count down so it will stop at certain loop and the user can click it again

potent nest
#

You just want to round to the nearest integer?

real pagoda
#

example of a case that the return case is kina broken\

ocean quartz
#

If the grid lines are constant distance shouldn't it be as simple as rounding the coordinate to the nearest multiplier of the constant distance?

ocean quartz
#

An example:

fun main() {
    val const = 0.3
    val coordinate = Grid(1.15, 0.27)

    val nearest = Grid(coordinate.x.nearest(const), coordinate.y.nearest(const))

    println(coordinate)
    println(nearest)
}

private fun Double.nearest(const: Double): Double {
    return const * (this / const).roundToInt()
}

Result

Grid(x=1.15, y=0.27)
Grid(x=1.2, y=0.3)
pastel imp
ocean quartz
#

Snapping to the grid

agile galleon
#

there is no way rounding wasn't the first idea

slate elk
#

is this malware?

#

i came back to my pc and i have this thing open

#

i left it in public place open.

#

nvm same somethng default by win

agile galleon
#

since when do you leave your PC open in public????

#

also, as you can see at the top, considering they didn't do anything else, it's just curl parrot.live

remote goblet
slate elk
#

i just saw that animation and i shit my self

agile galleon
#

lmao

forest pecan
#

https://modrinth.com/plugin/clientcrasher

this is what it says in api lol

# Crash player
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "crash " + player.getName())
# Add or remove player from crash list
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "alwayscrash " + player.getName())
#

"It literally blows the client up."

real pagoda
pastel imp
#

anyone knows a good library for fawe schematic pasting?

crude cloud
#

yeah, uh, fawe?

lavish notch
#

JUnit is killing me, not sure if I am just tired or what but like... how even does this fail? I've also tried just the ==.

half harness
#

idk

#

thats really weird tho 🥲

lavish notch
#

Visual Studios Code was showing my historic test runs and I was simply re-running those without realising. SCGpain

wind patio
#

as dkim said, try assertArrayEquals(expected.getBytes(), actual.getBytes());

#

also

#

try trimming them

#

if my assumption is correct, look at the gray area around the messages

#

the right one seems to have new line or a lot of whitespace characters?

#

pardon janky paint

cinder flare
#

might be a classic Java == vs .equals() moment

#

yup

#

assertSame means referential equality, assertEquals does a .equals() comparison

cinder flare
#

ah

#

funny

lavish notch
#

Hence my test also is wacky as I was trying everything under the sun.

wind patio
#

oof

distant sun
#

Why are you using VSC for java 🤨

potent nest
#

VSC for Java ist hilarious

#

it's sometimes randomly deleting code when reformatting

distant sun
#

I had to use it for a class, the professor doesn't like how heavy IJ is and is saying that "with some extensions, vsc can replace any ide". Anyways, I also use eclipse at work for some stupid project and I can say that I would prefer to use vsc LOL

#

( Those who made the project, some internal tool, dont use a build tool and their tutorial only shows how to use eclipse smh )

long dagger
#

I don't even know how

#

But the computer lab is all M1 iMacs for whatever reason and he refuses to use any program besides XCode

distant sun
#

The guy that "made" the tool uses Apache Netbeans ☠️ I'm glad that the tutorials weren't made for it

wind patio
#

netbeans 💀

pastel imp
#

I use netbeans at school

#

tbh prefer that over eclipse

wind patio
#

eclipse 💀

obtuse gale
#

Will forget what an IDE is forever

#

Cause you wont be able to quit it... literally. kekw

pallid gale
#

Don't post the same message across multiple channels and stick to the relevant topic for each channel. Spamming won't be tolerated.

placid rose
#

sorry..

#

im just desperate

#

have I been banned from showcase?

pallid gale
#

Currently blacklisted, yes.

placid rose
#

for how long?

deep cypress
#

GG

forest pecan
#

why did you reply to a message that was over 3 years ago lol

half harness
#

🥲

timber oak
#

Kinda confused how packets work, they are "messages" directly sent from the plugin to the player right? So it doesn't go through the server. Isn't it always more efficient to use packets then?

half harness
timber oak
oblique heath
#

it is often more efficient to use packets though since that allows you to basically implement your own handlers for certain parts of nms rather than rely on the often scuffed actual code

timber oak
half harness
oblique heath
#

if you have a very specific goal in mind then you definitely want to resort to packets

timber oak
#

But what if the API has a method to do exactly what you need? Then it's preferred right?

oblique heath
#

yeah probably since using the api has a lot of benefits

#

namely not breaking for every new version

timber oak
#

Yeah, and more easily extensible + readable imo

#

But doesn't the API use packets behind the scenes anyway?

#

With more ofc.

oblique heath
#

yes

#

but when you use the API you're abstracting that away and letting them handle the pitfalls of packets

half harness
#

packets by itself don't optimize anything
it's the skipping of other steps (ex for NPCs, the server doesn't have to tick the NPC entities)

timber oak
#

But everything used in the API goes through the server as well, so for tasks that doesn't need that, I suppose using packets is better?

oblique heath
#

you only see the nice convenient high level api methods

timber oak
#

I see, yeah makes sense

#

I don't think I've ever really used packets myself lol

#

I just used DecentHolograms which is packet based for performance

#

So just wondered

half harness
#

i think that allows the server to skip armorstand rendering
and maybe DecentHolograms does something async, which wouldn't be possible regularly, idk 🤷

oblique heath
#

basically if you want to do weird stuff not supported by the bukkit API or you want to change / remove some server behaviors like dkim said is when you want packets

#

for example i believe bukkit currently does not have a way to show horse inventories

upbeat rune
#

I'm using the DeluxMenu plugin and created a menu item with the commands /ajuda and /help. However, they are not being registered correctly and appear in red in the chat. How can I resolve this issue?

timber oak
slate elk
#

the difference would be even feelable ngl

slate elk
#

its tick is like 0 paiin to server

half harness
#

Oh

slate elk
#

the only reason why it based on packets to display differrent values for different tlike pllaceholderrs probably

#

so player 1 see he has 100$ other see 200$ in his bank (which is armorstand)

half harness
#

Or

#

It's prob bc then armorstands would get lost

#

If they were real entities

slate elk
#

nah... u can cancel many events and etc

half harness
#

That's not what I mean

slate elk
#

its easier then making entire thing packet based

#

not sure what u mean get lost xd

timber oak
#

I mean I have no clue how the plugin works but yeah, it's what it says on their site lol

timber oak
slate elk
#

if it was coded very well into performance

#

and not like just sending packets it will be worse performance how ever we r in 2k24 and modern cpu would make no difference in small scales

#

by splitting world into chunks

#

and sending packet only when player is in near chunk / in the message chunk

#

and running async tasks to update player chunk positions

#

else u will send too many packets to a player for no reason

timber oak
#

Yeah they said they have made a system for view distance

#

Specifically for the holograms

#

I think it's a pretty decent plugin tbf

slate elk
#

its really easy to code tbh

#

but yeah correct way to code.

bitter mason
#

yo

static zealot
#

I just found daisyUI... A component library for TailwindCSS that uses it to create custom classes....

#

Why is it so hard to just find a library that gives you some premade html components made with tailwindcss that I can just copy paste into my code

ocean quartz
static zealot
ocean quartz
#

Daisy has the html too btw

wintry plinth
static zealot
ocean quartz
#

Meanwhile I have been playing with jetpack compose, some of the stuff for desktop is horrible :')

static zealot
#

oh

#

I've used the android one before. in my experience, it was great

#

but I believe the desktop one is completely different so idk

ocean quartz
#

It's pretty much the same, what is bad about it isn't the main UI stuff
The worse is the toolbar, by default you can't customize it, and have to use the ugly java default

static zealot
#

Oh. I see.

ocean quartz
#

You can hide it and implement your own, but you lose the snapping functionality

#

I ended up having to use jetbrains runtime, then hack my way into implementing a window that actually works :')

static zealot
onyx loom
#

i feel like anything to do with ui is just a pain

ocean quartz
#

It doesn't that is from waht I already made

static zealot
#

oh. nvm then

static zealot
ocean quartz
#

This is the default

#

Mine is a darktheme version of the default, but I have full control of it now

#

Like giant buttons :)

static zealot
#

Nice

pastel imp
#

wait programs with tailwind or what?

agile galleon
#

???

#

That's compose desktop

cobalt marlin
distant sun
#

Whats your goal?

placid rose
#

Somebody here knowledgeable with MMOItems?

#

something dumb and quick please help me 🙂

distant sun
#

Open? Yes
Create? No

static zealot
#

DeluxeMenus isn't a library, it is a plugin and it wasn't designed for use like this. We are currently designing a versioned public interface for it which in the future could be used for things like registering custom menus, opening menus, etc.

Right now, what you can do is access DeluxeMenus' private methods and use those. You have to remember that those methods can and will change without warning.

Since the plugin isn't a library, there is no remote repository you can use so you will have to use the plugin jar and mark it as required for compile time only. The way to do this differs from build tool to build tool so I recommend you google it. Just remember to not shade DeluxeMenus inside your plugin.

distant sun
#

Ye, working

static zealot
#

go review my PR

distant sun
static zealot
#

please

distant sun
#

Can I just accept it?

static zealot
#

You can

distant sun
static zealot
#

So if it breaks, I can just blame you

#

ez

agile galleon
#

Wat

#

In MC?

#

How would that work

distant sun
#

you can not do that with a plugin

#

what you are talking about is a mod

pastel imp
#

shirt answer is yes but that would require all players to download the mod, which is simply stupid

#

also plugins and mods together is a big nono overall

#

dont use stuff like mohist or whatever its called

deep cypress
hallow crane
#

I'm working on this recreation of an iOS app's network functions in python and I came across this interesting web request flow that I can't replicate.

An HTTP GET request is sent to the server with some headers asking to upgrade the connection to a Websocket connection and the response with code 101 comes back, then the connection switches protocols to a websocket connection and the server sends a JSON payload with some data.

I can make that HTTP GET and get a 101 back, but when I try to open a new connection to the URL I get a 400. I think this is because I'm initiating a NEW connection instead of making use of the old one with the switched protocol.

In python, how can I continue off with that connection where the switched protocol came from?

#

Can anyone confirm if my interpretation of the issue is even right

oblique heath
#

websockets are an upgrade to http so it makes sense you would not open a new connection

hallow crane
#

I also haven't had any luck on stackoverflow. Someone had a similar question but it's been unanswered for years

oblique heath
#

worst case you can try analyzing what existing websocket libraries do

hallow crane
#

Would you suggest maybe making my own and trying to pick up some connection object and re-use it

#

Going as low level as possible

oblique heath
#

i would suggest using an existing library if possible, since there is really no benefit to reinventing the wheel

hallow crane
#

The library I'm trying to emulate is from a native Swift iOS library, so there's no way to know exactly how it works- maybe there's some python one out there. I'll look into that- thanks.

slate elk
#

anyone used java to build a website?? EDIT front and backend.

#

i know there are some libararies

#

but can share their exprience versus building web in a standart way

hallow crane
slate elk
#

maybe there an easier solution

#

then copy cat

hallow crane
#

I had some logic mistakes in my socket requests

#

The upgrade seems to happen automatically according to the WS 13 docs

civic cairn
#

Yo where can i learn basics of frontend development

simple crown
final pine
#

Hey guys! Quick question if ya'll could help me out. I am currently developing a public RP server and am looking into doing a couple things. I'm wanting to remove the ability to craft diamond armor/weapons, but still give the players the ability to mine diamonds normally for future use. We are currently using MMOitems and a few other plugins, but I'm wondering what I can do to get this result. I've tried a good amount of things, including the /recipe take but it just goes back to normal once I pick up diamonds again. Any suggestions? Thank you! (You can ping me!)

humble prism
#

can remove vanilla recipes iirc

final pine
#

Thank you!!!! Will look into this asap!!

acoustic raptor
#

How do I set permissions to an item in the Deluxe menu that requires permission when selecting or clicking it?

long dagger
storm kelp
#

Java Spring was what I used for a uni project, it's got good support and online tutorials available

#

freeCodeCamp's got a solid starter one on it

inner umbra
#

Best I came up with was sending HTML upon request.

storm kelp
#

But that's just a fetch

simple crown
#

Eh, time to learn Java

slate elk
storm kelp
#

Still an interesting idea though, for one of my projects we made a mini dungeon RPG in Java Swing 😂

agile galleon
#

There are more Java backends than you think afaik

potent nest
#

definitely

#

basically every larger company has some Java somewhere in their tech stack

distant sun
#

I'm working at a bank and they have a lot of java apps, and C# too

pastel imp
#

java is still one of the most used languages

#

and will be for a while.

#

If their updates continue getting gudd

#

they might actually stay for longer

wind patio
#

we use java and drupal where I work lol

ocean quartz
#

Spring is like the pillar of so many companies

static zealot
wintry plinth
#

I suppose I must feel quite privileged that we don’t have any Java or C# codebases at Tebex

#

Backend wise that is

static zealot
#

~40% of the codebase I work with is Java, and I don't mind it. It is pretty well written and maintained. I do mind the 60% Python though.

wintry plinth
#

I think Java codebases in the sense of MC plugins I don’t mind, but I would hate to be working with Java for anything backend / API related

prisma wave
#

spring is pretty nice

ocean quartz
#

To answer the original question, I guess you can use a template engine with Spring boot something like Thymeleaf or Freemarker, but that's quite cursed so don't

wind patio
#

spring is somewhat similar to symfony in terms of annotation based controllers

#

imo

distant sun
#

I guess it depends what the website is for shrug_animated after all these template engines have a purpose

#

For a more complexe website it is better to go the javashit javascript way for the frontend, sadly

potent nest
#

giving up all the good technology for what??

distant sun
#

Javashit 4 ever

wind patio
potent nest
#

fair, but I doubt they're using laravel

distant sun
#

I always find it funny how TS was created to get rid of probably the 'best' thing about js: being dynamic typed pepe_kek

wind patio
#

yes

#

that turned out to be a disaster

#

runtime issues 💀

#

and with the way js works, thank god for ts

#

I always find the equalities of certain objects and what not in js extra funny

#

or

slate elk
#

how is my rizz good?

wintry plinth
wintry plinth
potent nest
#

there is more than just spring

#

but generally, spring is just ahead of basically everything else

slate elk
#

lmao

pastel imp
#

uhm random question, for context, I am making a plugin that basically intercepts several packets and allows the use of MiniMessage on them, objective is to allow minimessage to be used anywhere even if no support is given originally. This works by adding [mm] before the line/message.
(You can also make it so that no prefix is needed, every message/line/whatever would be processed)

Now, I was thinking on doing the same thing but for PAPI support, in this case, even if no PAPI support is given, if you place [papi] before, all placeholders will be translated. I have 2 questions in regards to this:

  • Is this a good idea to do? (PAPI support)
  • How would it even work? Since for minimessage to work it requires [mm] in the front and for papi [papi], what if I want both? xD any ideas?
#

(Not even 100% sure this is the right channel, maybe #minecraft would be best? idk)

prisma wave
#

Is this a good idea to do?
sure why not
How would it even work?
if (str.startsWith("[mm]") || str.startsWith("[papi][mm]")) hehe

#

the second question seems like a fairly arbitrary design decision where it's kinda just whatever you want

pastel imp
#

I could in theory use regex here but do I wanna mess with regex? xD

prisma wave
#

it would be a pretty easy regex

#

just gotta escape the [] and ur done

pastel imp
prisma wave
#

in linux?

#

like sed?

pastel imp
#

sed?

prisma wave
#

sed

#

for filtering

#

and like text replacement

pastel imp
#

and @half harness (saw the message before you deleted), by default, only system messages are "translated", you will be able to enable that normal players are able to use it, it will still be permission locked though. So, it's up to the user if he uses a placeholder that uses js.

pastel imp
#

idk if that's actual regex

#

but similar enough

static zealot
#

Always be careful when parsing placeholders inside user input. Some expansions are ... for lack of a better word ... Stupid

pastel imp
#

This is mainly aimed for plugins either way, the player messages are just a tiny extra.

half harness
#

Ohh is it for clientbound packets

half harness
#

To prevent reporting

pastel imp
half harness
tardy drum
#

hello I have a question if someone knows the answer, so I have server set on 1.20.2 spigot, I have plugins configs etc set. And I need to change it to Mohist but the problem is there is only 1.20.1 version, is that gonna cause my plugins to not work properly?

pastel imp
crude cloud
tardy drum
#

Oh fuck

tardy drum
#

God damn

crude cloud
#

well, if the plugins use 1.20.2 functionality that didn't exist in 1.20.1 then those won't work properly

tardy drum
#

They do use both they existed

#

Before

#

God

#

look I'm hosting on GPortal I'm not really familiar with engines and I don't know if I can install my own engine to gportal for Forge and Spigot in one

#

On version 1.20.2

#

As I searched gportal has Mohist 1.20.1 and I know its both Forge and Spigot

crude cloud
#

you could check out Arclight, it seems to be the somewhat functioning spigot/forge hybrid but I don't know what version it's for

tardy drum
#

Arclight lemme seek

#

Well I see only that

#

Mohist 1.20.1, Purpurs, Spigots, Papers, Forge and Fabric

#

No other pure engines rest are just premade packs of mods etc

crude cloud
#

why do you need to switch to mohist? if spigot is listed there thonk

tardy drum
#

I need Mods and Plugins at once

#

I have also and option of Sponge Forge but I don't know if this gonna work for more people and stable

#

I just need mod like better combat to be placed and only that, rest of them are client sided mods

crude cloud
#

sponge has 1.16.5 I think but yeah, slow development

tardy drum
#

Yea on GPortal they have only 1.12.2 xd

crude cloud
#

ah

#

well

#

good luck xD

tardy drum
#

Well I asked gportal support maybe they can provide me it or tell me something

humble prism
cobalt mesa
#

i dont know what gportal is but if its owned by contabo, then i agree

cobalt mesa
#

yeah i see

slate elk
#

but a bit more and u can get OVH

humble prism
agile galleon
#

Contabo is fine for cheap 7 buck personal servers, does the job

humble prism
agile galleon
#

Obviously

slender wolf
#

Dont know what yall talking about but if someone is looking for a dedi server id suggest hetzner. got several dedis there, no problems so far and the machines work great. Check out the Server Auctions too, good deals there.

wintry plinth
#

I can personally vouch for Hetzner too

agile galleon
#

Same

wind patio
#

damn

#

we pay around 200/month for 7950x3d 1tb ssd and 64gb ram

#

on hetzner its 110 plus 2tb nvme and 128gb ram

wintry plinth
#

I still pay for a OVH box since Black Friday (GAME-2) and have a Hetzner box

wind patio
#

catastrophic host 💀

wintry plinth
#

Lmao, wow

wind patio
#

not sure how much I should rely on reddit, but some comments are pretty harsh now that im reading about hetzner

#

its also pretty odd that its whole -100 euros compared to what we pay, plus it offers more storage and ram

#

how can it be so cheap lol

distant sun
#

Fr

distant sun
wind patio
#

unmanaged how?

#

they rent you the hardware and whatever happens its up to you?

#

or unmanaged as in they dont do any backups, etc

distant sun
#

I guess you simply do everything by yourself

wind patio
#

hm

distant sun
#

You get access to the server and glhf

wind patio
#

yeah ig the one pro what we currently have is that we have daily backups and ddos protection

#

and probably some other stuff we might need

distant sun
#

I mean, backups are done automatically, they can still be provided even for unmanaged servers

wind patio
#

I really dont wanna bother setting up our personal ddos protection lol

#

and cloudflare expenso

distant sun
lavish notch
half harness
lavish notch
slate elk
#

good app to be able to develop electricity curicuts and test them?

#

i know there is typo

#

dont be judgy

slate elk
#

how ever their ISP routes are really bad...