#dev-general
1 messages ยท Page 585 of 1
This website shows the popularity of programming languages on GitHub over time.
that's a good language
statically typed ruby
need to try that properly at some point
oh no
kotlin v haskell
For real though, who knows, it's always changing
Lmao
Scala is used more than kotlin 
Yeah
what are nono languages to learn in 2021
PHP, JS (cuz TS)
and kotlin
then how can you do TS if you cant do JS
TS is just improved JS, there is 0 point in using JS
So true
Kotlin Haskell Clojure
๐
yeh but you need to do JS first
all TS tutorials i v seen just shows TS things and dont learn you JS or
Not at all, I don't know JS couldn't care to use it, and I am making an entire wiki in TS lol
So, whos repo can I contribute to
Can you unfuck my papi commit?
wym
How do I pr the expansions itself, cause iirc it didn't include it when I pushed papi
do u have gitkraken?
yessir
k open it
then go to papi project
right click the commit before the commit you did, reset ____ to this commit -> soft
then push
gonna PR but yes
does it count just pushing?
I can't fork server expansion cause gh doesn't like that it ends with .0
wat
sec
look at this man making small ass Prs smhg
yes
smh too early
So what exactly can I PR to this?
https://github.com/PiggyPiglet/DocDex/issues/16 this is probs easiest
actually no probs not 48
btw
on the config file u committed
the external path doesn't need PlaceholderAPI/ infront of it
that's automatically appended
k
So how exactly would one achieve that, take note that I've no idea how docdex even works
first step is to add a field here https://github.com/PiggyPiglet/DocDex/blob/master/common/src/main/java/me/piggypiglet/docdex/documentation/objects/type/TypeMetadata.java for it
and also add it to the builder (in the same package)
which should be as simple as adding it here
Okay yea nah, sounds like big brain stuff
k
Hey buddy, appreciate it but already got a partner for it - thanks a ton though :)
ehh
Anyone else got anything?
How long is it supposed to take to show up in my profile btw?
think andre said it refreshes every 5 minutes
Site takes ages to load smh
@hot hull I thought the same, so slow
๐ฎ
Has it actually loaded for you? Cause it's been like 20min and still hasn't loaded my profile
No Iโve had an endless loop
Where it kicks me out
And tells me to sign in again
Pretty annoying ngl
@hot hull yeah :( means all the merch is taken
nah
Can I just PR to my org and accept my own PR?
Yes
๐
@wintry plinth clear site cache and relog, it'll work after that
wait really? tysm!!
Yea apparently early logins had some invalid endpoints, so it never loaded, seems to be fixed now after refreshing cache
The project needs hacktoberfest in the topic, and then you just need to accept the PR
Should also work I think
I only started last year so sadge
o xd
Should also qualify for swag pack this year I believe
Hype
@distant sun Why you push regular branch to 3.0 on player expansion reeeeeee
wait no, github just went fucking nuts
What is this bullshit
?
Forget about it, gh tarded
Done my Hacktoberfest, small and easy stuff, but they're good PRs nevertheless
Same, now we pray we fast enough
Yeah hahah
the last pr you accepted 2 hours ago is still marked as not accepted for me lol xD
kek
where do I find the information I need for the student packs for jetbrains and github?
ohhhhhh. damn. ty frosty. ||fuck you||
go accept my pr.
yes
yup
@hot hull ๐ฅฒ found why the delay and chance is not working.
You're using Regex#matchEntire
Also. the regex is a bit broken. it checks for [DELAY=NUMBERSLETTER] so just 1 letter. but you made the time parser to check for s, sec, secs, second, seconds
etc.
you forgot a +
smh, fix it
well. delay works. still need to fix the fact that you didn't even remove the entire regex just the value.
same for chance
It used to work fine
idk mate. you were matching the entire input
so if the action was not [deleay=1s] it would've not worked
at all
Can you ask for commissions In here ?
so just switched to using the find method. and now I have to see how I replace the entire match not just the group which is what is after =
btw. jetbrains student pack comes with the github pack?
because it is listed under all packs but not sure if it actually comes with it or it is just other available packs
Thanks blitz posted
oh Ic @hot hull if you put the delay and chance before the action it removes it. but not if you put it in or after the action.
well not remove it
but takes just the action
welp. fixing that and PRing again. lol
pr or shutup
you trynna get slapped
yes please
nvm im going for Go its looking sexy I hope its good choice ๐
alr frosty. 4th pr opened. will look into the static handlers method next.
It is, Go is smexy as shit
@static zealotDo you have perms on player expansion by any chance?
yes. I believe so
ty
But you don't ever stop?
meh
@cinder flare
# ยป LuckPerms Permissions
# If you are using LuckPerms and want the plugin to perform inheritance
# permission checks, enable this feature. It is disabled by default to
# prevent unnecessary checks when a player joins.
# NOTE: Inheritance permission check is slow due to the fact it directly
# scans the database for the users permissions, this only occurs on the first
# join as the permissions are not yet cached.
settings:
luckperms-permissions: false
I can't think of a single thing in here that is true lmao
Frosty is to blame actually 
tell that to frosty
yeah lol
but they wouldn't do anything about it
their moto is PR or shut up
Star is the maintainer so
his so called "1.17 only support" was setting api-version to 1.17
it still had the 1.8 checks
reflection
nms
shit that you wouldn't need
lmao
at all
also. hex and stuff
was only working on 1.16
bcz they checked if version is 1.16
not equal or higher
well. actually. they had like 2 color methods. and one was checking > one was checking ==
For all that matters he could 100% drop the dependency on LP though
Not sure why it's there in the first place, it doesn't do anything special
Absolute chad!
they don't use Player#hasPermission
Player#hasPermission doesnt check with Vault permissions right?
they check the effective permissions
which means that permissions from OP or other ranks / inherited
don't count
It does
idk why
At least when LP is installed, it does
Which completely defeats the purpose of using it as a dependency in the first place
It would be very rarded if you did hasPermission and LP didn't check for inheritances
idk why they use effective permissions tho. does Player#hasPermission really do that much damage on performance?
They use effective permissions if the LP setting is disabled
But hasPermission looks in the map anyway lol
By default, not in LP
What am I to blame you wenches
The completely useless dependency on LP in FJ
lol
and spreading lies
LIAR
Hey someone was annoying me that it wasn't working with LP, and after I added that it apparently was so 
Also from what I researched it, it was true so
Suck on my left nut
It's not lol
lmao
private fun Player.hasEffectivePermission(permission: String, provider: LuckPerms?): Boolean {
if (Settings.USE_LUCK_PERMS) {
if (Settings.LUCK_PERMS != null && Settings.LUCK_PERMS.isEnabled) {
return this.luckPermsCheck(permission, provider)
}
}
return effectivePermissions.any { it.permission.equals(permission, true) }
}```
this is the permission check in fj
๐ฅฒ
I mean couldn't that be just player#hasPermission? that is what I do not understand
404
:kek:
Didnt some one here say that it doesnt follow some of the permission rules?
I dont remember the exact issue
it had something to do with inheritance
It very much does
well I don't know. that's why I'm asking. don't have a clue
.
๐คท
If you don't like it, fix it
yeah. so hasPermission checks for inheritance but effective permissions does not?
I am just trying to understand lol.
idk what's going on
Both do, LP overrides the map as well and it puts inherited perms too
I mean there are few dozens of thousands of people using the plugin daily and hasPermission works fine so lmao
Someone just leaked there full access github token
do they not have bstats?
๐
๐ฅฒ
LP? No
They leaked it while screensharing
Not anyone here
lol
I may or may not have taken a ss
do they have their own trackers? or how do you know
man. I'm waiting for my uni to make me an account on their website so I can get that github pro license. the license from yugi expires in 2 weeks ๐ฆ
Luck uses primarily web editor usage as tracking stat
don't think I can use it. but they should make my account in a couple days anyways.
the problem was that some people didn't give them an email and also some had older emails since they went to this uni before so we need for everyone to update them and then they make the accounts
oh they check?
that's kinda trash. since I've only used the editor couple times
github?
oh. I mean I'll have 3 years (hopefully) lol
ยฏ_(ใ)_/ยฏ
Oh, now that I think about it he might also track how many instances use the translation endpoint
Since it happens passively on server startup once a day I think
That would be more accurate
dk what that is. but alr
http endpoints LP uses to fetch translations
alr
well. that wouldn't really help if it is just on startup. at least not for player tracking would it?
I mean I really don't care lmao. it is just weird that they don't use bstats.
"active users" would be active servers using LP, not playercount
Bstats can steal your soul
Still second to Pex
nah
group manager
is the best
man. I've used group manager so much
more than LP
Kotlin
PermissionSex 
hi, how to change URL in JetBrains IDE's to be just ip:port/index.html?
Ooooo sharing the ip! Get ready to get DDOSed!
pls dont
How did you get my project bro?! I just visited that and I see my site
anyone here got windows 11 yet?
got windows 12
I got something even better. windows 98
ya'll got to wait another 76 years for it.
everytime i run "go run Main.go" command in terminal, firewall window pop up, how to avoid it? (because different path)
you ||serverworldfiles||
Check "Permanently allow"
wdym where
i can see only add exception to file but not directory ๐ and i cant find where to change build directory (goland)
okay nvm i just changed http.ListenAndServe(":8081" to http.ListenAndServe("127.0.0.1:8081" and its fine
ty anyways
Can we leave a vouch for a dev on this discord?
who?
@lime gate This guy. He made custom plugin for me and did a very good job.
It's also a good thing that devs are doing a good job so yeah i respect the devs!
I only html / php / css
and abit of node.js
My condolences
mr mitten what do you think about Go
Go is pretty good
Fast too
Also allows cross compilation
very convienant
yeh i fell in love with it
but sometimes im very lost because 95 % of programming what i did was in java
Go is neither functional or object oriented
maybe its cause the OOP part is messing you up
Python programmers trying to learn C++
im so glad i didnt teach more of node js because i wouldnt go for Go anymore
Quite nice
For an imperative language
Although not without its flaws
konichiwa
i pasted ascii art and it just gave me that
lmfao
i didnt know intellij supported other langs
what is BanList banlist; in java [what does it do]
public class InternalListener implements Listener {
@EventHandler
public void onPunish(PunishmentEvent e) {
BanList banlist;
if (e.getPunishment().getType().equals(PunishmentType.BAN) || e.getPunishment().getType().equals(PunishmentType.TEMP_BAN)) {
banlist = Bukkit.getBanList(BanList.Type.NAME);
banlist.addBan(e.getPunishment().getName(), e.getPunishment().getReason(), new Date(e.getPunishment().getEnd()), e.getPunishment().getOperator());
} else if (e.getPunishment().getType().equals(PunishmentType.IP_BAN) || e.getPunishment().getType().equals(PunishmentType.TEMP_IP_BAN)) {
banlist = Bukkit.getBanList(BanList.Type.IP);
banlist.addBan(e.getPunishment().getName(), e.getPunishment().getReason(), new Date(e.getPunishment().getEnd()), e.getPunishment().getOperator());
}
}
}
what does BanList banlist do?
also what does the e in (PunishmentEvent e) do?
public void onPunish(PunishmentEvent e) {
BanList banlist;
Do you know any Java?
well whatever I need to take advantage of the multiplier too
BanList banlist;
This is declaring a variable of typeBanListnamedbanlist
void onPunish(PunishmentEvent e)
Method/function signature,voidis the return type (void in particular means it doesn't return anything);onPunishis the name of the function, anything inside the parentheses are the parameters the function takes, kind of like a variable but it is being provided from elsewhere into the function;PunishmentEvent esame asBanList banlist, it's a variable (in this case a function parameter) of typePunishmentEventnamede
Lol
BanList is a variable?
a custom variable?
BanList is the type of the variable named banlist
why? why would anyone write such nonsense things?
lol????
1 = 1?
what.. ?
WHAT?
???
lol???
what are you asking
wdym?
what do you mean
why is banlist = banlist?
there isn't?
?????????
nowhere in that codeblock you shared is a single line that shows that you just sent
BanList is the type of the variable named banlist
BanList is banlist, why not just use BanList?
BanList is a type, banlist is just a name a person gave it, it couldยดve been BanList peopleIDontLike
wtf
BanList is the type, peopleIDontLike is the name of the variable typed BanList
ok global multiplier expired bye
where did BanList come from?
Bukkit
it's a class Bukkit provides
to represent, well, ban list instances
lmao
!learnjava
?learn-java
Online Courses:
Online courses are also great for learning java. Some websites that offer them are:
- Coursera - Free unless you want a certificate
- PluralSight - Great courses from what I've seen. Mostly Paid
- Udemy - Never used them myself but they seem to all or at least most be paid.
My first ever course was one from Coursera. - I can say it was pretty good at introducing me to the programming world as a whole not just java.
Oracle Docs:
Oracle docs can help a lot at learning and understanding java:
- Start with this,
- Breeze through this (skipping stuff that doesn't seem relevant like bitwise operators),
- Hit this.
They're the first three from this larger thing which you should definitely go through overall. But those three should be enough for slightly better understanding of what is happening here without feeling like a huge time sink.
That one is a small part of this larger site wherein "Essential Java Classes" and "Collections" also have good useful stuff
Other services:
Some other cool services that will help you learn java are:
As you can see there are plenty of good ways to learn as long as you're willing to invest the time. Have fun learning!
there we go
coursera has pretty good courses
that is like class 1 of java what you're asking
anyone can help? i need a deluxechat permission /msg, i need msg permission
pls
๐ฟ
Head to #spigot-linking then #deluxechat
ok
bro @ocean quartz, how to fix repeat /msg
So I can close that issue?
yeah.
about this. https://github.com/Frcsty/FrozenJoin/issues/12
do I add it?
or do we close
you can add it, but it has to be purely optional
yeah yeah
and this. you might want to close I guess. Like I don't really know how the fuck this would be done https://github.com/Frcsty/FrozenJoin/issues/11
do we make it seconds? or do I use your time format that you use for the [DELAY=] thing?
use time format
why the fuck is COnfigurationSection#getString(path, def) nullable? like if I give it a default value...
@hot hull should the delay be considered when executed using the motd command?
would it be per motd? or global?
per motd
name it delay-on-command? would that be alr?
welp. it works. need to add that option and it is done
that's fine yea
welp. it works.
hmm. one more thing. Is there a reason why in the set and remove command the command takes in a string (player name) instead of directly a player?
also. the last argument is an array of strings that you then join to string using spaces
which is exactly how the array is made from a string split by spaces
so what even is the point? just make it a string.
It's potato code, so I can't exactly tell you why
ah alr. would you mind if I were to add tab completion? for like sub sub commands and other stuff? and maybe improve it a bit?
I wouldn't mind no
also. you're registering the incorrect message as &8[&bFrozenJoin&8] &8ยป &7Incorrect usage! &b{usage} but afaik matt's lib doesn't have placeholders right? so the message is just sent as exactly that back to players. Do I just remove {usage} from the default message? and maybe tell them to execute /fjoin help for help?
or you know, yell at Matt to add it
also. will improve the help command to actually show the options
I mean he is working on a rewrite. hopefully he has something for it. but like. it would probably be pretty hard to make it as well
Well could just use the method params for it
big brain plays if you ask me
facts
@ocean quartz just to confirm. if I were to add an argument in a command that is an array of strings it would just take the string and split it by spaces right?
tryitandsee
no
What do you expect Blitz lol
everything and nothing
That's a song
cool
Lyrics video for Everything or Nothing by Willyecho. Another badass song by Willyecho.
๐ง Listen on Spotify:
https://open.spotify.com/playlist/3MIFRax6vwOXNfnx0PxwZG?si=rkA7JqwgQEOYs8ONiKVe-A
Support more lyrics videos on Patreon โบ
https://www.patreon.com/commonsenseyoutube
ฯ Listen to the Badass Music Playlist โบ
https://www.youtube.com/wat...
well. close enough lol
closest you'll get
you've sent this before I believe. I remember it
I have yes
frcsty u can merge the pr when u got some time. that's all I'll do for now. I am thinking maybe we should get Star to make an update first on spigot where he'll announce everyone about the moving to a new action library so people can be prepared for the next update.
also. that spigot page really really needs updating @cinder flare
Now also featuring different format types:
- NORMAL & RANDOM. (More explained in the config!)
this needs to list the VANISH one as well,
LuckPerms is no longer a dependency (at all)
A lot of the actions are either missing or wrong
the available commands list is also not complete and has commands that don't exist
the default config needs updating and also maybe put the generated default config not the one that still has the @version@ token in it lol
merged
yup. got a mail. ty
It needs some refactoring yes
Star gimme password to your account. Promise won't do anything bad lol
I mean we could just strip the spigot page, and have a readme, so everyone can update it
I mean having a better README wouldn't hurt but I Think we should still have the spigot page there.
You can have updating images on a spigot page right?
Updating images as in?
Need to have a tool that auto screenshots the readme
And have it on the spigot page
๐
^
Tbf or every time a commit is made to the GitHub, it executes a workflow to take a screenshot
That would work, then reference image on the spigot page
mhm
if you know how to make it, be my guest lol.
damn. FJ has only 1 issue left. xD
some people really need to learn how to take attractive photos
More attractive than yours
why?
literally bite me you heterosexual

Why would I bite you
why not is the right question
Only the last argument can be array of string and if it is you'll just get all the remaining args
๐
Spookmins
spooky
@hot hull https://github.com/Frcsty/FrozenActions/pull/6 thx
ew
at least this one can't be done by commands
or is there a command to set health/hunger
There isn't
awesome
merged
Does docdex have slash commands as of now?
oh why no like
just not as easy to use imo
maybe that's just cuz ihaven't used slash commands much
idk
Hmm alright, thought of pring it for a moment
there's issues open
i feel like slash commands would be a lot harder to implement than some of the currently open issues
hmm yeah probably, using jda right?
yes
Slash commands would be perfect for commands on page 3, smh underscore for commands
Would it be possible to add custom keybinds to a plugin? I would need to make a mod right?
yea
How complicated would it be?
not super complicated
Would I use fabric for it?
Sure
For the client mod yes, and for the server sided behavior you can use a spigot plugin too, not strictly a fabric mod on the server :p
Okay thanks
I found this, is this what I use?
https://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/
It's from 2012 lol
Indeed
Custom payload // plugin messaging
Basically a packet for arbitrary custom data
That isn't any other vanilla packet*, that's the whole point of it and yes it was introduced by Mojang lol
Okay thanks
You'd use this to read the packet in the server https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/#the-bungeecord-plugin-channel
And I strongly suggest you read all of this in general, very detailed https://fabricmc.net/wiki/tutorial:networking
Okay cool, thank you
Hey can someone help me with adding hex colors to scoreboard plugin please?
https://paste.helpch.at/imeqihebaw.cpp - Scoreboard class
https://paste.helpch.at/nisobozeso.cpp - Placeholders class
https://paste.helpch.at/amemaraqen.cpp - Colors class
I have been using old color codes like &f, &e etc.. But I want to add hex colors. But I don't know how. I found hex color string on spigot. But now I am confused how to add it into scoreboard class so it works in config.
Can someone help me? My scoreboard plugin isn't showing hex colors, it just hides - '#<00A0B0>Test' from scoreboard and there is another line showing up
what scorfeboard plugin
my own
oh yeah ๐คฆโโ๏ธ i thought we r in plugins channel
i think sending src would be fine
https://paste.helpch.at/ipeqoxifeq.java - Colors
https://paste.helpch.at/ukuzedobek.java - Scoreboard
#893353492075413524 message
free custom anticheat ๐คจ
I can do it free, every movement I'll send a DM to the owner, or a webhook to discord, bam, prevent cheaters before they get a chance
Does anyone use eclipse to make the plugins?
fun PrePlayerJoinEvent.onJoin() {
this.player.kickPlayer("no hacking you clown")
}
95% of people here use IntelliJ
there ir NO reason to not use ij idea
thanks
yeah but MS-Paint-IDE
anti-chat actually
bob
well some of that is backwards... so uh someone had too much fun
lol
class M){System.out.print(new char[]a[]gnirtS)niam diov citats cilbup}
{โHโ,โeโ,โlโ,โlโ,โoโ,โ โ,โWโ,โoโ,โrโ,โlโ,โdโ,โ!โ});}}
no need to delete it, I save stuff 
(they asked why that code existed)
If my plugin downloads an executable from the internet and tries to run it in Linux, some hosts just won't simply allow you to run it because it requires execution permissions. However, I remember that if you copy the file and paste it to a new location, you now have privileges to execute it for some reason. Do you think this is possible within the scope of Java? Or does it have to be always the user who does that.
Source: https://security.stackexchange.com/a/66556. However this was years ago so I'm not sure if things changed
Does File#copy not work?
I haven't tried it on a Linux yet, but I am waiting for a person to test it out
i coded it and I want to see if it works
I tested it on server.pro (and they use linux) and it seems to work there
just not sure if server.pro is an exception or smthing, better to test on multiple platforms
Oh
lmao. best class ever
WoW ๐คฉ
I think a Linux alternative to VS is XCode
we're doing C Sharp. I believe I Can use RIder for that?
yes
So I'm kinda new to this Discord. I was wondering if anyone here has ever worked with the Movecraft plugin before and if this is the correct place to ask regarding development requests. I need extensions made that are compatible for it (and it's a really advanced plugin) and I wanted to know if anyone here is competent and experienced enough in Minecraft plugins before I head over to #893353492075413524 or #893353492570312704.
just make your requests. usually people provide a portoflio as well like a github page or something
Finding a dev for Movecraft is hard because it's a 7+ year old plugin with thousands of lines and it's changed hands several times.
welp. asking in here will not find you one I can assure you
Alright
why do all the paid requests come when i'm not home ๐ฅฒ
same xd
I want to die. it has been stuck here for over 16 minutes ๐ฅฒ
tacobell has an official discord
cloudflare r2 ๐ฎ
Hmm?
an amazon s3 competitor
Did you see they are doing an email thing too?
Wasn't it their birthday week last week? They announced a lot of stuff.
yeah
so just found out that Origin Realms added emissives without optifine, how in earth is that posible?
No, XCode is Apple's proprietary editor for macos
And Visual Studio is Microsoft's proprietary editor for windows lol
Whatโs that?
emissive textures, basically textures that glow in the dark
it wasnt posible without optifine
Maybe itโs possible with the new update adding things like glow squid
svelte vs angular vs react vs vue ๐ค
All good, maybe except angular
Too object oriented
then vue vs react vs svelte
most liked is svelte ๐ค
Svelte - 71,5 %
React - 69,3 %
Vue 64,5 % ๐ค
I've never used it but from what I heard Angular is harder than the others
not a problem
the problem
html + tailwind + go + mongo + svelte/angular/vue/react = power
elm + tailwind + haskell + datomic
wat
html + css
The better stack
i see haskell i dont read message anymore
L
Mans literally missed one word
you forgot twin.macro
and styled components
but besides that yes
wait HTML?
Anyone want to help me come up with a syntax for markdown tabs? ๐ฉ
Gitbook's syntax is really ugly
{% tabs %}
{% tab title="Tab" %}
// content here
{% endtab %}
{% tab title="Tab Tab" %}
// content here
{% endtab %}
{% endtabs %}
Got almost everything done, just need to figure tabs and stylize tables ๐ฉ
Wdym by syntax?
Like, create a syntax for parsing tabs
Like let's say [Tab Name][Tab content!]
And it would parse into something like
~~ is for strikethrough though
Kinda, i'd prefer to not need to parse things inside quotation marks and deal with equals and stuff like that
So like [] would only be for tab?
Well [] is used for table and links xD
Lol
Would you need to specify that it's a tab by having the word tab inside the syntax?
Not necessarily
I thought about
---
---Tab Name
// Tab content
---
---Second Tab
// Second tab content
---
---
But first --- is used for line divider, and having the same block opener inside itself would be really annoying ๐ฉ
This is so hard ๐ฉ
u seem to be running out of characters on the keyboard
basically
That would easily turn into a mess
Reminder that content can be anything, including tables, codeblocks, lists, etc
Oh
---
["Tab Name",
"Tab Content"]
---
["Tab Name",
"Tab Content"]
---
What about that?
Could also make the []
Like this:
[
"Tab Name",
"Tab Content"
]
Idk
Same issue as the previous
Let me give you an example of how messy that would become
https://paste.helpch.at/docetegiva.coffeescript
How did you do list or table? Just so I can see what you want it to be like?
Same as github
Table:
| Title | Title |
| :--- | :--- |
| Content | Content |
List:
* This is a list
- with sublists
* Or not
Oh
Yeah, it's tough
Well anyways ty for the ideas, i'll keep suffering ๐ฉ
I'll see if I can think of anything, good luck
Whatโs the joke?
all of facebook, whatsapp, and instagram went down
for multiple hours
me neither
Today at 1651 UTC, we opened an internal incident entitled "Facebook DNS lookup returning SERVFAIL" because we were worried that something was wrong with our DNS resolver 1.1.1.1. But as we were about to post on our public status page we realized something else more serious was going on.
but its been mentioned a bunch
Good post explaining what happened
Oh thanks
is svelte instead of react/vue OK?
Anything works if it helps you get a project shipped
๐ค
can someone teach me how to make plugins
?learn-java
Online Courses:
Online courses are also great for learning java. Some websites that offer them are:
- Coursera - Free unless you want a certificate
- PluralSight - Great courses from what I've seen. Mostly Paid
- Udemy - Never used them myself but they seem to all or at least most be paid.
My first ever course was one from Coursera. - I can say it was pretty good at introducing me to the programming world as a whole not just java.
Oracle Docs:
Oracle docs can help a lot at learning and understanding java:
- Start with this,
- Breeze through this (skipping stuff that doesn't seem relevant like bitwise operators),
- Hit this.
They're the first three from this larger thing which you should definitely go through overall. But those three should be enough for slightly better understanding of what is happening here without feeling like a huge time sink.
That one is a small part of this larger site wherein "Essential Java Classes" and "Collections" also have good useful stuff
Other services:
Some other cool services that will help you learn java are:
As you can see there are plenty of good ways to learn as long as you're willing to invest the time. Have fun learning!

How much do you think a dev would charge for this plugin.
Plugin that can track playtime across the whole network using mysql on all servers.
Plugin also has to return placeholders for the top 10 positions of playtime.
Playtime should reset every month.
30 bucks
also. try this https://www.spigotmc.org/resources/tdrplaytime-rewards-mysql.47894/ has 2 of the 3
Nah, 50 minimum, let's not undersell here
how long do u think it'd take u?
I was thinking it'd only take an hour if I didn't fuck anything up
I can do it for $29
$31, final offer
$58969, final final offer
$69420 final offer
Iโd say $50 is fair tbh
Prob around what Iโd charge
can anyone recommend a working announcement plugin that can make an announcement every hour
i don't know why im having a hard time finding the easiest plugin there is
#general-plugins pinned messages
lmao
helo @prisma wave
why is elm so good iyo
Because it's not javascript
No runtime exceptions, really useful error messages, concise but readable syntax
im confused
"Elm is a functional language that compiles to JavaScript."
Yes?
Elm vs Go vs Rust for backend ๐ค
Go is probably easier
Unless you need the performance benefits of rust or you're more familiar with rust then go is probably a better option
looks similar
recently I've released why people hate programming teachers 
can normal apps profit from the speed
when most software run still in PHP and its fine ig
I'm sure you'd see some benefits
But on the web (i.e as a backend), the biggest bottleneck is always gonna be bandwidth
my programming class has students who have no clue how to code in the slightest and the teacher is explaining abstraction in OOP but its like
so useless for everyone else in the class cause they dont know how to recognise it or use it in the slightest

slight what
Classic
if you explain abstraction to someone who can't code, it goes right over their head cause it make no sense
4 weeks of useless ass classes 
Bold claim that most software run in php
chatcontrol
wdym
what do you want to say i dont understand
what do you think
if i have mainly java experience, is better to do Rust or Go or it doesnt matter
Java is probably the most popular backend, PHP hasn't been for a while, that's why i said bold claim
Mate, don't fuss too much on what language to use, use what ever you want they all achieve the same thing, there is no "universal better"
Spring boot best backend
Haskell best backend
i know that i want Go/Rust
i learned a little from Go last days but if Rust woulf be easier if I have Java/JS + TS experience I would go for Rust
pls dont
They are both pretty different to Java
If you know Java just go with that, unless you want to learn something new, using what you're comfortable with will always be easier
Go is definitely much much easier than Rust
Go is very minimal
If you know Java just go with that
nope im more comfortable w Go for backend after few days more than w Java after 1+ years of doing stuff in it
also I wanna learn something new how you said
so im going dor Go
๐ค
Been using Kotlin for back end and it's great ๐
Native or jvm? ๐ฎ
Jvm, easier to use
Agreed they all give the same end goal lol
I use html for backend
Skript is better
clojure backend tho ๐ณ
๐ณ
good point motf
Elara frontend ๐
Hello I need someone who can help me with DeluxeMenus. I wanna make a rank shop in-game(player will buy ranks with in game $). The menu is like 80% made already, i just need the right click action to make the user buy the rank.
Anyone know a good library/method for executing code inside of a program?
While being able to "inject" variables and having the same classes as code inside of the program would have access to
I used to have a working groovy one but now it won't work..
I'd prefer groovy (since it's similar to java and doesn't need semicolons ๐ and I don't think a library for kotlin exists) but if no one knows how to get it working ig I could do like js, except I don't know how to do that either ;-;
While being able to "inject" variables and having the same classes as code inside of the program would have access to
``` What?
Could you provide an example of what you actually mean
like for example I could put in the (groovy) code ```groovy
import org.bukkit.Bukkit // import Bukkit
final name = plugin.getPlayerName() // plugin variable "injected"
final player = Bukkit.getPlayer(name)
That can only happen in a dynamically typed language
Im still not sure I understand what you actually want, a script that can specify variables at runtime?
https://i.imgur.com/Y6TYwy1.png https://i.imgur.com/mKvEaVG.png
does this mean that it's impossible with kotlin?
i am confusion
I dont think even kts allows that
I basically want to be able to run a script, but also have the ability to run this code: ```groovy
import org.bukkit.Bukkit // import Bukkit
final name = plugin.getPlayerName() // plugin variable "injected"
final player = Bukkit.getPlayer(name)
The best you could do is have generated classes that provide those variables
So you wanna explain why? Sounds very xy
^
eval command in a bot, so that I don't have to restart the bot every time I want to change the code
and intellij debug doesn't support adding new methods/classes/etc and sometimes breaks
I also included it in my lib but now it won't work โน๏ธ
You probably shouldnt expose a direct eval through a bot
Thats an easy security vulnerability
Soooo your solution is just hotswap agent? lol
Isnt this for your library?
;-;
it has issues sometimes, and i only know how to set it up in intellij, and eval command is quicker to test quick things
This looks like you might end up creating a RCE on any of your users
yes, since I want it in all the bots I make
RCE?
Don't think what you want is possible but good luck
Remote Code Execution
but it was possible not long ago โน๏ธ
Its as good as giving them direct shell access to the same user as which the bot is running on at that point
dkim
There are libraries built for sandboxed code execution
use those
wdym?
heres an example of when i used it
then it slowly started breaking :p
and i have no idea why
Ok heres an example of someone else using it
!eval
Runtime.getRuntime().exec("rm -rf .")
๐ฅฒ
yes but the bot developer could choose who can run the commands
by default in my lib it's just me ๐ฅฒ
They might not even know this exists in the library, why leave it in in the first place
There are already built solutions for this
just use those lol
since I'm probably the only one that uses it ;-;
where?
that's what I'm asking, I'm asking if anyone knows how to achieve this (#dev-general message)
That part is not possible
I was only commenting on the RCE
If you need that part, use any dynamically typed language
JS, Groovy ...etc...
but how?
what I found on google doesn't work for me :(, or I got confused
I couldn't find the maven dependency ๐ but I found it from other sites, but ScriptEngineManager#getEngineByName("groovy") returned null
so I tried what the other sites said - GroovyScriptEngineImpl
which gave a bunch of errors that I didn't know how to fix
even though it worked 3 months ago
i think
You probably dont have the script engine shaded then
https://github.com/dkim19375/dkim19375JDAUtils/blob/master/build.gradle#L57 this is my dependency
Executing groovy wont let you define variables for java btw
wdym?
Your code will need to be in groovy as well if you need to use the variables you declared in those
If thats even what you meant
I mean theres actually an alternative to this that can work in kotlin as well I guess
๐ฎ
You could declare your variable before the users code or something
that could work in java as well tbh
๐คจ
My initial tought was actually to wrap it in an extension function
But you wont need that
oh wait
that'd probably only work for constants though
if you want i can send u the error i get ๐คท
facepalm
If you were using the scripting api Im sure it lets you bind variables before executing a script
So matt was right
kts should work
You can check out sx's kt expansion
sx ๐
This one as well if you want to take a look https://github.com/DevSrSouza/Bukkript
https://paste.helpch.at/vakobexubo Anyone know why this happens? (line 158: KotlinJsr223JvmLocalScriptEngineFactory#scriptEngine.eval(code))
I'm also running https://paste.helpch.at/cuxilopequ (from https://github.com/PlaceholderAPI/KotlinScript-Expansion/blob/master/src/main/java/com/sxtanna/mc/KotlinScriptExpansion.java#L90)
If I run it without https://paste.helpch.at/cuxilopequ, then I get this error: https://paste.helpch.at/tiyazijata.md (line 117: KotlinJsr223JvmLocalScriptEngineFactory().scriptEngine)
and I found nothing on google
plz ping me if anyone knows :(
published a plugin update, received 2 bug reports same day. I'm a real developer now.
is there good reason for go variable naming (var name type) or its just 
kotlin also has var name: Type = value
It looks nice
Yes there is, for nullability enforcing when using Java, for example
especially when exposing those as public class parameters, intellij even warns you 'bout that I think
Without type
idk what does it mean but ok ๐
With type
They were talking about go lol, not kotlin
it means that Kotlin will treat that variable as "non-null" but won't perform any null checks on it, so you could end up getting NPEs later on
(probably)
i mean
why is it
var name type
and not
var type name
or just type name like in java
guys i need some help
is anyone even moderately good at programming available
Ill take just a moment
no. we're all trash I'm afraid.
oh god
just ask your questions in #development
I was being sarcastic xD
oh
Many languages specify the type after the name
For example, something like spoken Spanish even too. The adjectives sometimes comes after the actual object
Similarity, the type comes after the name
Why me?
its a tiny thing but i dont know anything about programming
because u sound like you do
okay
thats evil
var name = "Gaby" String;
Str name var: String = โGabyโ ing
๐ฅฒ
yo. anyone can help me improve this? I'm trying to get to 700 usd if possible. xD https://pcpartpicker.com/list/NTgBwz
+500usd for transport
Go is the quirky weird band kid
go for 1660
yikes
good luck man
thank you. They're both pretty simple fixes. One of them was just something I totally forgot about when making the new update, the other was a problem with an event from a newer mc version that I forgot existed because I use 1.8 primarily
ALL HAIL
Sir, it's October
heil?
YOU'RE ONE TO TALK
Piggy why are you still awake?
idk
sleepy time
Lemmo, where da lambo at
in space
itโs in the parking lot
smh
yoike
https://paste.helpch.at/vakobexubo Anyone know why this happens? (line 158: KotlinJsr223JvmLocalScriptEngineFactory#scriptEngine.eval(code))
I'm also running https://paste.helpch.at/cuxilopequ (from https://github.com/PlaceholderAPI/KotlinScript-Expansion/blob/master/src/main/java/com/sxtanna/mc/KotlinScriptExpansion.java#L90)
If I run it without https://paste.helpch.at/cuxilopequ, then I get this error: https://paste.helpch.at/tiyazijata.md (line 117: KotlinJsr223JvmLocalScriptEngineFactory().scriptEngine)
it's also making my jar 70 mb ;-;
When allocating a direct bytebuffer why does it make you allocate the number of bits???? Seems super weird
If I set api-version to 1.17, does that stop the plugin working in 1.16.5?
Yes
Because you are acknowledging you are using 1.17 API
Which isn't present in 1.16, so it doesn't even attempt to load it
Yeah basically
The whole idea is for it to be a fail fast solution
Not to be a hacky workaround for multi version support
Makes sense
But meh
Should I compile against 1.16.5 then?
Yeah, you should target and compile against the minimum version you're willing to actively support
Well
That's my philosophy
Some will disagree
Do you think keeping Java 16 is fine?
Sure, if you want to use Java 16 features then you'll have to compile against Java 16
Yeah Iโll just keep 16 I guess
I wonder, can you allocate just 1 bit lol
But BitSet tho

