#help-development

1 messages · Page 1558 of 1

proud basin
#

By that mean I the api I create for the user to use

whole stag
#

You don't store it, the only person with the key is the user

proud basin
#

but the api key would be different for each user

whole stag
#

Yup

proud basin
#

im lost

#

you got any visuals?

whole stag
#

You generate the key, give the key to the user. The user than at some point comes back and says "is this a valid key?" You check the key and say either yes or no

proud basin
#

but don’t I need to store the key that is given?

whole stag
#

Easiest way would probably be to have a small server listening for requests, preferably behind some sort of ddos protection

#

You don't need to store the key. Once you give a user a key, they should be the only person that has it

#

What the user does with it is their own problem

proud basin
#

but then how would I check if the key is valid if its not stored anywhere

hasty prawn
#

Might need to just cancel EntityTargetEvent then, if you want the Creeper to start igniting, get really big, and then stay that way you can cancel ExplosionPrimeEvent

leaden falcon
#

Like target them and pathfind to them

whole stag
proud basin
#

huh

hasty prawn
#

Well you can still handle Target event any way you want, but I don't think there's a way to prevent a Creeper from igniting if they are close to their target

proud basin
#

Ngl im actually lost on how you don't store it

whole stag
#

You can check if a key is valid without knowing what it is. Think about a lock and key. If I come up to you with a key, you can see if it unlocks a lock without actually knowing what the key should look like

#

Essentially, there are two ways to check it, either have a picture of the physical key to compare it to, or use it to try and unlock a lock

proud basin
#

uh

#

how can you check the key if you don't know what it is

#

that doesn't make sense

whole stag
#

How does a lock unlock without having a copy of the key it works with?

proud basin
#

uh

#

with the key being stored?

whole stag
#

Locks don't have a key inside of them though

proud basin
#

idk why but im still convinced you need to store it

whole stag
#

You don't

proud basin
#

Have you done a project that works with an api key so I can understand this more?

leaden falcon
#

I created a creeper which shoots explosive grenades at you when its far

#

So ig that's good enough

whole stag
#

You don't really think websites store the exact password of every user, do you? That'd be a huge security risk

whole stag
#

Yup

leaden falcon
#

(More specifically, the salted hashes, but that's a little out of the scope of this discussion)

whole stag
#

The hash is the analogy of the lock here

#

You can check if a key "unlocks" the hash without knowing the key itself

proud basin
#

waa

#

I'm sorry but I still don't understand

whole stag
#

So your validation server would consist of a bunch of hash "locks", and when a user sends you a key, you check to see if it "unlocks" the hash

#

Give me some word

proud basin
#

water

whole stag
#

Okay, the unsalted sha256 hash of water is 8df05e5dca9023bac1670068adb05cbe46db2c05c89476736fefcea60c754ef3

dusty estuary
#

doing NMS or what?

proud basin
#

sha256?

leaden falcon
#

So basically

#

sha256 takes in some text

whole stag
#

Now I keep that hash anywhere, and whenever you come to me in the future and ask if "water" is a valid key, I check it against that hash

leaden falcon
#

Any text

#

And it turns it into what seems like gibberish

proud basin
#

hm

leaden falcon
#

But the idea is, this sha256 is unique* for each piece of text

#

So

#

If I wanna check if your password is right

dusty estuary
#

why do you need to hash something

leaden falcon
#

I take the sha256 of that password

dusty estuary
#

cuz its annoying to decode

leaden falcon
dusty estuary
#

oh ok

proud basin
#

Will I need some sort of web server for this?

leaden falcon
#

It's not supposed to be decoded

#

You hash it, and then you compare hashes

#

If I hash pineapple, and try to enter that as your pass

dusty estuary
#

oh

leaden falcon
#

The serv compares the pineapple hash

#

To the hash of your password

dusty estuary
#

so its like you compare hashes with hashes

leaden falcon
#

And if its wrong, I got rejected

whole stag
#

And the nice thing about a sha256 hash is it's virtually impossible to reverse, so you can store it anywhere you want

leaden falcon
#

That way no one will actually know what the pass is

#

But you can still check

dusty estuary
#

but i usually use something called AES?

leaden falcon
#

If someone somehow breaches your servers

#

What's AES?

dusty estuary
#

AES 128

leaden falcon
#

Encryption isn't good for passwords

#

Only hashing

#

If it can be decrypted, anyone who breaches the password can decrypt it too

dusty estuary
leaden falcon
#

Yeah that doesn't seem good for passwords

dusty estuary
#

oh ok

whole stag
#

AES is bidirectional, that's a huge issue here

leaden falcon
#

^

dusty estuary
#

cuz i was asked to decode a SHA256 (give that the password is 6 digit)
and then....

#

it took me an hour

#

like

leaden falcon
#

You can't decode a SHA256

dusty estuary
#

something along that line

#

i forgot what that is

whole stag
#

You can only brute force it

leaden falcon
#

Or rainbow table attack it

whole stag
proud basin
#

yes and no?

dusty estuary
#

like basically i used tensorflow to do it

leaden falcon
#

Which is why normally

dusty estuary
#

like cuz tensorflow can allow you to exectute multiple try

leaden falcon
#

Tensorflow can crack SHA256's?

dusty estuary
#

at one go

leaden falcon
#

AI can?

#

You want to salt your hashes

dusty estuary
#

not AI , i just use GPU operation

leaden falcon
#

oh

#

So like

dusty estuary
#

cuz stuff will be quicker that way

leaden falcon
#

If I'm a hacker

#

I have all of your passwords now from the breach

whole stag
#

It would be best to, but you could just hardcode the accepted hashes into the jar. It'd be a lot less flexible though

dusty estuary
#

its STILL a brute force, but then instead of 1 operation one time

#

i do 10000 operation one time

leaden falcon
#

Now

proud basin
#

Would it be hard BobLaserShark?

leaden falcon
#

I can have a list of premade hashes

#

And check if those passwords are part of my hash-table

#

Which is why you want two components, a hash and a salt

proud basin
#

wait

leaden falcon
#

irc

proud basin
#

so do the hashes get stored?

leaden falcon
#

Yep, the hash and the salt iirc

whole stag
#

A server? It's pretty simple. You can throw it together in a few minutes

dusty estuary
#

auth me?

#

or what

whole stag
#

In the simplest solution, the hash is stored

#

There are ways to avoid even that though. They get weird fast

proud basin
#

would they be able to decompile and find that in the jar

dusty estuary
#

no use

#

cuz it takes a lot to decode stuff

#

like if the password is long

whole stag
#

They could find the hash, but it would give them nothing

dusty estuary
#

you can only brute force it

#

but then , it takes ages

proud basin
#

hm

vague mason
proud basin
#

And you said its easy BobLaser right

whole stag
#

Billions of years

#

Making the server is super easy

vague mason
#

I have used aes for my password manager + Sha 512 and Blowfish.

proud basin
#

So, does the server run off a vps or a web server etc..

vague mason
#

For minecraft auth / login system I have only used sha256 like owner can choose encryption.

whole stag
#

VPS most likely, but there are other options

tired dagger
#

You guys are killing me. #general

dusty estuary
#

btw anyone here is good at Machine Learning? Finding collab on my plugins cuz I know (almost) nothing in that field

proud basin
#

why general?

vague mason
#

I had 8 gpus for brute forcing.

proud basin
#

this is part of development

whole stag
#

^

tired dagger
#

It sounds like you're just arguing over decryption algorithms xD

whole stag
#

For API key for a password

proud basin
#

hm

whole stag
#

Which should not require decryption

vague mason
#

Aes is safe if you have good encryption key and know how to store it safelly

proud basin
#

and does it matter what specs the vps has?

whole stag
#

As little as possible. AWS free tier would be enough

#

Could even run server less for more savings

proud basin
#

don't you need to attach your credit card to that?

vague mason
#

Aws is too expensive not worth it.

whole stag
#

AWS free tier is free, you don't have to pay

proud basin
#

No credit card is required to be attached?

whole stag
#

You will need one associated with your account, but it won't be charged

cunning gale
#

Q.How to edit a source code plugin
1.i did download the souce code
2.i did install eclipe
3.i tryed to import the source code file but its not working

any help ?

proud basin
#

See that's what I'm sketched about

whole stag
#

It's AWS

proud basin
#

still

dusty estuary
#

@cunning gale
compile the java and import with maven
OR edit the source code

#

or put it in a package

#

of your pulgin

whole stag
#

Stay within the limits of free tier and you pay nothing

cunning gale
#

@dusty estuary can you please teach me how can i do that

dusty estuary
#

Ok

proud basin
#

hm

#

Any other options?

dusty estuary
#

does the source code come with a pom.xml

vague mason
#

OVH vps for US and Europe

proud basin
#

I mean any other options like aws

vague mason
#

To be honest those are all overpriced. Like Linode, digital ocean. If hosting provider has free plan or give like so much money in credits. Digital ocean will gibe you $100 worth of credits. Then they need to be expensive as hell.

#

So it's much better to just pay normal price from the beggining.

proud basin
#

so I could get a vps that has like 1gb of ram?

vague mason
summer scroll
#

google free trial gave you like 300$ or something credit

vague mason
#

Hetzner has minimum 2GB of RAM

valid forge
#

Hey guys, "Quick" question, how would one "group" two spigot servers under one "name", so when a player joins that name, they're sent to the last server they were on. but only when joining that group, Ive tried two bungeecords with redis-bungee. and i am currently stumped with how to send players between each bungee instance.

I've been using bungee for a while but this just stumps me.

I have also tried setting the different servers' restricted: to true, while forcibly sending them to one or another, depending on which they last were on. But I want to be able to also disable them from /server-ing from one server within the "group" to another.

For example: I want them to be able to /server to Creative. And then be able to /server to SkyBlock, which SkyBlock is registered as TWO sub-servers, that the player is sent to their previous server.

proud basin
summer scroll
valid forge
proud basin
#

can i just host it off my second pc?

valid forge
proud basin
whole stag
#

Plenty for this

#

1 million requests a month

#

25 gb of database storage

vague mason
#

This is to much limited. I would rather just pay 5€ per month and won't have any limit.

#

Imagine if soneone would refreah your website all the time

#

And you will get like 500€ or more bill

whole stag
#

No, that's not how it works

#

It's a lambda, not a website first of all

#

Let's say someone refreshes once a second, 24/7

#

Dunno how they managed to do that with the lamda (and you can set up rate limiters btw), but we'll imagine they could

#

That ends up being ~2.5 million requests, which while it does overflow the free tier allocation, would cost...

vale cradle
valid forge
#

?

whole stag
#

About three bucks, worst case

vague mason
#

36.288.000 requests per day and 1.088.640.000 per month.

whole stag
#

2.5 million per month

vale cradle
vague mason
#

Wait

#

Brute force attacks

#

From billions of computers.

#

Usually takes few days

whole stag
#

AWS has ddos protection

#

And rate limiting

vague mason
#

What is default rate limit?

whole stag
#

Dunno, set it to once every five minutes and we good

#

AWS is only expensive if you use it wrong

vague mason
#

I hear that alot of people used infinite loops and en up with bill that is higher then few 1000 $.

#

I wouldn't take that risk.

whole stag
#

AWS is only expensive if you use it wrong

silk mirage
#

Hi, I'm having some issue.. I'm using NMS (1.12.2) and setting generic.armor Attribute to a armor. So if player equips one piece of armor it'll work but with multiple it'll just get overriden by the latest worn item.

vague mason
#

Its much better and chill if you own a VPS and can do what every you want without any limit.

whole stag
#

Then get a vps from aws

proud basin
#

that’s another thing it If do something wrong I don’t wanna get charged like $1000

vague mason
#

How much does ir cost?

whole stag
#

VPS is expensive though

vague mason
#

Yeah that why

#

Aws is expensive

silk mirage
proud basin
#

what if I hosted it off my second pc?

whole stag
#

Any vps is expensive for this

vague mason
#

From free plans they earn money from mistakes like infinite loops

#

And VPS that they don't have any limits are expensive anyways

whole stag
#

No, free plan is just throwing spare server time

#

Almost any vps has some limits set

vague mason
whole stag
#

Lambda is free

vale cradle
# silk mirage

I'm not sure what's the Magic number for the ADD_SCALAR or MULTIPLY_SCALAR_1 operations, but I think one of those is what you're looking for

#

Based on what you get I think the 0 operation might be the ADD_NUMBER ;p

vale cradle
#

Or wait

silk mirage
vale cradle
#

Ugh

#

I got confused

#

Then try add scalar?

whole stag
silk mirage
#

It was due to UUID range

#

I will make it random

vale cradle
#

I don't think it has something to do

whole stag
#

About 1.7 euro

vague mason
#

2 cores

whole stag
#

You don't need that for this

vale cradle
#

I'm talking about the operation used on the attribute

vague mason
#

Yeah as I told it aws is expensive.

whole stag
#

It's cheaper than your vps

proud basin
whole stag
#

If your second PC is always on and accessible to the world, yes

#

Remember electrical costs though

vague mason
#

Wait what does he need to host?

whole stag
#

Take a key, check if the key is valid

#

No more, no less

#

So, you know, perfect for a lambda

vague mason
#

That can be done with every hosting provider

#

1€ per month or even less

silk mirage
#

Umm, I have another doubt.. How would I replace the current armor of a player.

#

I'm listening to InventoryClickEvent for armorEquipment

whole stag
proud basin
#

how do I even set this up on a vps

vague mason
#

You just make a simple php script.

#

And make a API like json response.

whole stag
#

You don't, don't use a vps for this

vague mason
#

You only need website hosting for that

#

This would be really cheap

whole stag
#

Don't even bother with website hosting, it's cluttered and bulky for this

vague mason
#

I have $1.35 per month, but I know you can get it cheaper then that somewhere else.

whole stag
#

providers will also start charging more for high traffic sites, and lots of them don't have the nice safeties AWS has

vague mason
#

I would never trust AWS with my credit card 😂

whole stag
#

And they suffer more from ddos

vague mason
#

One mistake and you would need to sell your house 😂

whole stag
#

Not really

proud basin
#

so what would I use

whole stag
#

You can set a max monthly budget. If you exceed that it'll automatically lock down

vague mason
whole stag
#

You use your PC or AWS

vague mason
#

So website should be much faster

whole stag
#

As in, not at all

vague mason
#

It is amazing for ddos protection

whole stag
#

Wouldn't work here though

vague mason
#

It will still cache javascript, html, css and images

whole stag
#

Not the php though, which is what needs to run

proud basin
#

i will use my pc

vague mason
#

But still Cloudflare will provite ddos protection on all layers

whole stag
#

How will you handle rate limiting then?

vague mason
#

I made that multiple times

#

For online bank, password manager....

whole stag
#

That's not true rate limiting. If the PHP is running the request was made

vague mason
#

It still limits so much resources

silk mirage
#

Uh, Can I get the slot of clicked item?

vague mason
#

Also cloudflare can do that for you

#

Or even RapidAPI

whole stag
#

Doesn't limit the apparent traffic to your site

vague mason
proud basin
#

oh my this sounds compicated

#

complicated

vague mason
#

It really isnt just don't listen to BobLaserShark he makes everythinf sounds complicated.

whole stag
#

It is. at this point ziga is hacking together multiple different platforms, twisting the purpose of a few things, and writing a whole lot of code for extra protection

#

Compared to AWS. Upload a Java function, fill in a text box for request rates, and hit run

compact haven
#

@proud basin whats the actual goal of all of this

#

if you're trying to make some licensing system, dont

whole stag
#

API keys

proud basin
#

^

compact haven
#

because it's been tried, by people who I can tell are much better at this than you (no offense), and there's been no way to implement it

#

api keys for?

whole stag
#

A plugin

compact haven
#

you cant lock functionality with an api key

whole stag
#

Yes you can

compact haven
#

you can maybe lock it from a normal user

whole stag
#

It's easy

compact haven
#

but anyone with more than 3 braincells can remove the code that locks it

whole stag
#

You could say the same of literally every program out there

compact haven
#

no I cant

whole stag
#

Yes you can

compact haven
#

because other programs arent ran on the client

vague mason
#

If your code is not obfuscated its not worth it

compact haven
#

for example a rest api, the api key allows you to send requests because its on the server, not the client

#

never trust the client

#

that's the most important rule of any security system

whole stag
compact haven
#

sure but its still locking something in the plugin

#

which means the code can easily be removed

whole stag
#

Yup

compact haven
#

because the code itself has to be on the client

#

theres no way to do it without it being brickable easily

whole stag
#

Just like any licensed program out there

compact haven
#

no

whole stag
#

Yes

proud basin
#

uh

compact haven
#

you cant go onto a cloud service

#

delete some javascript

#

and cheat the api

proud basin
#

idk what to do at this point

whole stag
#

Just use your PC

compact haven
#

@vagrant stratus please tell this man that you cant have licensing or like remote locking systems reliably installed on a plugin

whole stag
#

If the client "hacks" their API key, just deactivate the key

compact haven
#

wtf do u mean hacks their api key

#

u just delete the code that checks for the licensing key?

#

jtx whats this api key used for

whole stag
#

Okay? And? This is known

proud basin
#

just to allow people with it to be able to use the plugin

compact haven
#

this is literally like putting a cardboard box in front of a bank vault to prevent people from robbing it

whole stag
#

I could remove the license check from say Microsoft office

vague mason
#

I made fake license system without a server just with calculation and sha encryption (The same what Windows 7 did). So you can easy know which kid leak your plugin.

whole stag
#

No biggie

compact haven
#

so its exactly that, its a licensing system

whole stag
#

You can implement a licensing system perfectly fine, just obfuscate your code

compact haven
#

wtf

#

OMG

#

obfuscation has NOTHING TO DO

#

with protection

#

iut just makes it harder to read

#

the actual code stays, and can be fucking deleted

whole stag
#

@compact haven how do you think any licensed software that's running on your computer works?

compact haven
#

the JVM still needs to read the actual jvm code

#

argjgggg

vague mason
compact haven
#

if licensing systems worked and could be reliably made, do you think those leak sites would still be running

#

no ! they woulkdnt be

vague mason
#

It stilk hasn't been deobfuscated

compact haven
#

all the plugins in the world would implement this fantasy licensing system

#

no one's talking about deobfuscation

vague mason
#

It just makes it harder for everyone

compact haven
#

you need mappings for that

#

we're talking about locking functionality

#

with some flimsy if statement

whole stag
#

No license system is fully secure if code is running on my machine

compact haven
#

its nopt secure at all

#

like I said its like preventing robbers from robbing a bank via cardboard boxes

vague mason
#

Yes but it will prevent kids from leaking it

whole stag
#

It's secure enough

compact haven
#

sure they cant just walk right in but they can easily move the boxes or break them lmao

compact haven
vague mason
compact haven
#

oh my god

whole stag
#

Yes it will. Why aren't there more de-licensed copies of windows out there?

compact haven
#

ur a fool who licesnes their plugins

#

why am I even talking to you about these

whole stag
#

@compact haven

#

Stop

vague mason
whole stag
#

You don't understand

vague mason
#

It's like name placeholder that its enjected when plugin is downloaded

#

You will know if people bough a plugin from it.

compact haven
#

also if you're trying to sell the plugin, spigot doesnt allow such abominable licensing systems

#

just letting u know ^

vague mason
#

My code is open source either

whole stag
#

If I have a binary, I can change that binary however I want. The moment any program in existence enters user hands, it is insecure. That is true of the majority of licensed software in the world, including IDEs, windows, games, matlab, Photoshop

vague mason
#

I don't have premium plugins on Spigot as it doesn't support any legit payment system.

whole stag
#

Any developer knows that no licensing system is foolproof if code is being executed on the user machine

compact haven
whole stag
#

The licensing system just has to be good enough, just like windows' license is good enough

vague mason
#

It has just a math involved

whole stag
#

I could sit down and remove all the license checks from windows 10 if I wanted to, it's just not worth my time

vague mason
#

Which checked if sum od bytes is equals to 7 or something like that

whole stag
#

Yup

vague mason
#

This will prevent all normal users which don't know how to code.

#

And for people which know how to code can just be ashamed 😂

whole stag
#

@proud basin your license system is perfectly valid, it will stop most attacks

compact haven
#

omg

#

why does b spigot in any message get deleted

#

all someone needs to do is remove a few lines of trivial code and upload it to a leak site

#

but anyways

#

thats all I'll say

whole stag
#

Nothing in computers will ever stop all attacks, so it's foolish to not use some basic security just because there's a work around

compact haven
#

@proud basin just want to keep you informed that even with all this tiring work, someone will still circumvent it and upload it for people who dont know what they're doing to use- as long as your plugin is worth the 2 seconds

whole stag
compact haven
#

thats the last im saying on the matter

#

cya yall

whole stag
#

If someone uploads a cracked leak of your plugin, DMCA and sue them

#

Done

vague mason
#

Yes I have said that

#

Everyone gets scared and remove your plugin

#

Problem solved

whole stag
#

Just like Microsoft has cracked versions of windows deleted

#

It's not hard

#

You should not be afraid of implementing a security feature just because there's a work around

#

Because any security feature on any computer can be circumvented at any time

vague mason
#

I just prevent leaking it

whole stag
#

You just need to make yours harder to circumvent or leak than it worth

vague mason
#

Users that changed code and use that I leave alone.

#

I still provide support for them.

whole stag
#

@compact haven It's like saying that it's not worth locking your door because it can be picked

vague mason
#

True

whole stag
#

duh

#

It can be picked

compact haven
#

you guys h ave taged me 3 times

#

after I left the convo

whole stag
#

Yup

compact haven
#

its like u want me to continue arguing

#

im just blocking all of you since I actually dont care

#

'and only wanted to inform a mal-informed user

whole stag
#

You're still wrong and giving bad advice

compact haven
#

you were coaxing to setup some system for no reason

vagrant stratus
#

I was pinged as well :/

whole stag
#

Just say your advice is bad and you are done

compact haven
#

ur advice is bad

whole stag
#

Nope

compact haven
#

now im going to fucking sleep n leave me alone

vague mason
#

Reverse psyhology works too. I know someone who has been robbed and now he always left doors unlocked and has a note in their door: All robbers are welcome here, door is already unlocked for you.

compact haven
#

thank you

#

bye

vagrant stratus
vague mason
#

He hasn't been robbed again.

compact haven
#

please do go back to sleep

#

since I for one actually respect such decisions

#

bye

vagrant stratus
#

awake now :/

whole stag
#

Also as a note, you don't have to respond to pings

#

Just sayin

vague mason
quaint mantle
#

sheesh

vague mason
#

Yeah he is sleeping I will leave him alone.

vagrant stratus
#

You really need to stop pointlessly tagging people :/

vague mason
#

Me?

quaint mantle
#

Were you guys fighting about licensing systems LOL

whole stag
vagrant stratus
whole stag
#

Yup

#

Apparently because a license system can be circumvented, it's not worth implementing

vague mason
#

Hahah what a joke😂

#

Imagine locking a door even tho it can be picked

vagrant stratus
#

it's because usually if a license server goes down the plugin no longer works, md_5 doesn't want those situations

vague mason
#

Yes but we don't do that.

vagrant stratus
#

imagine premium plugins no longer working because a license server goes down

vague mason
#

If license server goes down plugin should still works.

mystic tundra
#

I installed maven and converted my plugin to Maven, what do I do now? Once I finish the pom.xml, everything looks the same, the export options

whole stag
#

Fwiw, I could probably throw together a license system even in Java that would be to troublesome to implement, possibly even not requiring a third party server

vagrant stratus
quaint mantle
whole stag
#

It'd be harder than in c++, but still doable

vague mason
#

Prevent leaks from future plugin updates

#

At least delay them

vagrant stratus
#

not by much most likely

#

this is java you're talking about, not C++

#

lets not bring that name up shall we

vague mason
#

I have blur it

whole stag
#

The question then just becomes how much of a pain it would be on me to implement, and how much of a performance hit it would be

quaint mantle
#

“The spigot that’s another color”

vagrant stratus
#

blur? you mean leave more than enough to actually be able to find it?

vague mason
#

Half of color was blured

whole stag
#

I wonder if IBM's encrypted arithmetic could be used here

quaint mantle
whole stag
#

Meh, that's weak

vague mason
whole stag
#

You didn't hear that from me

vagrant stratus
quaint mantle
vague mason
#

Haha yeah can't be more secure. 😂

#

Except physicaly write code on a paper

whole stag
#

Nice

vague mason
#

And lock it

whole stag
#

Why ever decrypt it though. Just run it still encrypted

vagrant stratus
#

    use a custom openjdk jvm which saves every loaded class file on the disk
    search for the classes in a memory dump
    attach java agent/jvmti agent to recieve loaded class files
    modify existing natives in spigot, which are open-source, to also do agent stuff

One of these four will usually help to an extent

misty zenith
#

Do we have any event on armor equipment

vague mason
#

But its encrypted and decrypted on client side.

quaint mantle
vague mason
#

So user is responsible for their action if password gets hacked.

whole stag
vagrant stratus
# whole stag Why ever decrypt it though. Just run it still encrypted

Honestly? Why use that system at all?
as MiniDigger said

so I am asking the question everybody should be asking: why?
why would someone as an admin install this? trust some random dude's blobs? which plugin would be worth it? why would spigot even allow such resources? I can imagine resource staff being like "lol, nope" and insta denying such resources. even if your whole system works and couldn't be cracked by competent developers withing reason time (which I highly doubt), there is still the question why any developer force this on their user, any server admin go thru the additional pain, any resource staff allow such potentially malicious resources.
anyways, good luck ^^ 
whole stag
#

That too lol

vague mason
#

So it can be used on a website.

whole stag
vague mason
#

I mean I don't and can't decrypt them on server side

whole stag
#

There's a surprising amount of stuff that can be done with data while it's still encrypted

vague mason
#

Only client can decrypt it

#

With his master password

vagrant stratus
#

Honestly? Why even bother with DRM which you'd most likely have to change every few versions anyways when you can just oh i don't know, focus on making a decent fucking plugin 🤷‍♂️

whole stag
#

I believe one of the most recent demonstrations was calculating the md5 sum of fully encrypted data and sending back the encrypted md5 sum, all without ever storing the data unencrypted or even having the decryption key

vague mason
#

Did you just said my plugins are trash in a much more nicer way? 😂

whole stag
#

For many plugins, compiling is more than enough protection

vagrant stratus
whole stag
#

Yup

vague mason
#

Hahaha this is how I made a license key XD

whole stag
#

Now I'm curious

vagrant stratus
#

Well, a good start to disabling that @vague mason
Would be removing

   public String createLicenseKey(String username){
        return new StringBuilder(Hash(username, "SHA-1").toUpperCase().substring(0, 20)).insert(5, "-").insert(11, "-").insert(17, "-").toString();
    }

And seeing what else breaks

quaint mantle
#

@vague mason plz fix your maven

whole stag
#

Yup

vagrant stratus
#
    String username = "%%__USERNAME__%%";
    String user_id = "%%__USER__%%";

Could probably remove these ones too

vague mason
#

for leaking my plugin

#

Also it looks nice

vagrant stratus
whole stag
#

I recognize that background lol

vague mason
vagrant stratus
#

and I'm over here like "I could probably create a remover for this"

whole stag
#

Any day I can beat the script kiddies that use Kali as their main os is a good day

vague mason
vagrant stratus
vague mason
#

Now days obfuscators can even optimize your code and makes it faster

whole stag
#

Compile time obfuscation ftw

... doesn't help for oss though

vagrant stratus
#

Yea, however if a plugins super obfuscated you're less likely to get buyers 😉

vague mason
#

But I don't use them

quaint mantle
#

obfuscate Minecraft plugins is really dumb in my opinion

vagrant stratus
#

I know i sure as hell wouldn't use a super obfuscated plugin if i ran a server

vague mason
#

I have premium open source plugins. XD

whole stag
#

Just write it in perl, that's self-obfuscating

#

Never have figured out how, I write a perl program, save it, and then when I come back it's obfuscated

vague mason
#

I want to switch to Zorin OS so bad, but I also want to stay in POP OS.

quaint mantle
#

windows is where its at lol

vagrant stratus
vague mason
quaint mantle
#

I always wanted to try linux but I feel like I would have to give up some things

vague mason
#

It depend on what programs you use.

#

I'm using it for more then 4 years and I never feel any needs to switch back to WIndows.

quaint mantle
#
    ''=~(        '(?{'        .('`'        |'%')        .('['        ^'-')
    .('`'        |'!')        .('`'        |',')        .'"'.        '\\$'
    .'=='        .('['        ^'+')        .('`'        |'/')        .('['
    ^'+')        .'||'        .(';'        &'=')        .(';'        &'=')
    .';-'        .'-'.        '\\$'        .'=;'        .('['        ^'(')
    .('['        ^'.')        .('`'        |'"')        .('!'        ^'+')
   .'_\\{'      .'(\\$'      .';=('.      '\\$=|'      ."\|".(      '`'^'.'
  ).(('`')|    '/').').'    .'\\"'.+(    '{'^'[').    ('`'|'"')    .('`'|'/'
 ).('['^'/')  .('['^'/').  ('`'|',').(  '`'|('%')).  '\\".\\"'.(  '['^('(')).
 '\\"'.('['^  '#').'!!--'  .'\\$=.\\"'  .('{'^'[').  ('`'|'/').(  '`'|"\&").(
 '{'^"\[").(  '`'|"\"").(  '`'|"\%").(  '`'|"\%").(  '['^(')')).  '\\").\\"'.
 ('{'^'[').(  '`'|"\/").(  '`'|"\.").(  '{'^"\[").(  '['^"\/").(  '`'|"\(").(
 '`'|"\%").(  '{'^"\[").(  '['^"\,").(  '`'|"\!").(  '`'|"\,").(  '`'|(',')).
 '\\"\\}'.+(  '['^"\+").(  '['^"\)").(  '`'|"\)").(  '`'|"\.").(  '['^('/')).
 '+_,\\",'.(  '{'^('[')).  ('\\$;!').(  '!'^"\+").(  '{'^"\/").(  '`'|"\!").(
 '`'|"\+").(  '`'|"\%").(  '{'^"\[").(  '`'|"\/").(  '`'|"\.").(  '`'|"\%").(
 '{'^"\[").(  '`'|"\$").(  '`'|"\/").(  '['^"\,").(  '`'|('.')).  ','.(('{')^
 '[').("\["^  '+').("\`"|  '!').("\["^  '(').("\["^  '(').("\{"^  '[').("\`"|
 ')').("\["^  '/').("\{"^  '[').("\`"|  '!').("\["^  ')').("\`"|  '/').("\["^
 '.').("\`"|  '.').("\`"|  '$')."\,".(  '!'^('+')).  '\\",_,\\"'  .'!'.("\!"^
 '+').("\!"^  '+').'\\"'.  ('['^',').(  '`'|"\(").(  '`'|"\)").(  '`'|"\,").(
 '`'|('%')).  '++\\$="})'  );$:=('.')^  '~';$~='@'|  '(';$^=')'^  '[';$/='`';
whole stag
#

It's mostly a regular expression, but it uses some special perl tricks on top

#

Prints the entirety of 99 bottles of beer

#

It's horrible and ugly and I love it

mystic tundra
#

I installed maven and converted my plugin to Maven, what do I do now? Once I finish the pom.xml, everything looks the same, the export options

vague mason
summer scroll
#

Are you using IntelliJ?

tiny wolf
#

Is there a way to get the plugin causing an event ?

#

and get which plugin is doing it

summer scroll
tiny wolf
#

Nope

#

Trying to debug a teleportation on a server

summer scroll
#

I don't think you can detect what plugin that causing the teleportation, but I might be wrong.

tiny wolf
#

hmmm

mystic tundra
tiny wolf
summer scroll
#

Ah, I don't know then, never used Maven in Eclipse.

tiny wolf
#

its the same exact thing Id assume ?

#

you just have a pom.xml file

#

Gradle is 10* better then maven

vagrant stratus
mystic tundra
#

Yeah it should be the same

#

But how do I export it differently?

#

I heard that theres a way to do that, and have different options such as including the dependencies in the jar

quaint mantle
#

Im trying to make custom recipes and they are working but how can i put itemstacks into the recipe because i made custom items and i want to put them in the recipes

#

i get this error

tiny wolf
#

You cant really I dont think, I think you just need to use an event Listener with it

#

checking if the items are the correct items then allowing the event

drowsy helm
quaint mantle
#

Lemme see

#

ty!

drowsy helm
#

keep in mind if nbt data is different it wont work

#

as long as youre not meddling with nbt it sohuld be fine

quaint mantle
#

Wat could i do with nbt?

#

persistant data containers and stuff?

drowsy helm
#

yeah

quaint mantle
#

ahhh

drowsy helm
#

if values are different the recipe wont work

quaint mantle
#

like if i wanna store kills in an item?

drowsy helm
#

yeah

quaint mantle
#

is persistent data container the easiest way to store kills?

drowsy helm
#

To a specific item, yeah I'd say so

quaint mantle
#

alr

vapid bay
#

Can someone explain me what are the Mojang-Mappings ?

eternal oxide
opal juniper
#

@eternal oxide sad times NNYa got banned yesterday 😢

eternal oxide
#

Nothing new

opal juniper
#

now i have noone to provide overly sarcastic comments

#

at least until the new alt arrives

eternal oxide
#

That will probably be today

opal juniper
#

what?

#

i do not understand what that top sentence means lmao

hybrid spoke
#

forget it

#

i've just

#

nvm

waxen plaza
#

?paste

undone axleBOT
waxen plaza
eternal oxide
#

You are trying to create a new instance of PrivateVault

#

PrivateVaults.java:12

waxen plaza
#

Ok, I'll check

opal juniper
#

Ok - so i am a bit confused about this. if i look at the commits, something like this that choco authored a while back pops up:

#

However obviously there is no actual code to this and it is just an interface

#

so... where does the code go?

eternal oxide
#

teh Craft implementation of that Interface

waxen plaza
#

It's fixed now thanks

calm comet
#

how do i cast a craftvillager to a regular humanentity?

opal juniper
eternal oxide
calm comet
#

entity.CraftVillager cannot be cast to org.bukkit.entity.HumanEntity

waxen plaza
#

Why does tab complete not work with aliases?

eternal oxide
#

um, a HumanEntity I though was an actual player

#

so not an NPC

opal juniper
#

^^

eternal oxide
#

Yep, you can;t cast CraftVillager nor Villager to HumanEntity.

silk mirage
#

Umm may any one help me?

eternal oxide
#

You shoudl be able to cast to LivingEntity but not HumanEntity

calm comet
#

oh ok

eternal oxide
waxen plaza
eternal oxide
#

at least with the args

calm comet
#

hm i cant do a getinventory on that tho

eternal oxide
#

you will not see the ailases available as the command

waxen plaza
#

I am using only the args

eternal oxide
calm comet
#

christ

mystic tundra
#

I'm new to Maven

#

I just converted my java plugin to maven and this is my pom.xml

#
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>me.Simo</groupId>
  <artifactId>TrollMaster</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <resources>
      <resource>
        <directory>src</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  
</project>
#

what should I add?

silk mirage
eternal oxide
mystic tundra
#

also should I remove the spigot.jar from my build path?

waxen plaza
eternal oxide
calm comet
#

ayy it works ba ba boey

#
    public void HandleVillager(PlayerInteractEntityEvent  Event) {
                    HumanEntity Player = Event.getPlayer();
                    LivingEntity Entity = (LivingEntity) Event.getRightClicked();
                    if (Entity.getType() == EntityType.VILLAGER) {
                        Player.openInventory(GUIInventoryCreation());
                        Entity.damage(0);
                        Event.setCancelled(true);
                        System.out.println("Villager Interacted With");
                    }
    }```
eternal oxide
mystic tundra
calm comet
#

ya i dont need to dmg it

#

not with this

#

event class

grave kite
#

Hi, is there a way to limit redstone dust in a chunk?

mystic tundra
#

also any tutorials that I watched have a different .xml file

eternal oxide
mystic tundra
#

it looks different

#

ok

#
<name>TrollMaster</name>
  <description>A plugin with a variety of trolls</description>
  
  <properties>
      <mainClass>me.Simo.TrollMaster.Main</mainClass>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  
  <repositories>
      <repository>
      <id>spigot-repo</id>
      <url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
      </repository>
  </repositories>
  
  <dependencies>
      <dependency>
          <groupId>org.spigotmc</groupId>
          <artifactId>spigot-api</artifactId>
          <version>1.8.8</version>
      </dependency>
  </dependencies>
#

I have this

eternal oxide
mystic tundra
#

as the added part

#

the dependency part is underlined red

#

missing artifact

grave kite
eternal oxide
#

?bt

undone axleBOT
mystic tundra
#

wait so what should I put?

#

it's a 1.8.8 plugin

eternal oxide
#

run that, build 1.8.8 and it will install it to your local maven repo

waxen plaza
mystic tundra
#

ok

#

that'll automatically go to my maven repo?

#

oh yeah

eternal oxide
#

are you doing somethign silly in yoru onCommand, like comparing the label and not cmd.getName()

waxen plaza
#

All I use is args

eternal oxide
#

do you register a commandExecutor?

waxen plaza
#

yes, the command works the aliases don't

eternal oxide
#

show me your onCommand

waxen plaza
eternal oxide
#

looks fine

waxen plaza
#

ik

#

maybe if I restart the server

mystic tundra
#

theres a pom.xml in my spigot folder, after I ran buildtools

#

do I copy that over to my pom.xml?

#

the part with the dependencies

eternal oxide
#

no

#

did it create a spigot jar?

mystic tundra
#

i don't know where to properly learn this

#

yes

#

I think so hold on

#

yep

eternal oxide
#

in the spigot folder

mystic tundra
#

outside it

eternal oxide
#

ok, then its now installed in yoru local repo

supple elk
mystic tundra
#

in the same folder as I had my buildtools

#

so how do i install it?

supple elk
#

I think I've set the texture correctly but I think I also need a signature??

eternal oxide
mystic tundra
#

but it's still underlined red

eternal oxide
#

?paste

undone axleBOT
mystic tundra
#

the part that I added is the <name>Simo</name> and below

supple elk
mystic tundra
#

everything else was automatic

supple elk
#

I don't have the skin png, just the texture string or whatever

mystic tundra
#

yes, upload the skin file into it and it gives you the texture and signature

#

wait what

#

send it

supple elk
#

"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmE0NjA1MzAxMmM2OGYyODlhYmNmYjE3YWI4MDQyZDVhZmJhOTVkY2FhOTljOTljMWUwMzYwODg2ZDM1In19fQ=="

eternal oxide
#

Your pom is ok. What exactly is underlined red?

supple elk
#

I got the skin texture from that website I sent before

waxen plaza
mystic tundra
#

in here

<dependencies>
      <dependency>
          <groupId>org.spigotmc</groupId>
          <artifactId>spigot-api</artifactId>
          <version>1.8.8</version>
      </dependency>
  </dependencies>
#

the first dependency part

#

<dependency>

supple elk
#

/give @p minecraft:player_head{display:{Name:"{\"text\":\"Dark blue (#00008B)\"}"},SkullOwner:{Id:[I;1390846929,-1328133163,-1764951099,406210083],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmE0NjA1MzAxMmM2OGYyODlhYmNmYjE3YWI4MDQyZDVhZmJhOTVkY2FhOTljOTljMWUwMzYwODg2ZDM1In19fQ=="}]}}} 1

mystic tundra
#

Missing artifact org.spigotmc:spigot-api:jar:1.8

quaint mantle
#

Hello im trying to update my server with buiçdtools, but I cant, it doesn't make anything

eternal oxide
#
    <repositories>
        <repository>
            <id>spigot-repo</id>
            <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
        </repository>
    </repositories>```
supple elk
mystic tundra
#

should I change the url?

waxen plaza
eternal oxide
#

Thats the url I use

near crypt
#

how can i define a world by the name?

mystic tundra
#

online base64 decoder

supple elk
#

I want to be able to do it for other ones

#

right

waxen plaza
#

Use the java base64 class

mystic tundra
#

what do I name it? the version, just 1.8.8?

eternal oxide
#

if you built 1.8.8

mystic tundra
#

I did

silk mirage
#

I'm having an issue with NBT Tagged Item

supple elk
lament bronze
mystic tundra
#

yes

#

ah

eternal oxide
#

1.16.5-R0.1-SNAPSHOT is mine

mystic tundra
#

yeah that works

eternal oxide
#

format yours the same

near crypt
#

@eternal oxide how can i define a world by the name?

supple elk
#

oh, or I can just paste in the url

mystic tundra
#

and should I add anything more?

lament bronze
#

get by name or create a world with a name?

mystic tundra
#

where should I learn what to do in the pom.xml? I can't find any proper tutorial

near crypt
#

i want to get the world

silk mirage
#

... Anyone?

lament bronze
eternal oxide
#

Bukkit.getWorld(name)

grave kite
#

How do I count blocks of a specific type in a chunk?

supple elk
#

oh cool, now I got this stuff

near crypt
#

thx

mystic tundra
#

the texture data is the value and the signature is the signature

eternal oxide
mystic tundra
#
                pm.remove("textures", property);
                pm.put("textures", new Property("textures", skinValue, skinSignature));
                
                for (Player pl : Bukkit.getOnlinePlayers()) {
                    pl.hidePlayer(p);
                    pl.showPlayer(p);
                }
                

@supple elk

grave kite
mystic tundra
#

Is there anything more I should add to my pom.xml, or is this fine?

supple elk
eternal oxide
#

yes, you can use a Chunk Snapshot and count async though

crude hound
#

hi, I just want to know : is a PersistentDataContainer work with bungeecord (so in Interserver)?

mystic tundra
#

@supple elk thatll make other players see the skin

supple elk
#

I just need it for tab menu

mystic tundra
#
    public final void reloadSkinForSelf(Player player) {
        final EntityPlayer ep = ((CraftPlayer) player).getHandle();
        final PacketPlayOutPlayerInfo removeInfo = new PacketPlayOutPlayerInfo(EnumPlayerInfoAction.REMOVE_PLAYER, ep);
        final PacketPlayOutEntityDestroy removeEntity = new PacketPlayOutEntityDestroy(new int[] { player.getEntityId() });
        final PacketPlayOutNamedEntitySpawn addNamed = new PacketPlayOutNamedEntitySpawn(ep);
        final PacketPlayOutPlayerInfo addInfo = new PacketPlayOutPlayerInfo(EnumPlayerInfoAction.ADD_PLAYER, ep);
        final PacketPlayOutRespawn respawn = new PacketPlayOutRespawn(ep.dimension, ep.getWorld().getDifficulty(), ep.getWorld().getWorldData().getType(), ep.playerInteractManager.getGameMode());
        ep.playerConnection.sendPacket(removeInfo);
        ep.playerConnection.sendPacket(removeEntity);
        ep.playerConnection.sendPacket(addNamed);
        ep.playerConnection.sendPacket(addInfo);
        ep.playerConnection.sendPacket(respawn);
        player.updateInventory();
    }

this is the method I use to make it visible for myself

grave kite
crude hound
#

okay

mystic tundra
#

guys can someone help, I don't know what to add to my pom.xml

supple elk
#

so this should hopefully work

eternal oxide
#

It could yes

eternal oxide
mystic tundra
#

ok

#

when I export it all the options are the same

#

aren't they supposed to be different?

eternal oxide
#

You don;t export

#

you are using Maven now

#

InteliJ or Eclipse?

mystic tundra
#

eclipse

#

how do I turn it into a working .jar plugin file?

eternal oxide
grave kite
#

is there a better way to count the blocks? Could I save the count somewhere when players are placing redstone and just work with that number? I'm not sure where to save that though

eternal oxide
#

Use the goals clean package

mystic tundra
#

theres just 1 maven build all the way to 6 maven test

#

in the run as

supple elk
#

LETTTSS GOOOOOOO

mystic tundra
#

nice

supple elk
#

thanks for the help 😄

eternal oxide
mystic tundra
#

np

#

yep

eternal oxide
#

make sure maven is selected on teh left.

mystic tundra
#

maven build?

#

ok

eternal oxide
#

you click to create a new profile

mystic tundra
#

do I put anything in there?

eternal oxide
#

in to top you set teh name

#

then under Goals you add clean package

mystic tundra
#

I don't have anything for a new profile

#

hold on

eternal oxide
#

very top left button, looks liek a new page

mystic tundra
#

oh yeah

#

and goals just clean package

eternal oxide
#

yep

mystic tundra
#

profiles?

eternal oxide
#

nothing else, just apply and run

mystic tundra
#

ok

#

also how do I package the dependencies as well? I use Jsoup

eternal oxide
#

that profile will now be avbailale under your run button in the toolbar

mystic tundra
#

and without maven it iddn't

#

ok

#

also what's the base directory

#

cuz my run button isn't able to be pressed

eternal oxide
#

thats usually somethign like ${workspace_loc:/PluginNameHere}

mystic tundra
#

workspace_loc being me.Simo:/TrollMaster?

eternal oxide
#

no

#

exactly as I typed

mystic tundra
#

oh

eternal oxide
#

you can just press teh Workspace button and select it

mystic tundra
#

and the pluginnamehere, that's just pluginnamehere?

#

ah yes I hae it

eternal oxide
#

simplest click the workspace button

#

then select your project there

mystic tundra
#

ok I ran it

#

and

#

build failure

eternal oxide
#

now you need to add any dependencies you need

mystic tundra
#

all my packages don't exist

eternal oxide
#

if you right click your pom -> Maven-> add dependency

mystic tundra
#

yes

eternal oxide
#

fill in the groupId and Artifact Id for any dependencies you need

mystic tundra
#

which would be the spigot and jsoup?

#

those are the only ones

eternal oxide
#

spigot you already added, so just Jsoup

mystic tundra
#

but this is my error

#

and how do I get the group and artifact ids?

eternal oxide
#

you use nms, so change your spigot-api dependency in your pom to spigot

mystic tundra
#

ok

#

and the jsoup?

#

is it just the path to it and then Jsoup?

eternal oxide
#

have you added it as a dependency?

mystic tundra
#

not in the pom.xml

eternal oxide
#

you don;t have to manually add it

#

you can use as above, - right click your pom -> Maven-> add dependency

#

then type in the search box org.jsoup

#

if it doesn;t show up you have to add the repo for it

mystic tundra
#

it doesn't

#

wait do I write it in "Enter groupId, artifactId or..."?

#

or in the top where it takes 3 inputs

#

groupid, artifactid and version

eternal oxide
#

just the search box

mystic tundra
#

okay it's not there

eternal oxide
#

if you have the repo added it will show up in teh bottom box

mystic tundra
#

theres a warning

#

Index downloads are disabled, search results may be incomplete.

#

also i don't have it in my pom.xml, idk if it should be there

eternal oxide
#

it won;t be there til its added

mystic tundra
#

ok

#

it's not there tho

mystic tundra
mystic tundra
#

ok the warning's gone but it still odesn't show up

eternal oxide
#

look bottom right you shoudl see it indexing

mystic tundra
#

it's not

eternal oxide
#

manually add the dependency then

mystic tundra
#

in the pom.xml?

eternal oxide
#

yes

mystic tundra
#

ok and last attempt at this, do I leave the first 3 boxes empty?

#

and the scope to compile?

eternal oxide
#

you don;t need to use that if you manually add the dependency in the pom

mystic tundra
#

ok

#

wat's the version?

#

I have 1.13.1 but there's probably something else, this alone doesn't work

eternal oxide
#

newest looks to be 1.13.1

mystic tundra
#

I have the artifactId to jsoup

eternal oxide
mystic tundra
#

Jsoup

#

and org.jsoup as the group

eternal oxide
#

yes

mystic tundra
#

okay

#
      <dependency>
          <groupId>org.jsoup</groupId>
          <artifactId>Jsoup</artifactId>
          <version>1.13.1</version>
      </dependency>
#

it's still red

#

same error as before

eternal oxide
#

right click your pom and select update project

#

maven -> update project

mystic tundra
#

ok

#

done

#

still red

tardy delta
#

does getInventory().getViewers().clear() actually closes the inventory from the viewer?

eternal oxide
eternal oxide
mystic tundra
#

its loading

#

ok

eternal oxide
#

so jsoup not Jsoup

mystic tundra
#

still a nerror

eternal oxide
#

I'll test it here

mystic tundra
#

but it doesn't write anything as the error description

eternal oxide
#

sec

mystic tundra
#

kk

supple elk
#

oh, turns out mineskin actually gives you the java code .-.

mystic tundra
#

oh lol

eternal oxide
# mystic tundra kk

add xml <repository> <id>maven</id> <url>https://mvnrepository.com/artifact/</url> </repository>

mystic tundra
#

oh yeah it works now

#

or at least there's no red underline

#

htanks

#
Failed to execute goal on project TrollMaster: Could not resolve dependencies for project me.Simo:TrollMaster:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at org.jsoup:jsoup:jar:1.13.1: Failed to read artifact descriptor for org.jsoup:jsoup:jar:1.13.1: Could not transfer artifact org.jsoup:jsoup:pom:1.13.1 from/to maven (https://mvnrepository.com/artifact/): Access denied to https://mvnrepository.com/artifact/org/jsoup/jsoup/1.13.1/jsoup-1.13.1.pom. Error code 403, Forbidden -> [Help 1]
#

the jsoup is still problematic

eternal oxide
#

odd for sure

supple elk
#

pog 😮

mystic tundra
#

it says this is the request: For request 'GET /artifact/org/jsoup/jsoup/1.13.1/jsoup-1.13.1.jar'

#

although it should be: https://mvnrepository.com/artifact/org.jsoup/jsoup/1.13.1

#

it turns the org.jsoup into org/jsoup

mossy laurel
#

Hello, is there a way to add a repository to Spigot's Library Loader (plugin.yml), because I wanted to dependency located somewhere else than maven central, and it can not find it.

earnest sonnet
quaint yoke
#

heya all! trying to set the name of an item in an item frame via plugin so that it shows up when moused over like named items placed into frames normally do. For some reason though I can't get the name to be visible. Code below I am using, any advice would be greatly greatly appreciated!


        if (heldItem.getType() != Material.NAME_TAG) {
            return false;
        }
        
        // establish references
        Player player = ((Player)interact.sender);
        ItemFrame frame = interact.itemFrameEntity;
        ItemStack framedItem = frame.getItem();
        
        if (frame.isCustomNameVisible()){
            // toggle frame visibility
            frame.setCustomNameVisible(false);
            player.sendMessage("toggled from visible to invisible");    
        } else {
              // toggle frame visibility
               frame.setCustomNameVisible(true);
               String newName = heldItem.getItemMeta().getDisplayName();
                
                // this sets the frames name - not the item in the frames name
                frame.setCustomName(newName);
      
              ItemMeta newMeta = framedItem.getItemMeta();
               newMeta.setDisplayName(newName);
               framedItem.setItemMeta(newMeta);  
               
               player.sendMessage("invisble to visible and set newName = " + newName);          
        }
#

I fear I am not naming the item inside the frame correctly

supple elk
mossy laurel
# earnest sonnet there is softdepend and depend, but I doubt that's what you're looking for

Nah, this is not what I was looking for.

I'm using:

libraries:
  - org.redisson:redisson:3.16.0
  - com.zaxxer:HikariCP:4.0.3
  - eu.okaeri:okaeri-configs-yaml-bukkit:2.7.20
  - eu.okaeri:okaeri-configs-serdes-bukkit:2.7.20

Both redisson and HikariCP are available in Maven Central but okaeri stuff is related in external okaeri's repository and I was wondering is there something like:

repositories:
  - url
mystic tundra
#

@eternal oxide do you know why it could be happening?

eternal oxide
#

not a clue. I'm having a play now

mystic tundra
#

ok

#

cuz the request is different than it should be

#

hold on 1.12.2 might work

quaint mantle
#

is 1.8 great?

mystic tundra
#

for plugins?

quaint mantle
#

yea

mystic tundra
#

it's definitely better to have newer versions but it's not bad

quaint mantle
#

oh okay

mystic tundra
#

but it depends

#

if you want a pvp server then probably go for 1.8, even though you can remove the hit delay on newer versions with some plugins

#

uh org.jsoup.Jsoup class not found :/

eternal oxide
#

remove the repo I told you to add

mystic tundra
#

ok

#

also my whole maven repos place disappeared for some reason...

eternal oxide
#

Right click pom -. Maven -> update Project, ensure force update of snapshots/release is ticked

mystic tundra
#

k it's back

#

and remove what repo?

eternal oxide
#

teh maven one

mystic tundra
#

ok

eternal oxide
#

then do teh update I just told you

mystic tundra
#

yep it seems to work

#

and a build success

#

lemme test it

#

how did you find that out?

eternal oxide
#

pressed buttons til it worked

mystic tundra
#

ah

#

theres still classnotfoundexception: org.jsoup.Jsoup in my code

eternal oxide
#

that means its not being shaded

mystic tundra
#

yeah I heard that term yesterday

#

what does shading mean, exactly?

hardy swan
#

shading means you include part of a dependency into your jar

eternal oxide
#

shading is including resources in your jar

mystic tundra
#

ah

hardy swan
#

mostly because it isn't present otherwise during runtime

mystic tundra
#

oh okay

#

so like the dependency, it has nowhere to fetch the classes from?

#

but the spigot.jar is always there to run the server

eternal oxide
#

yes

hardy swan
#

yes that why you dun have to shade spigot jar in

#

haha

mystic tundra
#

ok

eternal oxide
#

but jsoup is not an included dependency

mystic tundra
#

how do I shade the jsoup in?

#

right

hardy swan
#

you will need to search up on maven shade plugin