#dev-general
1 messages · Page 497 of 1
yes
ok ty
guys we're collabing with HC piggy said yes
44 people on the subreddit ??
haskell popular
it's free to join the subreddit btw guys
Since when is concrete 1.12 lol?
¯_(ツ)_/¯
broc in helpchat?
most ambitious crossover ever
I think I was in here a long time ago
😳
Hello
Right, maybe that was a bit too far
All I want to know is why you don't seem to like me
I don’t dislike you, I dislike yatopia
Didn't really seem like that tbh
I love everyone
You also complain when I share my project, even when I am justified to do so
I don't want to be hostile towards people, I like to get along with others, I just didn't get the best of impressions from you, and sometimes it felt like you were out there to get at me
Did someone post HelpChat's invite link in the paper discord or something?
Yeah I was gonna ask that
ahh
No someone told me bardy was talking shit about me for no reason lol
lol
lmao
Alright
I agree broccoli is a lie
Kinda feel bad now lol
True
this is pretty much what this reminded me of
lol
I didn't expect to be wrong lucy
True
😌
Functions > literals
well you see
a Haskell chad!
in REAL languages booleans are just algebraic data types
is c not a real language then
absolutely not
you're not real
you said it yourself
√(-c)
incredible
why would my loggers be in debug mode even though i dont have it enabled
i dont set the log level anywhere by defualt
confusing
Sorry, that was an oversimplified statement lol. I didn’t actually legitimately meant that. I was too lazy to write down others 😰
the guy does a load of really cool stuff and you say this ;_;
Lol
I know 😢
Tf is half the paper team doing in here 😂 that was surprising
they're here for me of course ...
omg. I just found a log from my server from like 2 years ago when I tried using skript
Ew
oh I remember
I Was looking for anti xray options (not knowing paper has one) and I tried a skript and that skript turned out to just crash servers. I think it had a back door too
xD
no you can't.
I am actually considering switching every plugin on my server to skripts.
way more flexible, way more easy to use, way faster so basically better in any way
Can someone ban this guy already?
😱
if only netbeans had skript support 😭 😭 😭
Using Skript is not a sin, there are at least two things I can think of that are sinful:
- Enjoying/endorsing Skript
- Thinking that being able to use Skript makes you a pro developers
You should be shot
I've used Skript before to see just how bad these scripts really are
making worldedit in skript is bad
Skript is amazing, I mean look at some of the amazing plugins people have made in skript
Maybe one day I will make Skript in Skript
Lmao, I remember that dude
🥶
Pog
amazing plugins xD
didn't we raid this guy's discord server?
oh no that was BetterBubble anti cheat i think
lol so many reviews say "laggy"
hi piggy
Piggy be lurkin around the corner
it was this one Yugi
maybe you guys did another one
when I wasn't here
but I know for sure we did betterbubble
Im bored so I applied for a rank in #role-request is it supposed to delete my message? does it go off to some seperate channel or smthn?
on any movement:
if bruh(player):
stop```
yeah it does
Yes, its supposed to do that
kk cool
you'll have to wait as well lmao. Been waiting for weeks now
Piggy/Lemmo will review at some point
/Matt
matt reviews too?
# --- ( PREMIUM ) ---
# IF YOU LEAK THE CODE YOU WILL BE BANNED!
# NO REFUNDS!
# DO NOT MESS WITH THE CONFIGS!
# --- ( PREMIUM ) ---```
for kotlin iirc
Peaches maybe you’ll be lucky gettin piggy to review rn
kotlin code yes.
oh ok
u bought premium?

and it ends there xD
Banned from what tho? xD
idk lmao
xD
and its free
Lmao
What is it?
stop
wha xD
Can a programming language be both interpreted and compiled
Kind of
yes
he is listerally not considering players with elytra's as cheaters
if I read this correctly
1 case would be a separate interpretter/compiler. Other case would be an interpretter with a JIT
so no, flying, no riding, no elytra amazing
skript and anticheat in the same sentence, bruh
like it literally doesn't do the checks for you if you're flying, riding, or have an elytra
on
I swear imma put a skript check on all my plugins and disable them if skript is installed
don't even need to be flying lmao
plugman too
lmao
Hmm Yugi okay nice cuz my web programming teacher told me it wasn’t possible
He probably meant something else
Yeah
anyone know a good way of doing "dynamic data" in a sql table?
let me elaborate a bit
so i want to log various events with a discord bot, i currently have 3 types of event ```kt
enum class EventType {
USER_LEAVE,
USER_JOIN,
USER_MESSAGE
}
the event log table has an action (eventtype), timestamp, and data (usually an id) column
so for user_leave, the data is the user's id
user_message has the channel id
this works fine, but it only works if i want to store a single id related to the action
i wanna add some more event types that require some more detailed data storage (for example logging when someone modifies a bot setting, i need to log who did it, the setting that was changed, etc)
Possibly use a separate table for the events
yeah just use different tables
like a different table for each event?
yes
mhm
user_msg -> (channel_id, timestamp)
user_join -> (user_id, timestamp)
user_leave -> (user_id, timestamp)
I think you should be able to join those if you even wanted them together
event (id, event_type_id,...)
event_type(event_type_id, name) ?
what is ... niall
other fields he wants
rather than event type being enum cant it just be another table
he's niall
it doesn't need to be stored in a database
true
a field for event type is all that's needed to refer to the hard coded bit
Niall have you deleted your discord server?
yeah ages ago
welp
coc?
i wanna build a weather station
sounds like a gigantic task
why would you build your own weather station tho....
Hmm so why does Konsole (kde neon terminal) keep asking me every like 1-2 days for my github name and token (every time I try to clone or something like that of course). Is there no way to store them and just read them from there every time?
yes
there is a way to store them
I've got no idea how to do it though, gitkraken sets git up for me
hmm I Found another post that looks promising on stack over flow. let's see if this works
ah it would save the credentials in plaintext
If you're cloning GitHub repositories using HTTPS, you can use a credential helper to tell Git to remember your credentials.
oh wait
thats not it
ah
but it will store them in plain text
well I Mean they're already saved in plain text
so it works for me :)))
lol
on spigot is there any way to use a client side mod to create something like a staff chat?
the client sends the message, it gets broadcasted to all staff members and those that have the mod installed will see it different / on a different area of their screen
Yes
Make a custom packet
add some extra handshake to let the server know that the user is using your mod
send to staff who are using mod
I gess that's done with the api of let's say, fabric?
Havent used fabric, for spigot, theres a nms packet class for custom packets I think
Fabric is very nice
Ye pretty sure fabric has some api wrapper for that
if the packet is done with fabric, how will the server know about its existence?
You will have the same packet implemented on the server as well
Intercept the packet
theres a nms packet class for custom packets I think
or yea, you can intercept the netty pipeline
That's what we in Bukkit know as plugin messaging
Thought you always had to inject into netty stuff when intercepting packets 😮
Oh plugin messaging uses that?
Oh wait
I only saw the actual nms class
No no I read that wrong
oh ok
uhh, nms
But you can use plugin messaging too lol
To communicate with client?
Yeah
Interesting
Use SSH keys instead
Password authentication bad
plugin messaging exists for communication with the client I think
using it for bungee is just a side effect
interesting
its not password. its the token they generated for me or whatever. I also have no clue how to set ssh keys for that but I'll look into it. also I'll have to see where it saved the token bcz I've already enabled it xD
Token Auth bad too
Just tell github your public key and you can clone, push etc without needing to configure any other details
conclusion: ssh good?
Indubitably
fancy word
Yes
well now all I Need to do is find where the hell it stored my token and remove it
lmao
Okay
hmm so I've set the ssh key up in github settings but whenever I try to clone using git clone it asks for my password again
I assume I have to do something locally as well?
change the remote to ssh from http
You have to use a different remote URL
Yeah
https://gh/a/b to git@github.com:a/b.git
worked. ty ty ty
can we just talk about how crystalore.org is empty
hello
i wanna ask something
that's simple
does line actually impact your performance?
like
?
line count do you mean?
Uh no
no
hold up
oh ok
you can type a bunch of comments
you know, you can crash a server in one line of code
like one plugin
one line of code
it doesnt matter
your whole system could be wiped in one line of code
Yep
uhm
my friend told me to cut off lines
let's be respectful pulse
We can’t really say anything without seeing it
🥲 ok
reducing lines sometimes makes sense
What specifically did they say?
He may be right but for unexplained reasons
if your code is repeated or inefficient then do it
true
Reducing unnecessary lines
But lines in general means nothing
well yea ig fixing dry code does trim off lines
It is still good
Simplifying code is always better, but not for performance, but rather for readability
shorter line
Just might not help performance
Did he say it was for "performance"?
ya
Then that’s likely the reason
Please use a paste service to share configs, errors, code and long logs.
• HelpChat Paste
if (response.statusCode === 204) return true;
else return false;```
before and after
if (response.statusCode === 204)
return true;
else
return false;```
js?
just a simple code
they are equivalent
type script
You have to realise he may have lied to make you write better
yeah a javascript
just USE BRACES REEEEE
the whole conditional is unnecessary
return response.statusCode === 204 😌
lmao
return response.statusCode === 204;
😌
lol
shut
it's a different function
Imagine having a return statement
Indeed
im on mobile
ikr
Disgusting
export default async function(request: Got, internalID: number): Promise<boolean> {
try {
const response = await request.post("/servers/" + internalID + "/reinstall");
if (response.statusCode === 204)
return true;
else
return false;
// IT DOESN'T IMPACT THE PERFORMANCE!!!, MORE BEAUTY!!
} catch (e) {
throw new CheckError(e);
}
}```
a :-
b.
on top
😌
:--
@tacit cave he is right to make you reduce it, less for performance, but he likely stated that to make you do it
As if I tell you this will improve performance you are more likely to do it than if I don’t
You know what else is Js but better
wasm?
not haskell
Elm 😌
are you going to convert people to Elm now?
wdym?
im learning ts since like 5 days ago
it can sometimes make your code more readable
Yes so he is trying to help you
well he's experienced for 1 year
What was your old snippet?
He is likely stating for “performance” reasons so you actually do it
The one before you applied his suggested changes
so now that you know the truth
i wanted to split the line to make it more explicit
are you still going to do it?
split the line?
If else
I believe ^
Im not sure I understand what hes refferring to still? like inline if-else?
Some people like to keep it readable to them
As they don’t realise they mean the same thing
ya
No Im asking what you meant by that abhi
What?
Possibly
like this
that is hideous
Ah, so you had that, and your friend asked you to just return response.statusCode === 204, ok
no, it's an api
i mean a wrapper
it's checking if the server is sucessfuly suspended or not
that's why the value is boolean
He doesn’t get what we are saying 🤦♂️
oh sorry
sorry for being stupid smh
response.statusCode === 204 is the same value as what you're explicitly returning with the if-else
You know the result of response.statusCode === 204 is a boolean
^ so why are you creating the boolean twice essentially is the point
just return that eee
oh yea
i forgot about dat
gosh dang it
Hopefully you get what we are trying to say, trust me I know how annoying devs can be at explaining as they use a lot of assumptions
i didn't realize im so sorry xd
It’s fine
We all make mistakes dw just ask these lot about their first project
For 5 days this is more advanced than I expected
As API’s can be very odd sometimes
ya this isn't my first programming language
i used to be code java, but about 3 months i dont dev anymore
and trying to learn typescript
Ahh so you already have the most important part that is the problem solving
I believe most people hear know java and for a couple years now
I’ve coded for about 2 years now in java and others are similar or more
im not really good at english too, sometimes im kinda confused from someone who talking to m
im about 6 months maybe
You seem to be doing fine you understood me so that’s all you need
alr, thanks for the understanding too
Just remember to know what you are returning with a method as once it becomes a boolean you could do an if else statement or just return that if that’s what you need
And gl with your project seems you are being taught by someone good enough to help you
So I’d suggest trusting them and come here if you want to get a second opinion / a different explanation
What would be close to mysql (as in features) or other databases but run on a local file? H2db thing?
i would trust them, because he's my closest friend
i just wondered
probably gaby, idk
Smh Kali
yes
Yes to his question or mine?
Why would you want that in the first place is the real question
I think h2 is considered flatfile
🤷 will probably use mysql
maria
what type of data r u storing
Thank you gradle.
- Guild data - id, members, level, progress etc
- Player statistics and milestones
ah okie
Is maria installed, pig?
Redis is pog
https://github.com/iGabyTM/GUIHelper/commits/master after multiple tries I finally got the Verified thing xd
😮
🥳
is it not just setting the user name and email in git config?
no
2 clicks with GitKraken smh
you need to sign the commit with a pgp key
Imagine not using SSH keys smh
lol blitz did you change the remote uri?
git remote -v
🙂
Yeah change the remote URI
no it is still https
well how the hell am I supposed to know that?
git@github.com:User/Repo
btw the password is actually a token iirc
oh well I Missread that then
yeah if you have the fucking paid version ...
Can someone help me by telling me what’s wrong with this
[Service] Investors
[Request] Looking for people who help me pay for my server. You get the percentage of donations to the server based off of how much you help pay.
[Budget] 30-120$
I have the free version and I have no issues with it
probably doesn't like the bold
well have you tried private repos? xD
I don't use private repos
well I do
Thanks @static zealot
just make them public blitz 
1 - Make it public
2 - Commit
3 - Make it private again
4 - ???
5 - Profit
lol
What's the reference of those last two? I've seen those 2 in a list before
South Park Underpants Gnomes' Plan wut xD
16th of december, 1998
KNOW your PROFIT
very old meme
lol
Is this even a valid paid-request? #837974312451440661 message
pretty sure it ain't
@obtuse gale how about the benchs?
I’m making a plugin called CasinosPlus with casino games such as Poker, BlackJack, Slots, Roulette, and war?
Send me some other game ideas please
Also I’m making a plugin called MiniGamesPlus (10$) it has spleef, splegg, custom events, king of the hill, tnt run, build wars, kit pvp, and other minigames any ideas of what kind of features it should have
Also I feel like those are basic names I want something original any ideas?
JSON vs TOML vs YAML vs SQL(???) Who wins?
json + sql = jsql
Wth is that lul
Mind explaining why?
cause i like them
json is easy to work with over web
sql is good to store data in tables
nice
As said, lets take a homes plugin as an example
shut
I will store name, icon, location (with yaw and pitch) and thats all
whats icon
The item showcasing the home in a gui
use a database
sql
potentially having 100's of yaml files is the worst thing ive heard of
even tho i once did it and it was aids af
Some plugins do it
ik, its just a bad idea imo
And seems like no one ever complained lol
I mean people that use the plugin probs dont care
since they have no real reason to touch the data anyways
just from a performance standpoint to i feel like a database would be better
I suppose in thoss cases I can give the server owner the choice
yaml is more for configuration
and with yaml there's a high chance if they touch the files manually they will fuck up the formatting
same with json
By that I mean give server owners the choice in the config of using either yml, json or sql or whatever
not really
json is more solid IMO
so to speak
it is not as flexible
and it doesn't depend on stupid indentation either
I will just give the owner the option to choose lmao
I suppose
remember that you can parse json with a yaml parser
But I will have to do some research since I already saw some people complaining about sql
Wdym
Good to know
I literally write my plugin.yml's in json first, then rename to .yml lmao
I will just give multiple choices and recommend one xd
I actually didn't know this
yaml is ez tho
and yeah yaml can burn. I'm so tired of it
GRRRR
I am planning on adding SQL, JSON and MySql (maybe yaml)
GRRRRRR
for you bcz you understand it. but if you were to spend like 2 weeks in #general-plugins you would see why I am thinking of using the suislide
SQL and MySql
doesn't make a whole lot of sense
I dont ever want to look in there
I did once
and i was baffled
@obtuse gale but srsly, what are the results?
SQL != MySql (or am I wrong?)
sql is the language, mysql is the engine that runs sql
MySQL runs a flavour of sql, but yeah
When I say sql I mean sql flatfiles lul
then you probably mean sqlite?
every time I see MySQL now, I swear, it reminds me of https://twitter.com/dermayank/status/1391035064255803393
Developer: We have a problem, MySQL is down.
Manager: Then use somebody else's SQL.
928
5230
ffs. I saw this before and I didn't get it. Now I get it and its so fucking bad
hehe
so should SQLite still be my first choice?
if you don't need corss server support then yeah most likely
yeah sqlite nice
What are we in 1999 ?
you can also use H2
Just use a database normally?
database = ?
Doesn't matter if you don't need cross server support
^
I mean if we take a homes plugin as an example, doesn't rlly need cross server support at all
frosty always with the strong opinions
telling me to use "a database normally" doesn't rlly help me that much
to understand what exactly you actually mean lmao
me smoll brain
Well can't help you with that
use sqlite
^^ done
for ur application its fine
No
H2?
yaml 🤡
just another local database type thing
shush
hocon
MongoDB? 🤡
could use mongo
is mongo even something plug n play?
doubt you'll ever need mongo for a spigot plugin
;-;
I mean.. good point.
you'd be surprised by the amount of people I've seen that use mongo
for a minecraft server
^^ true
Well yea, "need", not "want"
have seen many
Can't go wrong with overkill
and there's nothing wrong with it either
doubt
technically having many choices is good for the user, it gives them choice.
sublime really likes messing with me. ffs
They shouldn't be given a choice
(welp besides giving them the option to choose yaml, that's a scrap)
Fuck the user, they're stupid anyways
The more choice you give them, the more they're able to fuck up
fuck em
ever heard that thingy where "customer is always right?"
no
lol
No
listen
if they dont need to touch the data then you dont need 14 different implementatons
server owners can't read 🥲
just use sqlite or H2 and move on
ok bye.
bye
actually no
👋
ok i am
oof then bye
console: Required dependency: ProtocolLib
first line of plugin page in bold and red: Requires ProtocolLib
server owner: hEllPPppPP tHe pLuGin dOEsN'T wOrK aNd IdK wHy
The average server owner has peanut brain
Someone that uses SublimeText please help. I've went to
Preferences -> Settings and have set tab_size option to 2 as you can see here:
yet it still puts 4 spaces
and it actually doesn't translate to spaces
is just a tab
how does an SQLite file even look?
tried restarting sublime, same thing
now I am curious
the option is saved there tho
time to search
Binary
wait fr?
we need to get a veri bot
wat
?
omg. ty
lol
a verif bot
yes
now someone has to put me back together! 🪡
b-but, you're resting, you don't want to in pieces anymore?
for what
discord
i'm bored of asking people "are you using the free version or the premium version"
responses with "yes" and watches the fun
I think spigot even has an api for such things
just steal Barry
smh
barry doesn't do the check right
I dont think spigot has an api for that, you'll still need to manually verify with a bot I think
oh wait it does
Why not just use a role in that case?
welp I mean, an api to use with the bot
Dont think so
spiget
only thing I saw was you linking your spigot account with the bot
and it syncs the plugins you bought
what can spiget get me
its what barry uses
Barry doesnt auto check anymore right?
yeah it doesn't have anything for buyer list then
it does auto check but the database is updated manually
wait since when do you exist @ruby crater?
so you can check who they are on spigot but can't check their purchased resources
a little while
ye I may be blind
there used to be the mvdw spigot buyercheck resource but I think its broken bcz of clodufare or something like that
https://www.spigotmc.org/threads/how-to-sqlite.56847/ would this be a good place to get some knowledge of sqlite? (never rlly used it)
no this is bad
do you know any other relational database?
and by that I mean, know how to use them properly
ok, so yaml isn't a relational database
start here
this is for MySQL/MariaDB but it's almost the exact same for SQLite
because you use the JDBC API for both
no, for sqlite you need the sqlite driver
any way to implement it in gradle btw?
yes
cant find anything in the github
maven and gradle use the same repositories
yes
right
and I suppose we are implementing it into our code
or not?
uh
wait
ok it is
You always want to use async requests on a production system what does it mean with "production system"?
in the real world
another way to put it is you only want to use synchronous requests when testing your code/before releasing
This is not always 100% true, but for Spigot plugins it's a good rule
invalidate caches and restart
IntelliJ bad
Indeed
for godsake
I will legit delete it
.-.
1.16.5-R0.1-SNAPSHOT:20210515.064541-78) why is it even adding those numbers at the back wtf?
bruh ok using 1.16.4 seems to have worked lmao
On the gradle panel right click the project and do this
ty worked out
@quiet depot https://youtu.be/oK_XtfXPkqw?t=556
The best classes in any Java application are the ones that do stuff,
e.g., the BarcodeDecoder, the KoopaPhysicsEngine, the AudioStreamer, etc. These classes all have dependencies; perhaps a BarcodeCameraFinder, DefaultPhysicsEngine, and an HttpStreamer. In contrast, the worst classes in any application are the ones that take up space without do...
:o
uh me trying to figure out how exactly I will use SQLite to store homes be like: uhm... so.. I do this but then this is a duplicate? Maybe create a table for each user? uhm...
why SQLite tho
im personally a mariadb pleb
i use firebase when im going full google tho
Wha
new annotation for jb-annotations?
with kotlin support?
for like platform types ig?
yea
they released 21.0.0
Added new annotation:
@UnknownNullability.
Proper JPMS module.
that's literally all the release notes say lol
ah
I wonder what the point of that annotation even is
Shouldnt something of UnknownNullability be Nullable instead?
as in, it could be null
An element annotated with Nullable claims
nullvalue is perfectly valid to return (for methods), pass to (parameters) or hold in (local variables and fields)
By convention, this annotation applied only when the value should always be checked against
nullbecause the developer could do nothing to prevent null from happening
Ok so 1 says null is fine, and other that null may happen but isnt fine if it does
that's for @Nullable
oh both of those quotes are from Nullable?
yeah different paragraphs lol
For @UnknownNullability:
It's mainly useful at method return types to mark methods that may occasionally return
nullbut in many cases, user knows that in this particular code pathnullis not possible, so producing a warning would be annoying.
I mean it's as if you didn't annotate it at all
yea
Something like Map#get can return null but it's not annotated as nullable either
thatd be just because Map is from the jdk, nullable is from jb-annotation which isnt used in it
Kotlin's map get provides nullable return values I think?
I hate so much that annotation
I mean, it was an example
oh ok
For something like Map#get, being annotated as nullable your IDE would be 50% yellow lol
lol
It gets to the point it's annoying even if you are certain it isn't null
Unless you use the getOrPut or similar methods
I still don't know if MH are fasten than normal reflection @emilyy, just saying
They are secretx
Well... I ran some (super rudimentary, 100% unreliable lol) JMH benchmarks
I say unreliable because it was on one OS, on one hardware, on one JRE version, made by one JVM vendor etc
What were the results?
now specify @PercentNullability
specify a percent
chance that it will be null
based on average cases

🤡
@midnight steppecentNullability(99.999)
lmao
LMAO
that's just @Nullable on disguise
i think thats the whole point of this convo
lol
hence why kt is better, all the native methods / extension functions let you choose between getOrNull or get(OrThrow)
YEAH
I'm not home rn but the results were something like reflection lookup was about x5~x7 faster ("lookup", with known method names and signatures ofc) than MH, invocation was about the same ops/s, both for private and public methods
Unless I'm not understanding the ops/s measurement, reflection lookups were much faster
but again this is faaaaaaaaar from a proper benchmark
funny how no one has questioned/responded/reacted to any of these lol
afaik
lookups shouldnt show improvements with method handles, I think, not sure if its worse tho. but its supposed to be faster at invoking
with reflections lookup you mean "class.getMethod"?
What?
getDeclaredMethod yes
many ppl bc have been ponged from annotations, and no one was like, why did i get pinged 
im surprised
ok?
ok
ah wait nvm, that took a while. I read this wrong
Bukkit was a pioneer 😌
oh god
Also the annotation is specifically in the java8 module?
I believe that is a Paper thing
to clarify some places where strict nullability annotations can't really be applied
or perhaps shouldn't be applied
hm idk, paper puts new classes under io.papermc or com.destroystokyo tho
seems to be at least on spigot https://hub.spigotmc.org/javadocs/spigot/org/bukkit/UndefinedNullability.html
I couldn't care less about Bukkit itself lmao
actually no, I take that back
Spigot adds so little API
Bukkit is where everything that's relevant is at
fuck no not again, we already discussed those stuff, SQLite is fine lmao
am I a monster for installing steam and cs:go on kde neon?
fabric smh
? Looks alr to me
yes, that's how you call a constructor lol
Smh blitz
ffs I'll just put /s in every message now bcz no one gets sarcasm around here
lol
beautiful
ayy groovy
seems fine to me /s
get it now?
its sarcasm. haha
funny
haha
ha
ha

ha
😭
@onyx loom
Just cast it 
to Object :^)