#dev-general
1 messages · Page 290 of 1
You good?
your files are probably untracked
yeah figured it out. I was very confused at first tho xD
efeeeeeeeeee
what?
i need help
There is no time to wait! Ask your question @obtuse gale!
what works?
(ns enterprise.core
(:require [clojure.string :as str])
(:gen-class))
(def possibilities (distinct ["event" "parameter" "factory" "service" "builder" "executor" "implementation" "impl" "predicate" "delegate" "resolver" "exporter" "abstract" "boostrap" "bean" "visitor" "method" "interpreter" "template" "advisor" "stub" "adapter" "object" "candiate" "context" "pattern" "exception" "component"
"utils" "mapper" "adapter" "pool" "response" "listener"]))
(defn random-name []
(let [amount (rand-int (count possibilities))]
(->> (range amount)
(map (fn [s] (rand-nth possibilities)))
(map str/capitalize)
(str/join ""))))
(defn -main [] (println (random-name)))
oh god
"BoostrapCandiateBeanContextAdvisorExecutorFactoryService"
😬
generates a random enterprise ready class name
oml it took you that long?
I made it in Python in like 2 minutes
yea there was a subtle bug
import random
possibilities = [
"Factory", "Bean", "Wrapper", "Visitor", "Model", "Singleton",
"Method", "Configuration", "Exception", "Error", "Property", "Value",
"Identifier", "Attribute", "Authentication", "Policy", "Container",
"Order", "Info", "Parameter", "Request", "Adapter", "Bridge",
"Decorator", "Facade", "Proxy", "Worker",
"Interpreter", "Iterator", "Observer",
"State", "Strategy", "Template", "Comparator", "Clone", "Task",
"Resolver", "Candidate", "Expression", "Predicate",
"Thread", "Pool", "Descriptor", "Interceptor", "Definition",
"Getter", "Setter", "Listener", "Proccesor", "Printer",
"Prototype", "Composer", "Event", "Helper", "Utils",
"Invocation", "Exporter", "Importer", "Serializer", "Callback",
"Tag", "Context", "Mapping", "Advisor", "Filter", "Field", "Test",
"Tests", "Connection", "Annotation", "Service", "Repository",
"Stub", "Mock", "Instance", "Dispatcher", "Client", "Server",
"Message", "Map", "List", "Collection", "Queue", "Manager",
"Database", "Reponse", "Broadcaster",
"Watcher", "Schema", "Mapper", "Publisher", "Consumer", "Producer"
]
print(''.join([possibilities[random.randint(0, len(possibilities))] for i in range(0, 10)]))
```ez
i was using (list (set [blah])) which apparently made it into 1 single element
InstanceInterpreterCollectionWorkerReponseFieldClientMessageAdapterAuthentication
Please use a higher range, 10 is too small
how long you want?
Yes
I could go to a thousand if you want
TaskEventIteratorServiceErrorPrototypeConsumerMapContextPoolManagerMethodResolverOrderExporterInfoWatcherWrapperAttributeFactory this comes out from 20
xD
this is why I love Python for these things
@prisma wave why do you call distinct on that?
actually, should be randrange, since randint is inclusive
so that has a slim chance to fail
we were making them up so i didnt want duplicates
Don't see a duplicate
yeah it could probably go
Wait, is it allowed to have the same term twice in an output?
yeah
a typical enterprise class should have at LEAST 3 Abstracts in the name
lol
ProducerInvocationInterpreterDescriptorServiceSetterAnnotationInfoStrategyPropertyTestParameterRepositoryDefinitionRepositoryRequestConnectionExceptionDecoratorInfo
AbstractAbstractAbstraction
Arch
KDE is the prettiest imo
that's what xD
🙄
Arch > Manjaro
(def terms [...])
(defn random-name [n]
(->> (repeatedly n #(rand-nth terms))
(map str/capitalize)
(str/join "")))```
oh i keep forgetting repeatedly exists lol
you can always change it later so that's fine
that's just the preinstalled version
Manjaro is cheap man's Arch
it tries to turn Arch into a fixed-release distro
also, Arch is 500 MB lol
of course
yeah it's electron
ew
imagine not getting the 3 months of premium for £9.99 deal when that was around
Because spotify is ass
idk about that one chief
YouTube? better sound?
@lunar cypress any idea why the prefix is being fully capitalized?
bad screenshot sorry but
i havent figured out how to screenshot selections yet
thats just companies selling ur data??????????
then why does it creep u out
and how is that related to spotify
(rand-prefix) works fine
yeah, concat takes a sequence
so this gets interpreted as a sequence of characters
ah right
I'd suggest you use cons instead
lo
I'd rather write in x64 assembly than Clojure lol
🙄
clojure good
i think cons is working
well
it's not working but i dont think that's because of cons
but then again, lisp is what works for clojure
😔
section .data
message db "Hello World!", 12
section .text
global _start
_start:
mov rax, 1
mov rdi, 1
mov rsi, message
mov rdx, 12
syscall
mov rax, 60
mov rdi, 0
syscall

IT WORKS
low level and gross
i bet assembly doesnt have ->> and cons
do you even have functors bro?
how embarassing
wat dis
homomorphisms between categories
(defn -main
[] (println (random-name))
[& args] (repeatedly (int (first args)) #(println (random-name))))
``` is this possible?
or do i need a messy if
ok
lol
why not
by "disk" do you mean like a DVD?
a hard drive?
oh
you need something you can boot off
i.e a usb or dvd
you cant write directly to a partition afaik
lol
ok
(defn -main [& args]
(->> (repeatedly random-name)
(take (or (some-> (first args) (Integer/parseInt)) 1))
(run println)))```
oh boy

ok lol
you can't have two different arities where the only difference are variadic args I think
amazon same day delivery!
yeah thats what i was thinking
does repeatedly without a number make a lazy sequence?
yep
alright
could also add the number directly to repeatedly ig
yeah that works too
great choice
oh so some-> is like ?.let in kotlin?
also, gotta love all the people in #805698761442590730 who offer stupid amounts of money for the smallest of things lol
I see that hasn't changed
basically -> but it "stops" when something is nil
so yeah
pretty similar
i see
that's cool
Syntax error compiling at (enterprise/core.clj:23:8).
Unable to resolve symbol: run in this context
``` hmm
do i need to import it from somewhere?
run! I think
ah oky
might have misremembered
#805698761442590730 message like this for example, I could probably make this in a couple of days
sure
just Discord bot, plugin, messaging between them, done
he says
the only thing I'll ever ask for in return for my services is a sponsorship on Patreon or GitHub Sponsors lol
ah it just prepends new terms
I wanna make something dumb like this just to try out clojurescript once
ooh yeah
Have it read a project directory and output another project but with the classes renamed to EnTeRPriSe names
🥲
Java
how old is bbg lol
got my parents to agree to have their name on the Stripe account
16 or 15 I think
16 I think
weak
I have a national insurance number so I'm legally of age to pay income tax
it's such a shame that github uses stripe custom connect
that's the only type of stripe where you have to be 18+
wish it used PayPal lol
all their other services are 13+
yeah
ewwwwwwww
paypal is 18+ too?
are you waiting for it to be closed or?
i used to
no?
mine got limited a little while ago
yea me too for 3 years
probably because I only spend money, I never earn it
they will eventually bardy
and 2 months before I turned 18 they decided to close it
eh, they haven't for the 3 or 4 years I've had this
just dont keep any money in there
Can you use it without a backing bank account where you are?
keep in mind even if you're over 18 when they find out, the account will still be limited and you won't be able to get it back
I have a backing bank account
No I meant can you tho?
so when you turn 18, make a new account
they accepted my BarclaysPlus (strictly below 16) account
Because paypal seemed to specify that its only the case in "some" regions
it's a full current account to anyone except the bank, so no way they'd be able to know
Should probably make a new PayPal account too
^^
If they find out it's done
I'll make a new PayPal account if they close the current one
that doesn't work...
no, make an account when you turn 18
your identity is banned
don't even know what my age is
they will ask for papers
alrighty
They'll ask for proof I think
and if you cant provide them your account will be closed
oh
trust me, went through this 3 times already 🤣
xD
when do they ask for papers?
random
ah
^
eventually
They limit your account and ask for it
so what should I do in the mean time?
"Your account has been limited"
limitated
bardy does your account use your irl name, or is it under a false identity?
ok iirc you'll be able to recover it when you turn 18
my phone number
if it was false they would've made you make a new one
johnny they don't ban your identity
my account was limited for being under age
they said to make a new one when I turn 18
oh really?
and I also used a fake name
I didn't use a fake name though
well they said I can't use their services anymore, nor with a new account
rip
Make a new identity
only if that mollie thing lemmo mentioned wasn't only for businesses
Live a new life
most people seem to share that experience
maybe i'm remembering wrong, let me check my paypal see if I can find the convo
it gets deleted after 90 days iirc
Their refund process took like 3-5 months last time 🙂
180 days
It def took more
180 days means 6 months xd
that day when mcm and spigot will use some real payment gateways everyone will be happy
doesn't look like it's gonna happen 😦
i've been fighting for stripe for a while but the argument is dead
the only hope we had of getting stripe on spigot was to support minors, but it hasn't been acknowledged, so not happening ig
md_4head
I don't think minors should be able to earn money
well, under 16's at least
I do
my point is, paypal is legit thrash, period.
if you are of legal age where you are allowed to work, you may earn
if not, you may not
simples
A dude here sent me a free template from themesine for a paid request 🙃 . I mean I should have suspected something when he said 15$ but... xD
if you can pay taxes, sure, you should be able to earn money
lol yugi
hi someone can help me send in priv
negative
if you're under 16, you shouldn't be earning money at all
well, not money you're meant to pay taxes on
e.g. pocket money doesn't count
oh shut up bbg
fr and he was argueing for so long about how his bank was going to "take a 600$ extra fee" or some bs
selling on Spigot counts though
bbg sucks
a better argument would be "minors aren't mature enough to sell stuff"
why not
because you're not of legal age to work and therefore not legal age to pay taxes and therefore not of legal age to have an income
You can work in the UK from 13 iirc
Bardy, that's a dumb argument lmao
And you don't have to pay tax unless you're making more than like £12k
with specialties yeah
boomer
alright, maybe a bit of money here and there isn't that bad
just earning an income is a no no before you're of legal age to pay taxes
why do you care if people pay taxes lol?
f taxes lol
that's such a weird argument
If that's the case why was I approved for a national insurance number at the age of 14?
what? how?
My mum called them up
Brister Mitten SSL
Because at the time I was making enough that I might have needed to pay tax
gaby is ssl a business type in romania?
In the end I didn't but
how much income do you think you can have as a minor right now? lol
LLC*
does the uk have llcs?
Idk
should be below the tax margin anyway in 98% of cases, in the UK as well
it definitely is
fair enough I guess
correct me if I'm wrong
Very few minors are gonna be making enough to pay tax
ofc
and even if they do, they're a minor, they shouldn't have to pay tax imo (although I think the law disagrees with me)
how much is per year in the uk?
true
the threshold?
yea
Yeah idk if they do or not
right, my turn
Something like £12,500 I think
let me explain our fucking weird tax system
If you make less than that you don't pay any income tax
ok give me a job where I can make 12500/year and then I will pay taxes lol
lmao
I mean
Adult minimum wage is something like 14000 so
It's not hard to go over
mm
But it is if you're a minor
up to £12,500 is your tax free allowance
£12,500-£50,000 is charged on 20%
£50,000-£150,000 is charged on 25%
anything you make above £150,000 is charged on 40%
and your tax free allowance is meant to decrease by £1 for every £2 you earn over £100,000
but the government calculator doesn't seem to take that last one into account
ur guys' minimum wage is such an oof
mhm
it's like 2 pounds higher
$20/hour?!?!
AUD
but still
bardy aud is about half gbp
21-24 = £8.20
and you're still expected to tip in high end restaurants 😉
under 18 is only £4.55
good
damn does it really
according to that
although I think all of these lists are outdated
even with that in mind, I assume it's still the highest
some states in the us have $15/h right?
some do I think
oh really?
Hopefully more soon
its decided on a local level?
I think they passed that in some yeah
derp
I thought all of the us had really bad minimums
not local, state-level
state is local
no it's not
NY and California have $15 apparently
in my mind, there is local, state, and global
iwanio that's cuz ur country is tiny
state as in, nation state
one good thing about the UK though is that they're very very strict about working conditions
hush
iwanio you live in the uk right?
mhm
For now
But yes
like even though you don't get paid that much, you get protected
bojo might change that
the uk can fit into my state 12 times
hush
Quality not quantity
^
there's a lot of empty space in the middle to be fair
and it's also the biggest state of any country
did ur state invade half of the worlds population, piggy?
literally a third of australia
I thunk not
weird flex but ok
lol
🥲
that's mostly what Australia is
most cities are on the coastline
y no desert cities @Australia?
for the past 5 minutes I've tried to find that vine that goes "not to get political, but what the FUCK is cranberry juice"
I can't find it
oof
because it's inhospitable iwanio
some people have houses in the outback where they're so isolated that it takes them literal hours to drive to the closest shop to buy food
like literally impossible
and I'm not sure if I remembered correctly
no u
the problem is the dirt is extremely saline
imagine having saline dirt
australia sinks in the middle, it actually goes below sea level
Ye thats the problem
and salt just builds up so much
imagine having coastline
you can't grow anything there
Not the 500 species of spiders and snakes
I hate how, in the UK, the coast is on all sides
I can't just go east
cause I'll get to the Irish sea
//set dirt
I despise the coast
I have sea on every direction
//drain 100
bm lives in a lighthouse
piggy just change Australia's biome
In a pineapple
over the sea
program in C
Even worse johnny
holy c
ikr
France 🥶
Switzerland is inverted britain
LMAO
instead of sea on all sides, land on all sides
and also neutral in everything
instead of invading everyone, invading nobody
swiss chocolate is good
bri'ish chocolate is shize
kendall mint cake is the only good food we make
lol
and Melton mowbray pies
Come on
https://gyazo.com/e16c97d27e5dd4725a3c5434ab455e7e Anyone that knows why /dm (deluxemenus) don't work
Give us more credit than that
rip
lol
it's amazing offers thursday
lol
lol
Was waiting for a haskell/clojure based reply 😕
lol
😌
No
iwanio bad, haskell good
PHP good, clojure bad
🙂
mmmm
Isn't it?
yes
Awesome language
Scary
I would learn it more if I had the brain capacity to remember all the symbols
accidental esoteric language
because it has like a gazillion built in functions that are denoted by symbols, not names
How are you supposed to type the symbols tho
Whats the actual full form?
I was playing this version of Minecraft since u/minecraftathome team found out the herobrine seed in Minecraft a1.0.16_02 and I witnessed Herobrine at cave
When I first saw it I think it was a bat but bats were added in 1.4 version of the official release of Minecraft and this is Alpha,and it can’t be zombie because it moves so fast 💨
For people who will say that it zombie or human mob,first according to Minecraft Wiki zombies can’t jump that high and can’t run that fast soooo it can’t be a zombie and neither it can’t be human.According to Minecraft Wiki : “Humans were non-playable characters (NPCs) taking the form of clones of a player (the default skin). They spawned when 'G' was pressed while playing in Classic mode, but this function was later removed in Survival Test.”
Plus I have video record of the game and I witnessed mysterious death I think Herobrine is real but when Notch was developing Minecraft he wanted to make him not clear for marketing or it was just an Seecret Friday update.
https://www.youtube.com/watch?app=desktop&v=pLQdtGWBqt0
lol?
oi
special editor plugins
ugh
bm I assume if you were to ask the designers that question the answer would be "yes"
is just called APL?
😕
Without any full form?
it's kinda the same problem Julia has
APL API
But worse
Ohhh
that is truly epic but unfortunately i'm not a huge fan of copy pastas, so i'm going to loom the ban threat over your head and if you do stupid shit like that again, the hammer is coming down
APL API with ADB over USB in a VM
I was wondering why the wiki didnt mention anything
seems it did
APL (named after the book A Programming Language)
I was just ignorant
Why not?
one or three
^
@lunar cypress array-centered programming language
two does nought
What?
wait
yugi you said a programming language
and this says array-centered programming language
i'm confused
Wait what
xD
Wiki says A Programming Language
Or atleast it being after a book by that name
APL (named after the book A Programming Language) is a programming language developed in the 1960s by Kenneth E. Iverson. Its central datatype is the multidimensional array. It uses a large range of special graphic symbols to represent most functions and operators, leading to very concise code. It has been an important influence on the developme...
I think they just meant that its array centric
Not its expansion
Wiki seems to specify Its central datatype is the multidimensional array.
nah its just maven is dumb and wont compile projects if there are jars apparantly so I am forced to install the nms into my local repository using buildtools
or just don't use maven
maven being dumb
nothing out of the ordinary

Leiningen
someone can help me
gradle superior
https://youtu.be/xk4_1vDrzzo good video?
Java tutorial for beginners full course
#Java #tutorial #beginners
⭐️Time Stamps⭐️
#1 (00:00:00) Java tutorial for beginners ☕
#2 (00:20:26) variables ❌
#3 (00:32:58) swap two variables 💱
#4 (00:36:42) user input ⌨️
#5 (00:44:40) expressions 🧮
#6 (00:49:13) GUI intro 🚩
#7 (00:55:01) Math class 📐
#8 (01:01:08) ra...
Just found that in my recommended 🤣
just found out that he uses eclipse
Why
wot
no please stop
where do we start
it seems good though
I got a usb
ah
So I am gonna try in a minute
oh i thought windows fucked over linux too
hello programmers
Might just get rid of windows
I'm a programmer ||not||. how are you today?
Nah luckily linux was fine
what games do u play?
you could try setting up pcie passthrough on a windows vm
https://www.youtube.com/watch?v=rrEK9Io97dQ&list=PLfu_Bpi_zcDPNy6qznvbkGZi7eP_0EL77&ab_channel=KodySimpson is likely a better one 
In this episode of the Java Series, I am going to show you how to install the JDK(Java Development Kit), setup the environmental variables for Java, and install and configure IntelliJ IDEA. #Java
JDK: https://www.oracle.com/java/technologies/javase-downloads.html
IDE: https://www.jetbrains.com/idea/download/
Discord: https://rebrand.ly/discord...
o tutorials?
here's a guide for arch https://gitlab.com/Karuri/vfio
is this BM's one?
Most stuff could probably run on Linux fine, apart from a few assassin's creeds etc, but I don't play those very often
BM did you release any episodes yet?
Sadly not
oh k.
😭
silly people blitz
@prisma wave when are you gonna post that tutorial on the hc channel?
wait
there's a hc youtube channel?
link please
this the one? https://i.imgur.com/uqspQNd.png
HelpChat is designed to support people all over the Minecraft community, from server owners to plugin developers. We offer a central place for assistance, ideas and general chat. This channel is HelpChat's official YouTube channel, where we post tutorials and guides, as an extension to the support offered in Discord.
xD
lol
💪
It says 8 for me xd
https://youtu.be/xk4_1vDrzzo?t=19656 Is this not a good tutorial?
Java tutorial for beginners full course
#Java #tutorial #beginners
⭐️Time Stamps⭐️
#1 (00:00:00) Java tutorial for beginners ☕
#2 (00:20:26) variables ❌
#3 (00:32:58) swap two variables 💱
#4 (00:36:42) user input ⌨️
#5 (00:44:40) expressions 🧮
#6 (00:49:13) GUI intro 🚩
#7 (00:55:01) Math class 📐
#8 (01:01:08) ra...
he explains things
nicely
have u even got the first one ready yet? 😩
@onyx loom if he calls his main class main it's not a good tutorial
uh wrong ping
🌚
except for that
🙂
His channel is also called "Bro Code"
no lol dkim
Which says a lot
oh
simple as that
no mistakes allowed
welp
it's not a joke
that is true
i'm being dead serious
and if you do make a mistake, you need to fix it
you need to reupload the fixed video
yes but if you are telling other people it's your responsibility to make sure the information is correct
(or if youtube still had annotations you could use those)
🥲
I wish I was under that rn 
Yes please
bm I really need you to upload the video
not for the benefit of the community
I just want to see cubes thumbnail
lesson learned, dont delete the buildtools folder while its running.
rippp
I think I accidentally leaked it lol
Well yes
lol ok
lol ok
btw is it just me
or does using java this.doSomething(); this.doSomethingElse(); this.doSomethingElseElse(); this.doSomethingElseElseElse(); this.doSomethingElseElseElseElse(); this.doSomethingElseElses(); this.doSomethingElses(); a million this. look ugly
no it does not
ok
kangarko gets his revenge
no it's not beat
spigot is getting ddosed cause of people who think that ddosing spigot will take down 2b2t plugins
it's a 502
lmao
#694661573125472256 message
i thoguht choco said so
idk
#694661573125472256 message
idk if thats a joke though
or not
xD
it says the error usually comes from server overload
when it exceeds its memory capacity
although its actually due to multiple reasons
not just that
could be firewall, overload, faulty programming, network errors, and server software timeouts
@obtuse gale What the fuck is this
Yea 502 could be ddos i think
no need to fork
already perfect
I don’t even remember doing that
@quiet depot https://docdex.helpch.at/ that link is broken but still mentioned on the github repo :0
oh
it you miss the ? parameters you get an error
that link works fine for me
d;Math#clamp
public static double ulp(double d)```
Returns the size of an ulp of the argument. An ulp, unit in the last place, of a double value is the positive distance between this floating-point value and the double value next larger in magnitude. Note that for non-NaN x , ulp(-x ) == ulp(x).
Special Cases:
- If the argument is NaN, then the result is NaN.
- If the argument is positive or negative infinity, then the result is positive infinity.
- If the argument is positive or negative zero, then the result is
Double.MIN_VALUE. - If the argument is ±
Double.MAX_VALUE, then the result is equal to 2^971^.
d - the floating-point value whose ulp is to be returned
the size of an ulp of the argument
Erm.. nope
what's clamp
A weird function name that I found in GDScript
Wondering if there is in java
Ofc i already expected it to not be there
For ex: clamp(value, 0, 20) means if value is between range 0-20 is ok, but at -1 will instead return 0
@prisma wave getting java.lang.NoClassDefFoundError: kotlin/NoWhenBranchMatchedException before the plugin even gets to load it's dependencies, but I don't have any when expressions before the dependency load
any ideas?
also, gradle clean pdm build seems to finish in about 3 seconds, which is unusually short
And numbers above 20 will return 20
This is a good method to prevent sprite from going out of border
show bytecode?
yes
Wait, is there any methods like what I just said above in java?
jump in room 1 so I can show you this if you can
I ain't pasting this horrid code in here lol
there's nowhere in here that looks like a when
also, this happens before loadDependencies is even called
Make loadDependencies your first thing if its not
because the first thing called in loadDependencies is logger.info, and I don't see that
Send your main class
the first thing is val startTime = System.currentTimeMillis(), but there's nothing wrong with that
then after that it's loadDependencies (blocks the main thread to avoid race conditions)
nothing wrong with that
Oh that’s a complex dependency builder thing
if there was, I would have seen this problem before
that's because it's bungee lol
Oh lol
I've built and used this before without this issue
just check the bytecode
I did
fine
private final void loadDependencies() {
this.getLogger().info("Loading dependencies, please wait...");
Builder var10000 = PluginDependencyManager.builder();
PluginDescription var10001 = this.getDescription();
Intrinsics.checkNotNullExpressionValue(var10001, "description");
var10000 = var10000.applicationName(var10001.getName());
var10001 = this.getDescription();
Intrinsics.checkNotNullExpressionValue(var10001, "description");
var10000 = var10000.applicationVersion(var10001.getVersion());
ClassLoader var1 = this.getClass().getClassLoader();
if (var1 == null) {
throw new NullPointerException("null cannot be cast to non-null type java.net.URLClassLoader");
} else {
var10000 = var10000.classLoader((URLClassLoader)var1);
File var2 = this.getDataFolder();
Intrinsics.checkNotNullExpressionValue(var2, "dataFolder");
var10000.rootDirectory(var2.getParentFile()).dependenciesResource(this.getResourceAsStream("dependencies.json")).loggerFactory((Function)(new Function() {
// $FF: synthetic method
// $FF: bridge method
public Object apply(Object var1) {
return this.apply((String)var1);
}
public final Logger apply(String it) {
return BungeeRewards.this.getLogger();
}
})).build().loadAllDependencies().join();
this.getLogger().info("Dependencies successfully loaded!");
}
}
ze bytecode
i mean
That if else is probably becoming a when or something
Intrinsics.checkNotNullExpressionValue(var10001, "description"); i would expect this to show an error
Make your main class in Java
Whats the difference with this topic and #development

Development is support, this is just discussing dev topics that are more abstract sometimes
might just make PDM compatible with bungee myself
What is Kotlin exactly?
lol
But it also turns to bytecode?
yes
Kotlin is a multiplatform language that's original aim was to heavily reduce the boilerplate Java has
And why is it exactly better
It is
thats probably the easiest way to do this
lack of boilerplate
There’s so many reasons
whats that
Extensions, first class functions, less boilerplate, no mutability by default, data classes (very hot), etc
i mean it's no clojure
That’s a small list but I’m in english rn so

But you can just export name
?
"export"?
What
instead of doing those getters
no
bad
that's an extremely bad practice
Java developers have no idea why open properties are bad but they just are
Encapsulation
Is good
see
they aren't needed or used for that
it's about the API
and yes java style encapsulation is mostly a joke
But I'm not going to start making fields public
also, the reason why I'm not writing my main class in Java is because I am not a fan of mixed language projects
too irritating
having Java and Kotlin in the same project for me is phat ew
Can you use both?
yeah
I only used to write in Java when space mattered, since Kotlin is 1.2 MB
I did actually find a practical downside to not using getters and setters the other day, it breaks a lot of mocking frameworks
but now I use PDM, I don't need to worry about that
But BM That’s just again because its convention
Sounds like an advert
Not necessarily
I'm not sure you can reliably mock direct access to a final field to example
Whereas a getter can be
Maybe I’m misunderstanding what a “Mocking framework is”, but I’m assuming these frameworks are built to support the conventions
reflection
true
it's often contextual
Anyone can give me an ip I can play on?
booring af
Is that your server?
it's the server I'm head dev for yeah
Ah nice
also the server I'm making the plugin that uses PDM for
If you make pdm work with bungee, PR it 
^
I might need to use it soon for moducore if i add a bungee module
let me in
I could just put in what I'm doing here
PluginDependencyManager.builder()
.applicationName(getDescription().getName())
.applicationVersion(getDescription().getVersion())
.classLoader((URLClassLoader) getClass().getClassLoader())
.rootDirectory(getDataFolder().getParentFile())
.dependenciesResource(getResourceAsStream(PluginDependencyManager.Builder.DEPENDENCIES_RESOURCE_NAME))
.loggerFactory(name -> getLogger())
.build()
yes I bothered to write that out instead of copy-pasting
alrighty then
no idea how I can test this though
also, don't think this can really work with Velocity in this way, since Velocity uses annotations to define a plugin class
also gonna bump Spigot API version whilst I'm at it
yeah
1.8.9
I mean PDM shouldn’t use anything other than JavaPlugin or Plugin right?
Shouldn’t really matter
PDM?
BMs dependency manager
https://i.imgur.com/BeNuh93.png well that's gonna be an issue
no idea why the Class<? extends Plugin> method even exists tbh
also, ```java
private Builder()
{
}
So you can’t make an instance
good point
You have to access it with the of method which means the plugin will always be provided
no that's not what I was questioning
I was questioning why that formatting
just why
Oh lmao
I mean, I get the project is allman, but that's just no
johnny wanted it to do pdm before the plugin loads
Sometimes the IJ auto format just does shit
ah right
no fix for my issue though is there
because they technically have the same signature
also, why do you use Plugin there and not PluginBase or JavaPlugin?
if you used either of those, this issue would be solved 🙂
how would it
idek what the issue is here
just tried to do the Class<? extends Plugin> for Bungee
oh right
https://i.imgur.com/dBSe7Xx.png nice testing method names btw
ikr
ComplexPDMTest soon™️
lol
sanity check time
oh also, just tried writing the dependency loading code in Java and still didn't work
that is strange
no references to my code in the stack trace either
Can you send the stacktrace?
[17:38:07 WARN]: Error enabling plugin BexwingRewards
java.lang.NoClassDefFoundError: kotlin/NoWhenBranchMatchedException
at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:1.8.0_275]
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) ~[?:1.8.0_275]
at java.lang.Class.getConstructor0(Class.java:3075) ~[?:1.8.0_275]
at java.lang.Class.getDeclaredConstructor(Class.java:2178) ~[?:1.8.0_275]
at net.md_5.bungee.api.plugin.PluginManager.enablePlugin(PluginManager.java:382) ~[waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:2eae08f:393]
at net.md_5.bungee.api.plugin.PluginManager.loadPlugins(PluginManager.java:285) ~[waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:2eae08f:393]
at net.md_5.bungee.BungeeCord.start(BungeeCord.java:277) ~[waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:2eae08f:393]
at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:62) ~[waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:2eae08f:393]
at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15) ~[waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:2eae08f:393]
Caused by: java.lang.ClassNotFoundException: kotlin.NoWhenBranchMatchedException
at net.md_5.bungee.api.plugin.PluginClassloader.loadClass0(PluginClassloader.java:63) ~[waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:2eae08f:393]
at net.md_5.bungee.api.plugin.PluginClassloader.loadClass(PluginClassloader.java:37) ~[waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:2eae08f:393]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_275]
... 9 more
Huh
idk wtf is wrong there
it doesn't even get to the code that loads the dependencies
I can see by the fact that there's no log entry for it
gonna put a log entry before the startTime code
nope
doesn't even get to call onEnable
Are you pdm-ing kotlin?
I guess its loading some other dependency that uses kotlin before kotlin?
Probably


