#dev-general
1 messages ยท Page 159 of 1
I did?
COolObject
ah
Because it's a constructor
will get onto constructors in a minute
CoolObject obj = new CoolObject("test");, and it's id is 1, thenobj.setTest("test2");
what do you think the id of obj is now?
no, not every method is void, some have return types
obj.setTest("test@" same id
correct
now, this is also a good time to go back to the levels I was talking about earlier
class level and local level
public final class CoolObject {
private String test;
public CoolObject(String test) {
this.test = test;
}
public void setTest(String test) {
this.test = test;
}
}```
as you can see, in the setTest method, we've got a parameter (variable) called test, but the class also has a field called test
we can reference the class's test, via this
we don't access it via CoolObject.test, because test is bound by the classes instance, not the class itself
we know this, because it doesn't have static infront of it
now, about constructors
constructors are effectively a type of function, and they do have a return type
the return type is the class itself
wait one sec
public CoolObject(String test) {
this.test = test;
}
"we don't access it via CoolObject.test, because test is bound by the classes instance, not the class itself
"
You mean like this
public CoolObject(String test) {
this.test = test;
CoolObject.test
}
right?
well, remember my previous example on the hello world thing?
How do i run an intellij scratch file? Everytime i press the green arrow this is printed fun main(): Unit
where I did System.out.println(HelloWorld.MESSAGE);?
yea
from when doesnt spigot have gson inside?
it still has gson shaded
fresh, that's because MESSAGE is bound by the class, not instance
since test is bound by the instance, not the class, we don't prefix it with the class name
and since the name test is also being used by a local variable, we can access the class-level test field, via the keyword this
@obtuse gale kotlin scratches are scripts, they don't have main functions. They just execute from top to bottom
WAIT
wheres the instance here tho?
public final class CoolObject {
private String test;
public CoolObject(String test) {
this.test = test;
}
public void setTest(String test) {
this.test = test;
}
}
you didn't create new <-
CoolObject obj = new CoolObject("test");, and it's id is 1, thenobj.setTest("test2");
I pressed run and now it just printed this
val parsed: String
val regexed: String```
Oh
one guy came with this to me and he had gson class not found
http://images.virtusdevelops.eu/shareX/1aersdi2.png
ew
nvm got it working
how da fk
@dusky drum every spigot version is a snapshot, they don't do releases for some reason
What did u mean by this tho
"we don't access it via CoolObject.test, because test is bound by the classes instance, not the class itself
"
its 2200 versions behind.
ok, so, in the HelloWorld example, we access the class level field MESSAGE, via HelloWorld.MESSAGE
so, naturally, you'd assume to access test in the setTest method, you'd also do CoolObject.test
but, since test is not static (bound by the class), that's not the case
wait no but
public void setTest(String test) {
this.test = test;
}
What test are we planning on using tho?
so, when you use that method, you provide a string
that string is a variable, called test
that's a variable that exists at the local scope
the method sets the class level test variable, to the value of the local scope test variable
public void setTest(String test) {
} ^ Lets assume this is the thing for now
you said that string is a variable
how so?
ok well yea
its a variable yea
aight so, as you should've deducted by now, there's multiple variables types in java
for example, fields
the variable declared there is a parameter
Yea so the parameter variable is waht u meant right?
It's a variable with the special property that it's assigned on each method call
so what did you mean this.test = test;?
this.test <- does that mean the parakmeter variable = test?
that specific statement assigns the class level variable (field) test, to the local level variable (parameter) test
this accesses the class scope
String test this bit is a parameter
parameter is mroe general then field?
OH so field is what you put inside the thing like a variable and the parameter means whatever is insid ethe brackets
like field is inside the setTest
fields are class level variables
no, that's a variable
fields can only exist at the class level
public final class CoolObject {
private String test; // this is a field
}```
is not a FIELD?
I mean you could call them local variables
But what about the
Variables inside the parameters
like for example
public void setTest(String text) {
isnt text a variable?
anything more speicfic tho>?
I thought Parameter is everything INSIDE the brackets
rahter tahn text
text is just the name of the String right?
So what is the text called alone
public void setTest(String test, String someOtherString)```
Parameters
they're both parameters
BVut isnt parameters both
Yes
String test <- isn't that the parameter
They are both parameters
so how can test be parameter?
2 separate parameters
we cant call test parameter can we?
Why can't we?
the specific text test in that code, is the name of a variable, and that variable is a parameter
Cus isnt parameter the entire String test?
So it would be fine to call the variable name a parameter?
call the variable name what it is, a variable name
this.test = test;
What is Left side and what is right side?
field = parameter
Right side = parameter name?
yes
public void setTest(String test) {
this.test = test;
^ parameter name like the "String test <-" part
}
yep
ok then what is this.test?
let's break it up
ignoring the this, test refers to the field called test
since there's also a parameter called test, we have to use this, to tell java to target the field
not the parameter
this, refers to the current instance of the class we're operating in
wiat wat was field again?
public final class CoolObject {
private String test; // this is a field
}```
@quiet depot
no
Ah ok
parameters are local variables
BUT
VARIABLES Inside a method which are NOT parameter names are ALSO local varialbes right?
correct
ok
@prisma wave take notes lol, you should cover all this shit in your tut
which function is the best for sending area sounds?
I know a good ass tutorial on youtube one of the best ones i found I was gonna watch this but i just asked some questions :P
link
I'm yet to find a "good" tutorial after years of searching
I watched many tutorials and I didnt get it
howly 6:48h
butI watched that one i goot it, Then I quit for like 6 - months or 1 or 2 years
yeah nah i'm good lol not watching that shit to determine it's quality
ohhhh indian english yes
why?
Dude oracle hurts my eyes man
?
i liked the video i linked the most
outta everything i did
Oh
and the online docs
NO THX
I seen the online docs
Not what I'm implying
I prefer either reading a book like they taught in school OR the video
then order one
fresh, it's of paramount importance that you do not hold any information from tutorials like these orthodoxically
I took programming way back in grade 10, regret not taking it later on
you should assume at all times, that the content in the video, is plain wrong
because it usually is
Y?
when you take programing classes in slovenia you learn cout << "THIS IS COUT" << endl; YESSSSSS
i've learned i know more than professors
but if someone teaches at schools and universities they shud be good right?
I'm sure they excel in other areas
they cant be wrong
no fresh
If you've got like 12$ to spare, this is worth getting 
https://www.udemy.com/course/java-the-complete-java-developer-course/learn/lecture/6763756#overview
and teach in universities and schools
lol wait wat y?
that doesn't mean you can't use and apply the information you learn
just remember it's probably not the best way
one of my devs said best way was to buy Java 8 Book from Amazon and go over it
teachers usually teach the easiest way to learn not the best way one.
i think its better to learn from someone who has taught java to students for many years
sot hey streamline their shit so that the students understands it
the best
If you've got like 12$ to spare, this is worth getting
https://www.udemy.com/course/java-the-complete-java-developer-course/
cough
personally, I learn best when taught irl, hands on; i'm a kinaesthetic learner
Oh rip then, sale gone
fresh it's on sale frequently
Yea like they teach in schools @quiet depot
they don't teach in the schools where I'm from ๐ฆ
I mean I have a DSA professor who has been teaching for a some time now and looks like he has a stroke everytime he tries to convert any of the algorithims he teaches to C xD
well ok thats not full hands on so nvm
they talk about it and if you have questiosn you can ask
but you follow the instructions in book
I mean I have a DSA professor who has been teaching for a some time now and looks like he has a stroke everytime he tries to convert any of the algorithims he teaches to C xD
what does he use to teach them?
the p word language?
yea pseudo code
lol
xD
i mean python is basically pseudo code
ew python
He hates python as well
y hate python?
does he actually use python or pseudocode?
pseudocode
thought u were joking lol
oh no I was beign srs xD
I thought you meant pascal by p word lool
isnt pseudocode just code where you explain what your code is in shit like // or /* */
I said p word because I fucking hate python
php, get rekt noob
We correct the dude everytime
i'll try make that more obvious next time
why do you have python?
Poor python
One of my friends likes python a lot and whenever he shows the prof something in python he screams at the dude
hate*
Cause python doodoo
@viscid charm those are comments
then what is pseudocode?
pseudo code is a general, understandable execution process of code, written however the fuck you want to write it
wtf they said thats waht pseudocode was
it's not a real language
hate*
@dusky drum python is just a terribly designed language
ok
very
it's on par with javascript
Kotlin on the other hand, what a beaute
fingers crossed for python 4
I like js slightly more ๐
c++ wins
same lol
fingers crossed for python 4
When is it comin?
soonish I expect
ah
I prefer js over python any day
it's on par with javascript
@quiet depot bad opinion
yo quick question
it's not based on fact johnny
LUA the best!
if short is more efficient than int in terms of like data why dont more devs use SHORT
^
instead of int
check out lua Piggy
I've used lua before
assuming they arent gonna go above a certain amount of numbers
if short is more efficient than int in terms of like data why dont more devs use SHORT
Not more efficient, uses less bits
I've used lua before
interesting
Uses less data so doesnt it make it more efficient?
Wait until you hit an overflow
if not work then
lua is especially great as a scripting language imo
Fresh, it's nominal
Uses less data so doesnt it make it more efficient?
Barely anything at this day and age
they're still stored like an int
idk where
what do u mean nominal @hot hull ?
Meaning just use int
shouldnt we use short if we can instead of int?
i know lua from fivem, used to make resources for fivem (scripts for servers).
No
No point
isn't it good practice to do that when int is not required you can just use short?
No not really
i know lua from fivem, used to make resources for fivem (scripts for servers).
Thank god that a c and not a k
only time I've seen short used in java is when networking is involved
shouldnt we use short if we can instead of int?
If you are absolutely sure your value wont exceed it you can, unless you want to face an overflow.
XD
its ussually just good practice to just use ints
Its just a 2 byte difference
2 byte is 2 byte
OH if the options are like 1 - 2. Still use an INT?
if they're 1 or 2, use a boolean
1-2 use boolean
2 byte is 2 byte
Overflow is overflow
1 - 3*
I mean if you're concerned about an int instead of a short, you should look at your other parts of the code
then use the shortest stuff there is
really depends what those numbers represent fresh
You guys don't really get it. The JVM is optimised for ints and you mostly don't even end up saving anything when using short
Would using an INT over a short make the code more readable? If thats true then it makes sense to use int over short (EVEN if u dont need to use int)
What does that have to do with readability
Nothing 
it makes it mroe readable tho
How so?
:what:
the smallest unit of data on the JVM stack is 32 bit
only people who don't code would have that opinion fresh
Nice
Well it would signify the possible range
Things arent always pretty ๐คท
I Barely ever use shorts or bytes unless its networking
boolean ๐
bruh just forget those two exist, you'll never use them (and if you do, it's going to be specific af)
Just like everyone should forget that Thread.sleep exists 
Ok but if thats the case why not use Long over INT?
Because overkill
yep
cus Long would mean that in case it EVER gets to HUGE ass numbers you won't fk up or something
why not use BigInteger ๐
oh whats that?
why not use STRING?
the smallest unit of data on the JVM stack is 32 bit
@old wyvern yeah that's what I was talking about. Primitives are stored on the stack where you can't get any smaller than 32 bit
big integer is string
String not a number tho
Use a string and count the chars :kek:
Niall, dont
basically
Y'all confusing this man now
doubles and longs take up to places on the stack
yes it is pepper
You need an entire machine to store 10^100
btw long is usualy used for hex stuff in java if im not wrong.
long is used often
which is why they can't be modified atomically btw
currency and timestamps and stuff
ye
long would be useful for prisons where balances are like in trillions
not without further measures that is
isnt currency usually in double?
You'd use BigInteger for that Fresh
isnt currency usually in double?
@dusky drum Not if you actually need accuracy
BigInteger bad
Double I think
ew Gasper, imagine having a currency which supports decimals
you'd use double i think
frosty you have cents?
No
yes
No clue what that is
Nah it's 99
but everything piggy explained me, you guys think the spigot devs would know it xD?
wait actually?
it's sort of common sense
they probably wouldn't explain it like I did
but they'd understand it
O
anyone has idea why when water flows over crops and breaks them in fromtoevent even if i set crop.type = Material.AIR it still drops seeds?
like water flows faster than event ends?
Does it have a drops list?
I'd imagine because the event wasn't cancelled
but then water wouldn't flow
i did it in java
you'd need two separate events
idk why i cant in kotlin
ye thats just spigot i guess
just paste your java code into ij?
gonna try
it'll convert it to kotlin, and preserve semantics
most of the time
since i used event.block and not event.toblock but event.block is always AIR for some reason.
shit's funky
nvm
yo guys if you put a double into a int, it will lose some data like their decimal value. But what would happne if you put an int into a byte would it just lower the value to less than 127?
its same
Spigot messy
bruh what is that spacing
what would happen if you do something like that with int to byte <-?
Also fix that beggining of arrow code 
Would it lose value or give error?
over/underflow is what happens
round the value.
it will round the value or throw over/underflow?
how does rounding help when you take 3/4 of the size away
wait no it will be compilation error
overflow is not an exception
i remember i tried it
it's not a compilation error
So you end up at the negative end
oh and did spigot 1.8 not have gson shaded in?
spigot 1.8 has gson
public class FirstCode {
public static void main(String args[]) {
int i = 128;
byte b = (byte)i;
System.out.println(b);
cause that person still gets NoClass error
It gfave nothing
tell them it's a case of pebcak gasper
Try something out of byte range
128 is out of range
256+ numbers
wasnt 8 bits up to 256
no
Oh nvm
No thats short i think
bytes are -128 to 127
are you sure you even ran the programme
yes i ddi cus it said hello world
I just did the same and it overflows as expected
paste the whole code
public class FirstCode {
public static void main(String args[]) {
int i = 128;
byte b = (byte)i;
System.out.println(b);
Herro.HerroDer.hello();
}
public static class Herro {
public static class HerroDer {
static void hello() {
System.out.println("Hello World");
}
}
}
}```
should work ยฏ_(ใ)_/ยฏ
it's impossible that it doesn't print anything before hello world
overflow is not an exception
We arent talking about a stack overflow
we've been over this multiple times now
Thats just a problem with stack datastructures in general
why does my eclipse say this about this
long l = 21415303450;
The literal 21415303450 of type int is out of range
giving me error
eventho its a long
it's not a long
it says long
"eclipse"
any numeric literal expression without a decimal point is an int
There's your first issue 
add an L after the number to specify that its a Long
I just told you
^
It doesnt say overflow for me it says these things for me:
"-128
-59533030"
It wont "say" overflow
Ah so I thought it was cus int is the default for all numbers without decimal point and double for all decimals
we litrally told you this multiple times now
didnt read my bad
Ah so I thought it was cus int is the default for all numbers without decimal point and double for all decimals
@viscid charm that is why
Ok so if
double d = 1.1D; what would be the ending for a int?
when java sees a regular number it doesn'T care about the size it just assumes it's an int
Int doesnt need one
yea double doesnt need one either
but i am wondering
so thats why it makes sense to just use int all the time for integers rather than short or byte @lunar cypress
byte has its purpose
especially with arrays
in a lot of lower-level applications you need to deal with arrays of bytes
wat do u mean by
And arrays are different because they're reference types, meaning only their reference is stored in the 32 bit on the stack
lower level applications?
fewer abstractions
Ok so you know how
int a; The int part is data type. Primitive data type.
Would Player p; for spigot or bukkit or watever be considered a DATA type or just a type?
those are synonyms
so Player p; The PLAYER part is a DATATYPE?
Data Type seems more specific to me
The only difference would be that the Player p; would be a reference to something on the heap while the primitive resides on the stack itself
^
wahst the difference then?
read this
You learned java from that site @lunar cypress ?
Thats the official documentation xD
it goes into the technical details
explains how the jvm works
all your specific questions have an answer there
I will mention that you probably don't need to know how the heap and stack work
As long as you know the basic concepts
This is not the type of documentation you start with
Woudlnt my plugin be more optimize if I understand it @prisma wave ?
You're worried about the wrong optimization
Knowledge of how the JVM works might allow for potential micro-optimizations
it should be noted that those are expert topics. It's useful to know what you're working with, but it doesn't help you much as a beginner
^
you should be concerned with the fundamentals of the language first and foremost
i still have no idea why my fromtoevent doesnt work correctly
Because spigot 
its the same code as java but in kotlin it just doesnt work
Anyone here work with some kind of crate (wheel of fortune) plugin, before? Does the timer when the "wheel" spinning is the same? ๐ค . Or it stop when it pick the the correct prize ๐ค
Ive got a command service bean, and it runs on enable, but for some reason my listener service bean doesnt.t.t.
its the exact same as the other one, but for listeners not commands
in b4 frcsty says baked beans as well
Baked Beans
Ive only worked with rust crates
Ive got a command service bean, and it runs on enable, but for some reason my listener service bean doesnt.t.t.
@obtuse gale Wot
Is this spring?
yea
Minecraft plugin?
Send listener class
Make sure its annotated with @Component or something
@Service
class ListenerService @Autowired constructor(
private val attachment: Attachment,
private val waiter: EventWaiter,
private val jda: JDA
) {
@Bean
fun listeners() {
println("Registering listeners")
jda.addEventListener(attachment)
jda.addEventListener(waiter)
}
}```
Beans are meant to return something
Just put the listener registring in a
init {
}
block
@heady birch still doesnt printout the thingo
too early for this
lol
you gotta use the listener service somewhere I believe
show the class now
@Service
class ListenerService @Autowired constructor(
attachment: Attachment,
waiter: EventWaiter,
jda: JDA
) {
init{
println("Registering listeners")
jda.addEventListener(attachment)
jda.addEventListener(waiter)
}
}```
Hm
both should work
ye
my other one is the same
set log level trace
how what when where
@prisma wave ok so I already tested thing yesterday and apparently it returns MemorySection (yaml class)
ah yeah that makes sense
Guess I have to convert them back to Map...
Wait, should I do HashMap or LinkedHashMap?
doesn't really matter but probably Linked
Whats the difference
I have forgotten the way of manual dependency injection
Plugin class as the composition root ๐คข
object1 = new Object1(this);
object2 = new Object2();
object3 = new Object3(object1, object2);
object4 = new Object4(object1);
object5 = new Object5(object3);
object6 = new Object6();
object7 = new Object7(object4, object5, object6);
object8 = new Object8();
Makes me sick
horrifying
You disgust me Niall
@heady birch I enabled it, what should I be looking for in the logs?
anything that mentions that class really
11 results
Me.SomeField = False
Creating shared instance of singleton bean 'listenerService'```
Creating instance of bean 'listenerService'```
Eagerly caching bean 'listenerService' to allow for resolving potential circular references```
Thats fine
Probably kotlin fault
FIx it then
no
how would one fix this then lol
Idk
Spring gud
guice better
Baked beans do I hear
When I am picking a license for an open source premium plugin. I don't want any of this "I contributed 3 lines worth of a null check" and then release there own forked free version, or a forked premium version.
So short term, I would allow:
- Contribution to the base repo.
- Forking for private use
- No forking for public redistribution (free or premium)
and of course bukkit GPL license comes into this:
- All plugins being required to be GPL because they use Bukkit.
Which license is suitable, if not I can write my own pretty easily right?
i wouldn't take action
Time to fork and release as premium then >:}
Best font there is 
@prisma wave How do I fix this then: https://discordapp.com/channels/164280494874165248/695431668944732270/744145301014708264
Like... ๐ฆ
It's all I've ever known
You don't
I finally added something on js-expansion :)
So?
Is this not correct?
archiveFileName "SpawnerMechanics-${version}.jar"
I had this inside shadow jar, but it doesn't like it
Instead of doing like this:
var amount = Data.get("data.thing.that")
will be:
var amount = DataVar.data.thing.that
Ofc i won't remove the 1st one there
Btw, now with array support :+1:
My IJ's font is cucked, it feels so odd now
@hot hull archiveFileName = ""
smh
and does ${version} even work?
My own string so yes 
ic
project.version
When I am picking a license for an open source premium plugin. I don't want any of this "I contributed 3 lines worth of a null check" and then release there own forked free version, or a forked premium version.
So short term, I would allow:
- Contribution to the base repo.
- Forking for private use
- No forking for public redistribution (free or premium)
and of course bukkit GPL license comes into this:
- All plugins being required to be GPL because they use Bukkit.
@heady birch don't go for open-source
Go for OS
No
Yes.
No open-source license would allow him to do that ...
If he made his own it would
project.version
@distant sun thats what i use ye
Open source good
imagine making ur own string
Closed source bad
Kali, what? I already have a version string so what's the point?
version = "1.0.0"
That's shorthand for project.version afaik
It is yes
Groovy is weird
I actually had to write some groovy the other day
It was a strange experience
I was testing how closures work for the pdm plugin
They're weird
You like make a function and then you initialise it with the receiver type or something
cOlOrZ
i kinda like that
Someone should really make a completelly rainbow plugin
Also KM, seems like you can only define 5 colors, which is :((
๐
whats so different from 1.16.1 to 1.16.2?
@dusky drum nms changes, brutes were added
but nms still bad yes?
it's not great

messy
but will probably get better over time wont iot?
Awesome my parser also colors actions correctly now!
@ocean quartz Is that available as open-source? I want tostealborrow your code, it looks dope
what would be the best way to handle Locales, using enum class?
what would be the best way to handle Locales, using enum class?
@Gasper Lukman#6926 Resource Bundles
wtf is that
im on kotlin btw
so if anyone has idea how i could handle Locales, instead of getting configuration file each time.
@empty flint Yup it's the link Aj posted but it's not ready for production yet
wait can i see showcase @ocean quartz i didnt see it in action
Here is an example #showcase message
And this is the latest thing i added
this is a long shot, anyone got any idea why 1 project would deploy to a nexus repository manager instance just fine, but the other would fail with the error peer not authenticated?
For context, I'm running this script on Travis-CI:
echo Publishing Common Lib...
./gradlew common-lib:publish
echo Done!
echo Publishing PDM Runtime...
./gradlew pdm:publish
echo Done!
the common-lib publishes fine, but pdm fails. Completely the same publishing config in build.gradle, credentials are setup correctly
so if anyone has idea how i could handle Locales, instead of getting configuration file each time.
@dusky drum Im telling you, use Resource Bundles. IntelliJ -> new -> Resource Bundle.
Just Google how to use it instead of fucking about with Enums
are you fucking retarded thats locales for fucking formating stuff.
I use enums but it isn't great
danke
@prisma wave i did some nasty moves for yaml now ๐
Converting from MemorySection -> HashMap recursively
When you make your own holograms and they work as they should (||sarcasm||)
probably because 1.8
imagine not using RoseStacker 
@regal gale lol why not just to MemorySection#getValues?
@silk jewel are you using bukkit's config api, or snakeyaml directly?
#getMapList
it's a list of maps
they're wildcard generics
means the type is unknown
equivalent to Object
With gradle, I was told I could compile with only what I used in a specific library (in this case, ConfigMe) - to reduce file size. How do I do it?
Could you show me an example?
Just minimize(), or something like minimize(Library)?
k
That didn't seem to do anything
My file size is the same
Actually I tell a lie - 10kb difference
yeah it won't be a significant difference for only 1 library
configme is already pretty small afaik
does anyone know why something would show up in my external libraries, but i wouldn't be able to use the dependency or any of its methods
its in mavenLocal()
is the jar file right?
yea when i look at it in winrar it has everything i would expect to see
build.gradle?
winrar
smh
vb, quick jvm question, is it possible gc is killing my list before my schedule runs?
oh boy
possibly?
i doubt gc is that agressive though, what's the delay on the task?
1 - 3 secs
hm seems unlikely
https://paste.jaims.dev/vapequvedu.cs - for the dependency
https://paste.helpch.at/yubayeporu.coffeescript - the dependencies submodules
https://paste.jaims.dev/ejozuwikeq.cs - for my plugin
https://paste.jaims.dev/otihuxupuz.coffeescript - for my plugins submodules
which bit in particular is null?
alrighty
what is it?
there's a flaw in my logic somewhere
@surreal quarry what's the dependency that can't be resolved?
dev.jaims.mcutils:bukkit:2.1.1
and dev.jaims.mcutils:bungee:2.1.1.
not sure how that's possible
everything is filtered beforehand
guess i'll have to debug that too
odd
yeah
publishing {
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
repositories {
mavenLocal()
}
}
}```
publishing {
publishing {```
?
you sure that's correct?
nope lol
its probably not
changed to
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
repositories {
mavenLocal()
}
}```
still doesn't seem to be working
but i guess ill check the syntax for the rest of it
that looks alright
you've checked that it's in the correct path of maven local right?
yea
.m2/repository/dev/jaims/mcutils/bukkit/2.1.1/{jar here}
same for bungee
but bungee instead of bukkit
its publishToMavenLocal right
for the task
does bukkit block have a custom equals & hashcode impl?
need to know if I can rely on it in a set
yea publish didn';t change it
@quiet depot https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/browse/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
according to this no it doesn't
but subclasses might define one
Location definitely has one

well bm when i use the maven plugin and run gradle install, it works fine
nothing appears to change but it works for some reason
yea i think it is
im not planning to use it i just wanted to test it
the difference actually is it didn't include any of my shadowJar artifacts
nothing is shaded
you probably shouldn't be publishing shaded artifacts anyway
if you're publishing a library you would typically declare any transitive dependencies with the api or implementation configurations
ok
well idk why but not shading stuff fixes it
so i guess i'll go with that lol
@quiet depot I don't suppose you know how to fix this?
pdm is in 3 modules, I need to publish 2 of them to a maven repo, and 1 to gradle plugins portal
I was doing this with a simple shell script: ```sh
./gradlew common-lib:publish
./gradlew pdm:publish
./gradlew pdm-gradle:publishPlugins
``` but for some reason my repo rejects the second publish task (peer not authenticated, credentials are definitely correct).
It works if I don't publish common-lib, so it's possibly a problem with gradle
Anyway, my idea for a possible fix is to make a single gradle task that publishes everything
task publishAll {
dependsOn subprojects.find { it.name == 'common-lib' }.tasks.getByName("publish")
dependsOn subprojects.find { it.name == 'pdm' }.tasks.getByName("publish")
dependsOn subprojects.find { it.name == 'pdm-gradle' }.tasks.getByName("publishPlugins")
}
but this fails because publishPlugin's cant be found (because it gets loaded before the pdm-gradle module loads its plugins)
any ideas?
sorry for the huge paragraph btw
just running out of ideas lol
i'm sorry dude
I've got no clue
I've never used the publish task
I have a big fat script that interacts with maven cli whenever I publish shit
https://github.com/PiggyPiglet/Framework/blob/master/scripts/deploy.sh not exactly useful to u tho
when bm helps everyone but no one can help him ๐
Sheesh
When noone helps BM, so he helps himself ๐ฃ
lmaoo
๐ญ
Doesn't sound as nice as the other one
#738969308746612766 kotsumag and his broken plugins
Probably not his fault and just an issue with WorldGuard version change from 6 to 7
Why wouldn't he just ask him to update it lol

anyone able to fix it if I send source? its a custom plugin made by kotsumag but he's a bit busy atm
It's alright was just showing the reason ;p
Everyone legit wanting plugin ipdates recently, does everyone just discontinue their plugin after the first update :p
Ayy you changed your name back to normal xD
for now
C# Mitten plz
when it actually works I will
have u fixed elara yet?
Also, structs almost done alongside type parameters for func def
all the inconsistencies I outlined the other day
.-.
i can't even remember
I think it was mostly let
Also Yugi, look how far the message lib has gotten ;p
you said => was easy to type
even though => is objectively harder to type than ->
you said => was easy to type
@quiet depot
Wait wha
- is right next to =
the keys are next to each other
lol
Almost, there is still a few things to do involving colors and also need to work on a good basecomponent to string converter
the easiest might be something like >>
you mentioned it briefly I think
Almost, there is still a few things to do involving colors and also need to work on a good basecomponent to string converter
@ocean quartz
Ah I see, GJ bro ๐ฏ
oh yeah
u said u don't like walrus operator, and then I said my reasoning of why it's better
which was it's easier to type
vbscript for life
do they?
ahhh ok
I re read
so here's exactly what happened
I said I like vlang, niall said :=, I said yep, you said walrus operator is hard to type
ah yeah
I said => is arguably harder to type
was nothing todo with the usage of either in elara
I mean => also has this in some themes xD
merely the presence
yeah
being tricky to type isn't the only reason I dislike it
walrus or =>?
