#dev-general
1 messages ยท Page 532 of 1
no
๐ญ
Thats my boy@ocean quartz
yo is there really no good library or plugin for Paginated holograms or whatever?
What are you using to make your build.gradle dep list look so clean?
or is it how gradle works, idk, i use maven :P
It's a plugin I made for Gradle that makes it look like that
is it possible to get it?
Yeah, id("me.mattstudios.triumph") version "0.2.0" only work on KTS Gradle for now though
Ok. I might start learning kotlin. Also switch to gradle, everyone says it is better
ยฏ\_(ใ)_/ยฏ
It is yeah ;p
Ok, thanks though.
yes
i must say
say what?
you should learn haskell instead of kotlin ๐
Is there any reason to do so?
well
I dont want to learn it if there is no real reason. Saying that haskel is good or bad is not a objective reason.
๐
lol
there is a real reason
No is not
a) it makes you a better programmer as it introduces a different way of solving problems
b) you can act smart by saying things like "monad" and "parametric polymorphism" and "higher kinded types"
c) haskell good
d) haskell good
e) it's used in industry in some places (finance, language parsing, etc)
Very compelling b, c, and d, points
i thought so too
I'm mostly concerned with b)
why
wdym why
whats wrong with b
nothing
I said it's the most of my concern which can also mean I'm the most interested in it
can it not
can i make spigot plugins with haskell?
hmm
no BUT
well maybe
sort of
depends how partial to JNI with a C glue you are
Short answer, no
Long answer, definitely no
I challenge you to do it
Just a simple command that says "Ha! I did it!"
i mean like full haskell plugin
i've done java <> haskell before with jni as a bridge, but it's not pretty
probably not then ๐ฆ
wait for elara and yes
when
idk
"Tomorrow"
probably
hmmm
when you have to add 100 debug messages ๐ฅฒ
2 code lines, 1 debug line, 2 code lines, 1 debug line
GitKraken looks quite pretty when there is a lot of branch changes
o
every single yellow line is a new debug line. and this is just a small part of what I've done already ๐ญ
luckily we live in a world where the only measure of a language's utility is NOT spigot plugins
but for him it is
that's the whole point
he wants to make spigot plugins. not something else
Well then improving your programming ability and general problem solving skillset does not seem to be of high importance
In that case, you'd want to stick with Java or Kotlin
But if you're aspiring to be any more, you'd want Haskell ๐
I can't just learn every language bcz you want me to
exactly
Well of course
Everyone has their priorities, you gotta do a cost-benefit analysis of what would help the most, or at least what you're feeling
exactly. that's the reason some should stop shoving haskell up everyone's ass
As a person currently enrolled in university and doing my best to learn and grow and expand my problem solving skillset, learning a functional language like Scala or Haskell is very much in my interest
I mean, I'll admit BM does lay it on a little heavy
but he has good intentions at heart
not saying he doesn't
No.
#minecraft or #general-plugins pls. and stick to 1 channel. ty
so... funny thing. I've spent like 10 minutes testing something, it didn't work at all, then I Spent the next 30-45 minutes adding debug messages, I loaded the plugin and it worked first try for some reason ๐ฅฒ
pain
Kek 2017
:))
Any idea how I can make the artifact available to everyone? https://github.com/iGabyTM/GUIHelper/blob/master/.github/workflows/build.yml#L27
๐ ๐
I've not done it really in a while actually
Every now and then
Ok it seems like it's about once a day on average
Which is yikes
but in my defense
im usually not the one that starts the conversation
yeah bcz at this point you're so previsible we just start the conversation for you xD
๐
bro if bardy starts talking about profunctormonoids you cant expect me to not get excited
yes
O
i mean not exclusively
it's a mathematical concept mainly
but it's implemented with a type class
Is a type class a monoid?
A
Just managed to reduce from 85 lines to 35 by actually being smart about it, something i wasn't 2 years ago lmao
being smart. I don't know anything about that
but at least my debug messages turned out to help a lot
with other stuff
xD
Not true!
Yes, you're smarter than you think
Also this actually looks nice, didn't expect it to work so easily lmao
id say less noob
Dude optimizing stuff that you wrote a while ago is so satisfying I swear
that whole betterlife rewrite I did made me actually quite happy for once
Wait Guilds uses PDM???
lol
Ikr ๐ฉ
hasn't glare switched to slimjar yet?
I thought he did
but in that startup log I saw a PDM error
bcz it was broken for his usecase
๐ฅฒ
maybe he on an outdated build or suttin
awe yeah
Hmm?
[15:09:55] [ForkJoinPool.commonPool-worker-3/ERROR]: [Guilds] Could not download Artifact{groupId='org.jetbrains.kotlin', artifactId='kotlin-stdlib', version='1.4.32', repoBaseURL='maven'}
java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: Could not initialize class me.bristermitten.pdm.util.ClassLoaderReflection```
Yeah rip PDM.
in that guy in #general-plugins 's startup log lol
Okie dokie. Waiting on Matt to release like 10 more versions of his GUI project because he seems to be doing a new one every 2 days.
lol
I'm sorry. what the fuck is this. Is there no Player Inventory method to only get the items from their inventory (without offhand and armor slots)?
so the 9x4 slots only
๐ฅฒ 3.0.3 is stable though
I'm fairly sure it's getstoragecontents
Ic. the description is pretty vague
but in some cases it may exclude armor or result slots.
so yeah... you can see why I don't trust it
xD
but will test it
just in case
Sometimes i love minecraft
Ic. thank you very much
oh my
I'm 99% sure I've seen that before but still used the getCOntents method.
๐ ๐ ๐ ๐ ๐ ๐ ๐
What is this indexing
so what were you saying @ocean quartz about me being smart? xD
Yes sir
Like a proud father ๐
I literally had the answer and still used the wrong method ...
Most people would, lack of knowledge != dumb
Man .... how the fuck does deluxemenus build faster than my plugin??
Glare did some magic with this gradle
lol
it takes 34 seconds without it being cached... My plugin can take up to 2 minutes
sometimes 3-4
More dependencies?
dependency size
yeah it might be that. I was counting the nms projects as big but they're pretty small
and I use relocate a lot
I relocate kotlin
gson and a few others
That should be fine
he only relocates nashorn and asm
ah
I also have Matt's command framework and gui lib,
- Config
as well
so yeah
I can see why now xD
lol
Hello, I am trying to send an arrow (โกโฌ โฌโฌ) through an action bar to a player to guide him to a specific location, how can I calculate where the arrows have to point?
Would be super simple if Bukkit's pitch and yaw made sense
Yeah but instead Bukkit's is stupid, it goes negative, it goes over 360, so you have to do something like yaw % 360
yeah cause if you keep turning
yaw = (yaw % 360 + 360) % 360; should give you the true yaw
Then it's just check every 45 degrees if you want the northwest and stuff like that, or 90 if you want just 4
that's strange
like if you do two full rotations it can be 720
It's bukkit
bukkit keeps it between -180 and 180 right?
not in my testing
ah, weird
I had to do a direction check thingy and it kept messing up
I remember it as [-180,180] for some reason
because it should be like that
How could I do it?
I have tried to do it by getting the angle
Im not sure if this is right channel, but I think I messed something up with LP
whats the right one?
Could someone help me?
And could you help me with that?
Where
P = player's location
L = required location
dir = direction of Player as a unit vector
PD = (PL . dir) / |dir|
DL = PL - PD
Now, length of PD should give you forward or backwards and length of DL should give you left or right
oh man. vectors look so easy but sometimes they give me headaches
๐ฅฒ
dot product and all that
scalar product
Actually Yugi you might be right [-180, 180]
๐ฎ
thing is minecraft keeps it [-180, 180] as well
so i don't see why it would be otherwsie for bukkit
public class Location
extends Object
implements Cloneable, ConfigurationSerializable```
Location has 2 all implementations, 40 methods, 2 implementations, and 1 extensions.
Represents a 3-dimensional position in a world.
No constraints are placed on any angular values other than that they be specified in degrees. This means that negative angles or angles of greater magnitude than 360 are valid, but may be normalized to any other equivalent representation by the implementation.
ugh. might be older versions then. On 1.16 rn and its -180, 180 in F3
his means that negative angles or angles of greater magnitude than 360 are valid
Ic
Why does javafx have all the attributes prefixed with an fx ๐ฅฒ
What shows in F3 is not what Bukkit has btw
"but may be.." why not certainty come on
bruh moment
Bukkit ๐
bukkit is like all the big companies where their rules are always vague so they don't get sued lmao
this is why we need the Paper hard fork
bcz if you get sued, you can say, I Didn't say that.
Lmao
lmaooo
:(
PLEASE
you probably want friends who use gradle KTS
๐
are you trying to suggest i dont?
i saw #developer-chat

hmm I see you've fallen in line
Wait, a stupid question, how do I calculate PL?
(PL . dir) / |dir|
The files you are committing and not committing gives me pain
Blue means modified and red is new but not added yet
Lime green is new & added
And that vomit green is ignored
Oh sorry, I meant PL
She'll eventually git add . lol
P * L
ill do it later, rn im busy absolutely destroying everything
i cant get it to play nice so ill just have to rewrite big chunks of it like i did with pronouns
Your self-esteem?
bold of you to assume i have self esteem to destroy
Lol
the Pro plugins ain't looking so pro now ๐ฅฒ
AmateurNouns
NoobNouns
tbf pronouns actually works really well now, ive spent loads of time tidying it all up
profiles has just been abandoned, this is the first step in unabandoning it
I mean how I could multiply 2 locations?
x1 * x2, y1 * y2, z1 * x2
o
declaration: package: org.bukkit.util, class: Vector
probably means this
ty
Should
alr
Why wouldn't it lol
because its the same dependency string, idk how it works
The resolution path is slightly different, should work on latest
is this latest?
And if it has issues with anything, its very easy to add in extra components to your needs
Yes
alr
extra components?
Like a custom resolution strategy
o
@ocean quartz Btw the resolution from another project may not actually be a bug with the plugin
That seems to occur on any dependency
@half harness wanna play a bit more? I'm tired of coding xD
Really?
spent the past 4 hours or so debugging and fixing ๐ข
spent like 45 minutes adding debug messages just to find out it was all working just after
if B depends on A, but doesnt have a repo defined for a dependency of A, it fails
don't y'all go to sleep? it's midnight already
Ah
lol
fricking europe
and I ain't going to sleep
I mean its almost midnight for me
lmao
wait. what
2mins past midnight for me
Wait... a min...
don't u live in india?
qatar
oh
I live in Latvia
lol
watar
baltic states
watar as in Qatar?
๐
lol
that makes sense
xD
I was confused as to what timezone you're in
who
yugi
Actually i think i know a fix, instead of doing porject.addDependency.. do that to all projects maybe?
Im GMT +3
yeah. same rn. bcz of summer time
porject
I guess yea, that should work
thats cute
ahhh
so its 12:04 for me too
22:04 here
y r u awake at midnight blitz
Daylight savings ๐
Portugal xD
What a wonderful thing to exist
xD welp
ugh. why not?
What is Daylight savings for btw? like to consume less light?
I'm sure software developers love timezones and daylight savings ๐ฅฒ
O
that's actually a lie
discord
It's that thing some countries do that add or take 1h from their clocks
Because
Whatever
Have you seen the Tom Scott computerphile video about that
Pain
Yeah, it's horrible
someone translate convert to ferinheihhowdouspellit ๐ฅฒ
๐
that's 86 F for those american boys
Learn to use a real measurement system
I like day light saving, or else it'd be too bright in the morning, in the summer sun is out at like 6am here
Send the exception
yeah. they're ok.
I personally don't mind them at all
repo, and dependency too
What?
my phone and laptop are smart enough to change the time automatically xD
Slimjar bad
Delete the libraries folder and try
libraries folder?
ye
Imagine
/home/
PDM is on a perpetual state of alpha
lol
lol
ohhh @old wyvern are you staying there or are you in vacantion? bcz I've just realised why I was confused. your github says you're in India
stalker ๐
or is that supposed to show where you were born? idk
I study in India atm, but corona
oh
I pretty much lived here most of my life
Now that you say corona, I'mma put some beer in the fridge
what about that is stalking? he has his fucking real name and location on github... I went to check a project and I saw it. Its not like I stream sniped him irl or something
lol
but i might XD
it was a joke ๐
๐
๐
Has anyone seen Bardy btw?
ty that worked
@jovial warren u alright?
@jovial warren how's that licensing stuff going?
not bad
hi @jovial warren
o hi
hello BBG
yeah I've been working on the data fixers for the past few days lol
we've missed you
Been a while
Also, make an issue about that on git please, ill get it to automatically do that
I was working on porting all the fixes for 4 fucking days straight
jesus fucking christ that was painful
๐ฅฒ
ok
theres a chance it was my fault since i reloaded dependencies like 5 seconds after releasing snapshot
but
i cba testing D:
so
ill make issue
๐
Alrighty thanks
It does lol
so dkim you ain't playing?
uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
ugh. I don't remember where but I saw that it means 2+
small size of 2 or more
or amount
or whatever
yeah some people say that's right, some say that's wrong
I used to think its exactly 2 as well bcz a couple is 2 people usually
but it could be more sometimes I guess
usually that's a yes/no question. but
uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
works too I guess
uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
ok ill play a game or two @static zealot
xD
@static zealot gimme a few mins
alr. 1 sec
Damn a well thought out system makes such a difference, from 85 to 35, now to 21 lines
didn't the 85 -> 35 come from like hours ago
did you spend like 5 hours shortening to 21 
Nah, dinner, procrastinating, then changed it in 5 minutes
Welcome to my life
Lovely ๐ฅบ
fooTH
Optional argument added ๐
now that's what you like to see
oh god
Only added 1 line and it worked for all argument types
I'm surprised this one actually worked lmao
xD
I literally spent like an hour trying to figure out why my consumer wouldnt work then I realized that the api uses the god damn bukkit Consumers for some reason
i still want to know why the bukkit consumer exists
instead of a regular consumer
like
I think it was added because Bukkit was made for java 7 and back then there was no consumer
no no, we talked about that already and it was adder after java 8 was a thing
1.11 lmfao
java 8 doesnt work for 1.7.10?
oh it is wtf
yea
the World class
for Paper, it uses it
OH DUDE
its so annoying lol
I always thought those methods used the jdk one ๐
in any case you can consumer::accept :thinksmart:
hm yea that works
Ah mb, well here is the reason then
๐
also why does bukkit mark interface methods as public lmao
wow, he hasn't aged in that many years? impressive
lol
Matt but what are you working on?
Seen you talking about some completion and shit like that
Rewriting cmds lib
hey @ocean quartz, how do I do top-level comments in MF-CFG?
in ConfigMe, it lets you do that with an empty string as the comment setter
but then I got
@Description({"Hello", "there"})
public class Holder implements SettingsHolder
# Hello
# There
key: "Value"
Though that should work too, idk why it isn't 
and I can put a blank string in that array for a blank line?
Yeah
nice nice
man I'm writing the MF-CFG docs just in this discord channel
if you search my messages with @ocean quartz in them, you'll have a full understanding of how to use it haha
oh I did not mean to tag you very sad
Lmao, i'll definitely write better docs later, i think i'll change some things
oh and while I have you
any reason @me.mattstudios.config.annotations.Path("commands") is happening
You likely have another class named Path around there
Can you show me the full class?
the irony is that, in order to construct a SettingsManager, you need a Path.of()
which uses java.nio.file.Path
Yeah, normally the setting holder a unique file so you'd never have both paths in the same place, interesting that you went with inner class xD
I mean it's super short and that's how the old plugin was setup
so I figured if it works, meh
Yeah, well either you do java.nio.file.Path.of() and @Path or the other way around, in kt you could use type alias but Java
oof poopy java
man I can't wait to rewrite this bad boy in Kotlin and like, with dependency injection lol
do it
i mean yeah soon but right now it's MVP time
Rewrite it in Elara instead ๐
elara parser no worky yet
damnit even moving to their own files I still have a class named Comment ๐ฅฒ
@Deprecated
InetSocketAddress getAddress()```
Deprecated. BungeeCord can accept connections via Unix domain sockets
the remote address
well I would like to know what I should use instead
since it does not mention
and I figure there are some smart people here
wor r u tryna get boiii
a ProxiedPlayer's IP address
d;bungee proxiesplayer#getsocketaddress
SocketAddress getSocketAddress()```
Gets the remote address of this connection.
the remote address
ya but I don't know what a SockerAddress is so I'm scared
I'm very gently upgrading this plugin okay piggy
I don't wanna dive into the deepend swapping out IP addresses for Socket Addresses
socketaddress should be an inetsocketaddress i think then itโs jsut the same@methods
ym fingers are far
fat
i canโt type for shit on hpne
lmao
yeeees
check and cast, that's what Bukkit does lmao
after an instanceof ofc
but it's a super type
Task with name 'remapJar' not found in project ':squirtgun-platform-fabric'.
what a heap bunch of bullshit
and if itโs not an inetsocket
i am scared because this is hard to test
just go ahead and fucking rm -rf that shit
deny connection if not inet
hmm that's smart
donโt think it can ever not be inet
it can be a unix socket ๐
well
that's their problem ig
that soudns like a not you problem
that's very true
I doubt many people are connecting to BungeeCord servers using a unix socket
UnixDomainSocketAddress this probably? 
wonder if thereโs a tier list of socket types
tier list lmao
is there an exception I can use that would fit lol
GetAProperJREException
I don't think the JRE is the problem lmao
yes definitely the same thing
linux is making me sad
kde doesnโt like nvidia prop drivers but noveau is shit when doing anything that isnโt a minimal desktop app
Pop!_OS
what de does popos use
i need kde
for what
happiness
you can swap it out
but I urge you to try Pop!_OS
or at least look at some screenies
it's very pretty
Lmao was checking the Options class from apache commons cli
itโs just ubuntu isnโt it
with some extra sprinkles on top regarding drivers
which will most likely solve your ol Nvidia problem
At least they are honest
i donโt think the os can fix kdeโs explicit dislike of nvidia
never
I hate GNOME normally but when I use Pop!_OS I love it
kde is the best for looks and performance
i just need to wait 10 years for my 2080ti to be obsolete so i can buy an amd card
KDE - Kotlin desktop environment? ๐ฎ
no
no thanks
I will never buy an AMD graphics card
why
They really taking multiplatform to a whole new level /s
they're always worse, their drivers are pieces of crap, and I do not think they do a good job
u kotlin devs basically stole that
itsa joke piggy
amdโs linux drivers are better than nvidia
prop nvidia linux drivers suck ballsacks
yeah idk
lmao
idk why kde gotta be a bitch about it
apparently they purposely make the desktop run like shit when using prop nvidia drivers
:D for 100+ tabs lol Brave
well
just a reddit rumour
so hopefully that proves itโs validity
but I canโt see any other reason for the shit performance
what I am confused
I'm printing out both the old deprecated way of getting the ip and the new correct way
and they're both the same
yet I'm getting exceptions left and right
what kind of exceptions
lol I just reminded myself of this https://www.youtube.com/watch?v=wC4UR-eALZo
very sad
i omitted it
final URL url = new URL(uuidRetrievalUrl + pName);
final URLConnection conn = url.openConnection();
reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder content = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
content.append(line);
}
MojangUUIDProfile p = gson.fromJson(content.toString(), MojangUUIDProfile.class);
if (p != null && !p.id.isEmpty()) {
return p.id;
}```
IOException in there
oh god what
let me see, i may have something
IS MojangUUIDProfile supposed to be kinda like an authlib GameProfile?
api for interacting with web which was introduced in java 11
well duh
I hate that this is the syntax
wait why are there two NotNulls
The first is because the "array" is not null, the second is each element is no null
the other way around matt
Oh is it?
yeah
first annotation annotates the element type, second one the array itself
if it were a regular collection then it would be as you said
but it isn't
smh
Ah yeah, that ^ don't listen to me
java gud
hey is there a cuter way of turning an HTTPResponse into a Json
yes
check docdex
discord subproejct
look for the abstract command search class thingo
i mean can't you like gson.fromJson(response.body(), Whatever.class)?
ye
dayum
client.sendAsync(request, BodyHandlers.ofString())
.thenApply(response -> { System.out.println(response.statusCode());
return response; } )
.thenApply(HttpResponse::body)
.thenAccept(System.out::println);```
portal reloaded aint that great as a portal 3
how do I get a variable out of that
portal stories mel was way better
i do not understand them one bit
do you know js promises?
no
is that the async await shit
star if u want to assign it to a variable straight up then uโd need to run the request sync
well
what variable
I was assuming a field but if not a field, and just a regular local var
basically this bad boy needs to return a string
then u just have to move your logic around a bit
or well I guess a type class
return a completablefuture
can I not just wrap that in this method?
hmm well I guess not
okay nevermind too complicated, back to sync
do I close the HttpClient in the finally block
close?
fiy said "resources" you can put in a twr are those that extend/implement AutoCloseable
woah I didn't even know that was a thing
a good chunk of them
holy shit
yuijehwbad I love when intellij doesn't color anything and gives errors to useless things
what kind of errors
Assignments are not expressions, and only expressions are allowed in this context
(still compiles and stuff)
damn how am I supposed to test an ipban against myself
uh
you just do lol
it only happens in tornadofx StyleSheet ยฏ_(ใ)_/ยฏ
also yes i know i can do Color.WHITE instead of grayRgb
Should have named it Foeniks to follow the dumb k trend kek
#06662F
trfygbh has anyone used tornadofx type safe style sheets before?
Number of letters on your name - 4
The numbers in your name - 19375
419375 in hex is 06662F
๐
okay I figured out why it was erroring originally
y
it was passing the IP instead of the player name lmao
lmao
Where is that from?
got it from paper's SneakyThrow
Also, thoughts? ๐ฉ
basically you can throw a checked exception without adding it as throws lol
pure evil
I remember reading somewhere that sneaky throws were terrible xD
i mean they are lmao
the only genuine use case I see for them is in things like CompletableFutures that pass on the exceptions thrown
but you can't throw a checked exception because it does not take a function that throws anything
le sigh
I don't really understand how an IP is getting passed into a player name slot
and it doesn't happen when I use the old ip address obtainment method
Nice spinach green @ocean quartz
I think you mean, nice beautiful green
spinach
Gaby you need to stop eating radioactive spinach
hm i likey, but I would've named them Flag.named(String)... instead of CommandOption.of(String) and Flags.prefixed(String).flag(Flag)...
how does discord have custom "text"?
for example custom emojis and #chat-reaction (the blue box)
is it an attempt of a more generic approach than "flags" or is it the same concept?
Ooh flag is a good name
Basically to allow you to do nice things like /command sub 5 chest -n 10 -t type where at the end would be the options
I got the name from commons cli
yeah so flags lmao
Yeah xD
does it take flags with no args? :eyez:
Yes ๐
poggers ๐ฉ
Matt is not that noob from time to time <3
lol
I think my idea is to have it like
public void command(Player sender, int number, String anotherArg, Flags flags)
Then you can access flags and get which ones were used, if a required one is not added the framework will handle the error, if the value is not the correct type the framework will handle too, etc
@obtuse gale Better? I like it more actually
Oops forgot to rename method lmao
imagine it's written "flag" there
likey
|| plz put .build() on the same line as the ) ๐ฅบ ||
tehnically each method goes on it's own line
Ew
o
Oh god, sometimes it bothers me so much to not have things aligned, for example why does it go to the left!!
tab
something something ij settings
wdym?
I'll look into said settings tomorrow ๐ฉ
Somewhere on guihelper im 100% sure I have a part of code where I moved some methods to the right with one space just so they are aligned (or was it on a new line?) Xd
Instead of aligning on the right, under where the method is called, it'll go all the way to the left
uh
Smh
<3
uh oh what did i do
so even though T extends Throwable and I throws T, Java just assumes "by default" throws T is throws RuntimeException 
F
A no no
https://i.imgur.com/P6xKINH.png
aw cmon now whats the black thing on the corners ๐ฉ
vfgbjhn
Background
ohhh
lmao
ty ๐
๐
lol
huh
google: https://i.imgur.com/6NMTZ6O.png
javafx: https://i.imgur.com/MM5MxuV.png
uh
javafx: https://i.imgur.com/MM5MxuV.png
is it the same
looks about right
It is the same
The reason it feels different is be because of the background
hmm
You are comparing an entire image with 4 letters and an outline, ofc it feels different
lol
And yea, as matt said, contrast
o
Well not that shit above but yes
same reason why we think brown is a different color than orange
https://www.youtube.com/watch?v=wh4aWZRtTwU
You can support this channel on Patreon! Link below
This video discusses the color brown. Seriously.
That Aging Wheels playlist:
https://www.youtube.com/playlist?list=PLmBDJoIaNRGiK2BgCwz2ALDnNanKBSOgO
And, of course, the Weird World in RGB for those of you who I couldnโt manage to summon a card for:
https://www.youtube.com/watch?v=uYbdx4I...
Wait, the letters or squares? @ocean quartz
The squares