#help-archived

1 messages · Page 20 of 1

rapid yacht
#

So, would I be able to have permission for a new account? Would they allow me or do I need something

#

And how would I contact them?

lone belfry
#

Honestly just create a new account, its not worth anyone's time to ban you for it if you aren't doing anything wrong. Just don't expect any help carrying anything over. Rules are here though (#11) https://www.spigotmc.org/wiki/spigot-rules/

south grove
#

Has anyone got any useful resources for pasting a large number of blocks from a template of blocks that won't make the server die?

south grove
#

cheers

rapid yacht
#

@lone belfry u sure? I honestly want to but I’m afraid that if I put all my plugins on that account it’ll all just be removed

lone belfry
#

I wouldn't risk it then

fleet crane
#

You can't have a new account

rapid yacht
#

See

#

😂😂😂

#

Alright, fine, can I change my date of birth? For some reason it’s not accurate.

sturdy inlet
#

does anyone know how to disable the off hand?

fleet crane
#

Yes you can contact staff to have your birth date changed

sturdy inlet
#

@fleet crane how do i disable off hand in 1.15

#

and i tried allocating more ram to my server and it keeps saying it is 662 ticks behind i have alocated 3gbs

wraith gazelle
#

Would I be able to get my forums name changed to Kowlin or KowlinMC? “WolfieMCOfficial” was for a thing like 2 years ago.

buoyant path
#

How can I make multi line hoverable chat msgs?

#

Does it require JSONBuilder or can it work with TextComponents

rapid yacht
#

Okay, and what is the minimum age to sign up to spigot, also one more thing, I see people with these badges on spigot (red stone, cake etc)

#

What are those?

sturdy inlet
#

can i get help

placid ingot
#

Hi there, around 30% of my players are having bad ping on my server. We're all from the same country so geographical ping shouldn't be the issue. This happens around yesterday so I figure this has something to do with their ISP. And behold, they have the same ISP.

I've asked them to join other server and see if their ping is stable there, and they said some are, some aren't. I know some of the owners and I PM'ed em, what I found is:
server that hosts from OVH has bad ping for the ISP, but some other server hosts their server on Vultr, and something else, and they have a stable ping there

Is there a way to mitigate this? Help the player with the suddenly bad ping caused by either ISP or OVH?
I can provide WinMRT from the affected players if that would help.

*ps: i've posted this in IRC as well, but no one seems to respond and I think discord would help me track the answer better, thanks in advance 🙂

frigid ember
#

Can someone help me with one plugin

velvet halo
#

@placid ingot You should contact your provider about the issue.

placid ingot
#

Tried it a few mins ago, they can't do much

frigid ember
#

@zenith palm Can u help me with one plugin or u cant?

zenith palm
#

?ask

worldly heathBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply.

frigid ember
#

Why plugin Vehicles doestn work on version 1.8.9

zenith palm
#

You'll need to contact the developer of that plugin.

frigid ember
#

i do it but no one answers

#

ssamjh when i try to use it on console i see geting one error

#

if i send u to see the error can u help?

zenith palm
#

Unfortunately, no one but the developer is going to be able to help you.

dusky herald
#

Prolly not lmao

#

Unless it's a config issue

finite belfry
#

Is there any Viaversion like plugin but for 1.15?

zenith palm
#

Is there any Viaversion like plugin but for 1.15?
@finite belfry You mean getting people from older clients onto a newer server?

finite belfry
#

yes

zenith palm
finite belfry
#

thankyou

frigid ember
#

u can use and viarewind

#

from 1.15 spigot to 1.8

finite belfry
#

ok

zenith palm
finite belfry
#

wow really thankyou

mellow matrix
#

hello so i set up my dynamap

#

and the page

#

says This site can’t be reached51.79.121.210 took too long to respond.

#

evrry time

zenith palm
#

Are you using a hosting provider?

mellow matrix
#

yes i am

dusky herald
#

What host

zenith palm
#

You will need to ask the host to open up a port for you. Just contact them and ask. You will then need to change the default port from 8123 in the config to the one that's port forwarded for you.

mellow matrix
#

pepble host

#

i did that

#

i changed it

#

over and over

zenith palm
#

Did the host tell you they forwarded the port?

mellow matrix
#

ok i see

#

thanks so much

fleet crane
#

?services

worldly heathBOT
finite belfry
#

@zenith palm @frigid ember thankyou for telling me the plugin, now my server is 1.8-1.15.2 friendly

zenith palm
#

Awesome!

#

It's a much better way doing backwards compatibility (1.15 server allowing old clients) instead of forwards compatibility (1.8 server allowing new clients)

finite belfry
#

really thank you

frigid ember
#

ssamjh one question i use spigot 1.8.9 for server but the max version what i can join its 1.12

#

are i need to upgrade all plugins to newer versions

zenith palm
#

You'll need to update ViaVersion

frigid ember
#

oke thanks

red bolt
#

@frigid ember

#

you forgot to set the lore

#

set the lore before setting the item meta

frigid ember
#

ah

#

isee

#

dangit

#

xD thanks dude

red bolt
#

np

sour perch
#

you should look at the wise hints your IDE gives you

bronze marten
#

yes intelli smort, it knows™️

scenic osprey
#

hi, i'm replacing the /help command and it works, but /? still does the normal help command. i've manually done /? but it doesn't work.

#

does anyone know how to override or remove it?

umbral garden
#

commands.yml ?

frigid ember
#

how do i teleport a player to spesific cord in a plugin?

#

i have tray target.teleport but it dosen't work

sour perch
#

then you did something wrong

dusky herald
#

Bukkit.getPlayer().teleport(Location);

#

Location is another type of object you can use.

frigid ember
#

ok so i can't use cord?

dusky herald
#

Location targetLoc = new Location(world, x, y, z);

#

You can use coordinates. But you have to create a location with the cords you want to use.

#

Or is this a plugin question or a development question?

naive goblet
#

What are you trying to do?

scenic osprey
#

@umbral garden what command do i cancel?

#

i can't cancel the bukkit /help

#

i mean /bukkit:help or /?

frigid ember
#

ssamjh I updated the via version but can't connect to the server with 1.15

naive goblet
#

You should be able to?

#

I mean I don’t think you can override commands with a fallbackprefix

narrow basin
#

does color codes in string work?

naive goblet
#

Yes?

narrow basin
#

oh

#

ok

#

ty

naive goblet
#

You can use the enum ChatColor for it or use the factory method ChatColor.translateAlternateColorCodes()

red bolt
#

how would i go about making a mob stacker plugin ?

frigid ember
#

Can someone tell me why I can't connect with version 1.15 to server with spigot 1.8.9

scenic osprey
#

because you can't?

frigid ember
#

How u think I cant

#

Man I make a network server and need from version 1.8.9 to 1.15x to can connect

scenic osprey
#

your client has to be the same version as the server

frigid ember
#

U really can't understand me

proper bison
#

anyone know if there is a wiki for AAc configurating ???

frigid ember
#

Astritex do u hear for plugins to use

muted spindle
#

You're 1.8.9 server needs to use ViaVersions (A protocol hack) to allow players on later versions to connect

scenic osprey
#

?

frigid ember
#

Yes I have the last update of via version but can't connect

#

LogicalDark can u send me link to download this to allow players to connect on later versions

muted spindle
#

I don't know what to tell you, ViaVersions says it supports anyone on 1.8 - 1.15 connecting to a 1.8 server

frigid ember
#

Yes I have this via version 2.2.3

#

But can't connect

muted spindle
#

Any message you get?

frigid ember
#

And I put this via version in all server and bungee cord too

muted spindle
#

ViaVersions is a spigot plugin, not a Bungee plugin

#

Shouldn't even be in the proxy server

frigid ember
#

I make a network server

#

And need bungee cord to connect them in one server

muted spindle
#

Right, but you don't need to install Via on the bungee.

#

You need Via installed on every spigot server

#

bungee checks the spigot servers for their version

frigid ember
#

Yes I install the via on all server but can't connect to the hub

#

And can't join the server

muted spindle
#

What is the hubs native version?

frigid ember
#

All servers use spigot 1.8.9v

sweet hemlock
#

Put viaversion on either only bungeecord server or Minecraft servers

#

You don't need vv installed on both

frigid ember
#

I put it in all servers

#

But can't connect to the server

muted spindle
sweet hemlock
#

Don't put viaversion on both

muted spindle
#

You'll want to make sure bungeecord is the latest version

#

and then limit the packets

sweet hemlock
#

Remove viaversion on all Minecraft servers, or remove it from the bungeecord server

muted spindle
#

as in the screenie above

sweet hemlock
#

And that too ^

frigid ember
#

Second to see

sweet hemlock
#

That's not packet limit...

muted spindle
#

that's player limit :3

frigid ember
#

Are this it's in the config

sweet hemlock
#

Packet =/= Player

muted spindle
#

try searching for packet

#

not in bungee

#

in via

#

in plugin/ViaVersions/config

frigid ember
#

Yes I watching the config now

muted spindle
#

the config there tells you to set max-pps to -1

frigid ember
#

LogicalDark are only this can allow to join

#

Bcs I try to join and another time see this message

muted spindle
#

what version are you on

frigid ember
#

1.15

muted spindle
#

try with lower versions

#

until it works

#

The connection error above is a bug from 1.8

inland meteor
#

Can someone tell me why this code wouldn't work (Bungee plugin):

private void parseLogDeletion() {

        File dirPath = new File("/logs");
        File[] files = null;
        if (dirPath.isDirectory()) {
            System.out.println(dirPath.getName());
            files = dirPath.listFiles();
            assert files != null;
            for (File dirFiles : files) {
                System.out.println(dirFiles.getName());
                if (dirFiles.getName().endsWith(".log.gz") && !dirFiles.getName().contains(new SimpleDateFormat("yyyy-MM-dd").format(new Date()))) {
                    boolean delete = dirFiles.delete();
                    System.out.println(delete);
                }
            }
        }
    }
#

Trying to clear all logs that aren't from today

frigid ember
#

Nope and 1.14.4 doesn't work to join

naive goblet
#

Can someone tell me why this code wouldn't work (Bungee plugin):

private void parseLogDeletion() {

        File dirPath = new File("/logs");
        File[] files = null;
        if (dirPath.isDirectory()) {
            System.out.println(dirPath.getName());
            files = dirPath.listFiles();
            assert files != null;
            for (File dirFiles : files) {
                System.out.println(dirFiles.getName());
                if (dirFiles.getName().endsWith(".log.gz") && !dirFiles.getName().contains(new SimpleDateFormat("yyyy-MM-dd").format(new Date()))) {
                    boolean delete = dirFiles.delete();
                    System.out.println(delete);
                }
            }
        }
    }

@inland meteor What isn't working?

frigid ember
#

Only 1.8.9 can Join with other versions can't join

inland meteor
#

It isn't deleting any of the log files :/

#

I can't see anything wrong with the logic I wrote

naive goblet
#

if (dirFiles.getName().endsWith(".log.gz") && !dirFiles.getName().contains(new SimpleDateFormat("yyyy-MM-dd").format(new Date()))) This is probably a false statement?

inland meteor
#

The thing is, it's not even hitting any of the souts

muted spindle
#

You should get a new date, formatted, as a string and then compare to the filename

inland meteor
#

ok

#

I mean it's not even hitting the sout after dirPath.isDirectory

#

for some reason

naive goblet
#

ofc

#

new File("./logs");

#

I think

inland meteor
#

ok i'll test that now

#

That works

#

thank you xD

#

I hate how files work with java

naive goblet
#

Yeah

muted spindle
#
String logFileName = new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".log.gz";

for(File logFile : directory.listFiles())
{
    if(logFile.getName().contains(logFileName))
    {
        // Do Something
    }
}
#

Ops I was a tad late

naive goblet
#
String logFileName = new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".log.gz";

Arrays.stream(logFileName.listFiles()).filter(file -> file.getName().contains(logFileName)).forEach(file -> {
  //do stuff
});```
muted spindle
#

show off >.>

naive goblet
#

I mean it's the same so it rlly doesn't matter albeit it's more compact

muted spindle
#

good ol' lamba

#

literally reminds me of when I search for a problem on stack overflow they want to use streams for every simple solution :p

naive goblet
#

Yaaa

frigid ember
#

how do i enchat an itemstack?

naive goblet
#

I think it's through ItemMeta

frigid ember
#

how?

naive goblet
#

ItemStack#getItemMeta

#

ItemMeta#addEnchantment()

#

ItemStack#setItemMeta

#

Check docs

frigid ember
#

ok

small moat
#

Hi, how do I compile spigot new and old versions?

zenith siren
#

I made a bungeecord plugin but for some reason it says that event.getFrom() no method is from a ServerSwitchEvent, how can I fix this error?
https://pastebin.com/6jatGtEc

#

I got the latest bungeecord version

naive goblet
#

That's weird

zenith siren
#

Yes, it is

naive goblet
#

Are you handling depenencies manually or with gradle/maven?

zenith siren
#

I just added the BungeeCord jar to my build path when making the plugin

inland meteor
#

troxx don't suppose you've worked with the luckperms api before?

naive goblet
#

Not much

inland meteor
#

ah rip, had a problem for a few days now that i can't work out

fierce tinsel
#

whats api

inland meteor
#

dw

naive goblet
#

LuckPerms has an official discord

#

@fierce tinsel Google it

inland meteor
#

Yeah, I put it in there any no one responded lol

#

thought I'd ask in case you'd used it before

naive goblet
#

What's the problem?

#

I can try :]

inland meteor
#
    public CompletableFuture<Boolean> hasPermission(String permission) {
        return Main.getLuckPermsAPI().getUserManager().loadUser(uuid)
                .thenApplyAsync(user -> {
                    ContextManager contextManager = Main.getLuckPermsAPI().getContextManager();
                    ImmutableContextSet contextSet = contextManager.getContext(user).orElseGet(contextManager::getStaticContext);
                    CachedPermissionData permissionData = user.getCachedData().getPermissionData(QueryOptions.contextual(contextSet));
                    System.out.println(permissionData.checkPermission(permission).asBoolean());
                    return permissionData.checkPermission(permission).asBoolean();
                });
    }
naive goblet
#

@zenith siren I mean this is probably not it but I'd recommend waterfall anyways.

inland meteor
#

this is returning false even when the user has the group with the permission in

naive goblet
#

Try not returning line 2 only line 10. Actually I've never worked with it really but it could be an issue.

inland meteor
#

Line 10 returns it to line 2 which returns it in the method

#

I believe

#

yeah i may raise a bug on their github and see what they say

naive goblet
#

I think it's best

zenith siren
#

I guess I don't have the latest bungee version

naive goblet
#

Seems like it.

zenith siren
#

Weird, I don't get the outdated build message when starting the proxy

naive goblet
#

It's probably not something major

#

I don't believe every new patch would thread sleep when starting.

zenith siren
#

Mhhh, fair enough

#

Yep, I updated the bungeecord jar again and now I don't get the error anymore and it fully works

#

Well thanks for your help

naive goblet
#

You solved it yourself :)

frigid ember
#

Can someone help me with via version

fleet burrow
#

Gave you a reply on Spigot, Troxx

#

Hope I was clear as to what my end goal is...

naive goblet
#

@fleet burrow I think that it can be fixed in when creating a recipe?

#

By assign an ItemStack with the size of 2 ?

fleet burrow
#

RecipeChoice#ExactChoice ignores the itemstack amount
@naive goblet

naive goblet
#

Hmm, I mean can't you get the recipe for a result? Then do some math with that?

fleet burrow
#

Wdym?

naive goblet
#

Can you get the size of the result?

fleet burrow
#

I can calculate it I guess

naive goblet
#

Yeah I mean the Spigot API is kinda meh in my opinion

#

In this part

#

I mean if you have time and you know math. Maybe try create your own system.

#

Then only use CraftBukkits stuff.

fleet burrow
#

Yeah I guess

#

Well, nevermind

#

Got it working 🙂

#
@EventHandler
    public void onInteract(InventoryOpenEvent e) {
        if (!(e.getInventory() instanceof CraftingInventory)) return;
        Workbench workbench = new Workbench(-1, new PlayerInventory(((CraftPlayer) e.getPlayer()).getHandle()), ContainerAccess.a);
        e.setCancelled(true);
        EntityPlayer player = ((CraftPlayer) e.getPlayer()).getHandle();

        workbench.setTitle(new ChatComponentText("test"));
        String title = workbench.getBukkitView().getTitle();

        player.playerConnection.sendPacket(new PacketPlayOutOpenWindow(workbench.windowId, Containers.CRAFTING, new ChatComponentText(title)));
        player.activeContainer = workbench;
        player.activeContainer.addSlotListener(player);
    }```
#

Took it out of the private method openCustomInventory

#

of CraftHumanEntity

naive goblet
#

ah

frigid ember
#

Can someone really help me with the via version

naive goblet
#

What's the issue?

frigid ember
#

I have made a TCP Server with java, I enabled TCPNoDelay, I have the receive buffer set to 8192, after like 2-3 minutes of having the server online, I start seeing mad CPU usage, jumping from 20% to 100%!

#

How do I fix this to have good performance on the server and also not use up as many resources.

#

I use spigot v1.8.9 and want to join my server with v1.15

naive goblet
#

1.8.9? Does that exist?

fleet burrow
#

Yeah nevermind it's totally broken

naive goblet
#

oueh

frigid ember
#

can someone help me

#

I can only join with 1.8.9

#

But want the natural version of the server to be 1.8.9

naive goblet
#

THERE IS NO SPIGOT 1.8.9

#

Jesus it's 1.8.8

frigid ember
#

I have made a TCP Server with java, I enabled TCPNoDelay, I have the receive buffer set to 8192, after like 2-3 minutes of having the server online, I start seeing mad CPU usage, jumping from 20% to 100%!
How do I fix this to have good performance on the server and also not use up as many resources.

naive goblet
#

Try disable TCPNoDelay?

frigid ember
#

Yes my wrong 1.8.8

naive goblet
#

Any errors in the logs?

frigid ember
#

In my logs?

naive goblet
#

Yes in the console

frigid ember
#

It's not because of tcpnodelay

#

it happened already before

#

I researched for the project I am making, TCPNoDelay is good to have on

#

Nope I don't have any errors

naive goblet
#

Okay. Retrooper do you have any idea what it may be by yourself?

#

@frigid ember Any red plugins?

frigid ember
#

No.

#

that is why I am asking.

#

Nope I don't have any red plugins

#

@atomic rapids why do I have my old name?

#

my username isn't even retrooper

naive goblet
#

DIESEL Then why it's not working?

frigid ember
#

Idk

naive goblet
#

Do you have ProtocolLib?

frigid ember
#

hekp me

#

Yes

#

HeLp

naive goblet
#

This might do stuff DieselPBG

frigid ember
#

via versiond oes not fully support 1.15

#

so some bugs might still occur

#

otherwise report to the developer

naive goblet
#

Retrooper okay so you don't know if it's from the server itself or from a plugion?

frigid ember
#

¯_(ツ)_/¯

naive goblet
#

?

#

You deleted it

frigid ember
#

ont he page they say they are trying to support viaversion

#

1.15*

fleet burrow
#

I think the logic for that is actually in the Container class 🤷‍♂️

frigid ember
#

can you guys even help

#

troxx any ideas why it's not work I have all plugins what it's need via version

#

I have made a TCP Server with java, I enabled TCPNoDelay, I have the receive buffer set to 8192, after like 2-3 minutes of having the server online, I start seeing mad CPU usage, jumping from 20% to 100%!
How do I atleast lower the resources my server uses, but also have a fast server!

#

seriously no one will help me?

silk gate
#

just doing that wont give you 100% cpu usage

#

its something else

frigid ember
#

What is it then

#

@silk gate

silk gate
#

something else in your code

frigid ember
#

what could it be

silk gate
#

like

#

anything

frigid ember
#

I am not sharing any code, sorry, but what?

#

wow

#

int i = 1;

#

that it right there

silk gate
#

.

#

if you dont share the code, no one can or will help you

#

no one wants to steal your socket code lol

frigid ember
#

is it socket.setReceiveBufferSize(8192); //8192

#

i told you

#

i set buffer to that

#

is higher better

silk gate
#

and i told you that wouldnt cause it

frigid ember
#

ok

#

but generally

#

is higher better

silk gate
#

no

#

it depends on your situation

#

want to read 8kb of data? then sure you need 8192

frigid ember
#

im just sending packets

silk gate
#

want to read 512b of data only? allocating 8kb of memory isnt needed then

frigid ember
#

ok

#

what do i gain

#

reading 512

silk gate
#

less memory allocated

#

downside: you can only read 512b

frigid ember
#

?

#

ok

#

whats bad

#

if im just sending packets

#

im confused

silk gate
#

downside: you can only read 512b
@silk gate

drifting star
#

eye rub

frigid ember
#

if i send a string object

#

with printwriter

#

how do i know how much data it is

silk gate
#

itll be something like .length()

#

.size()

frigid ember
#

just after 10 minutes actually, my cpu usage goes up

#

to 100%

#

cos of server

silk gate
#

buffer size wont affect cpu usage lol

frigid ember
#

and im forced to restart

#

it takes over my pc

#

xd

#

so the length of a string is its size?

#

in buffer

#

mkes no sense

#

but k

silk gate
#

well

#

1 character is 1 byte

frigid ember
#

hm

drifting star
#

It works like storage/memory if that helps you. 8,000 is 8000 bytes

frigid ember
#

ok?

#

8,000 what

silk gate
#

bytes

frigid ember
#

the number?

#

"hello" is 5 bytesa

#

bytes*

silk gate
#

yes

frigid ember
#

i limit users to 80 bytes, as that is what I need.

drifting star
#

Like replacing socket.setReceiveBufferSize(80000) Is probably more then you need

tiny dagger
#

bit vs byte tho 🤔

silk gate
#

its bytes

drifting star
#

Bit...

#

It's like goose and geese I think. Byte and Beets 😉

frigid ember
#

ok..

#

Was I supposed to laugh

drifting star
#

Nah

frigid ember
#

alrighty, so I have Ansi as a dependency in my project, for some reason(tho i have it set to compile)< i get ClassNotFound… exceptions

tiny dagger
#

when you buy a 1 tb hdd but you think you got stolen by 30 gb or something like that

#

😂

silk gate
#

no

#

thats gigabytes vs gibibytes

frigid ember
#

alrighty, so I have Ansi as a dependency in my project, for some reason(tho i have it set to compile)< i get ClassNotFound… exceptions

drifting star
#

Been there, done that; Fr33styler

frigid ember
#

ok just ignore me

#

Hi im really new to minecraft server hosting. I have the server on my older PC running on linux. I was wondering how id install Spiogt and other plugins. The server runs on Minecraft 1.15

#

buildtools

#

just pick a version of spigot

#

@frigid ember

#

buildtools is the only legal way.

#

I did google but it seems to complicated as Its my first ever server and my first time using Linux

#

buildtools explains everything perfectly

#

Where?

#

i just linked the website bruh

#

It showes some links? of Versions

#

read bruh

#

scroll down

#

u writing an essay

#

shadielogic

#

lmao

#

Okay I installed git and java via the code displayed

hoary parcel
#

I never saw somebody using the word bruh so often until I met trooper

frigid ember
#

bruh

#

I already have a server

drifting star
#

Okay then I miss understood you lol

frigid ember
#

@drifting star that is not legal

#

that's not the legal way but k

#

its easier but alrighty

#

I wanna inst all plugins like Worldedit and it told me to use spigot. Then it got to complicated for me

muted spindle
#

@frigid ember Check your dms

frigid ember
#

@drifting star if you don't wanna get punished id say don't link 3rd party stuff

#

cos some staff ban for that

hoary parcel
#

Stop downloading from getbukkit, that site distributed malware before

frigid ember
#

@hoary parcel can you help m e

#

dm me

hoary parcel
tiny dagger
#

^

hoary parcel
#

You are in an help Channel

jagged sedge
#

smh

hoary parcel
#

Ask your question

tiny dagger
#

you have a chance to get a virus better not risk it at all

frigid ember
#

btw @atomic rapids update my name, I hate spigot man, they don't even update my name smh

#

so

#

nah dm

hoary parcel
#

No.

#

@frigid ember use netty

frigid ember
#

why

#

give a good reason to start my whole new project again with netty

hoary parcel
#

Because that's a library that's designed to serve sockets in a performant manner

frigid ember
#

Ok.

#

send me netty docs

#

cos I am too lazy to gogle it

tiny dagger
#

wow

#

a 5 min minute search would probabily gave you everything

frigid ember
#

I use sockets already

#

Iam happy with sockets, im sure one can fix this

#

cos I don't wanna restart everything

tiny dagger
hoary parcel
#

Well, then attach a profiler and see where you spend your cpu time

frigid ember
#

how

hoary parcel
#

If you use a proper ide it will have a profiler I build

#

In*

#

Else you gotta use Google for learn something ffs

frigid ember
#

be quite nice to me please

#

freaking fucking should be nice to me

#

lmao

rustic socket
#

Just a suggestion: Add some functionality to @tawdry lily to have it automatically delete links distributing illegal jar files

hoary parcel
#

We need a suggestion channel!

frigid ember
#

@hoary parcel could the high cpu usage be that I make a thread for each user

#

will setPriority(int priority); help?

hoary parcel
#

One thread per user sounds bad

#

You want a thread pool

frigid ember
#

is it the reason firstly

#

and will setpriority help

hoary parcel
#

No

wraith dew
#

why are you making a separate thread for each user?

tiny dagger
#

there is a thread limit too if i remember correctly

frigid ember
#

what is it

#

I managed to handle 2 thousand users at once nicely, just the cpu usage from 5 players -> 2k didn't change

#

both at 100%

wraith dew
#

what CPU is it?

frigid ember
#

so is it because of my cpu?

fleet burrow
#

Is there any way I could set a block as unbreakable?

frigid ember
#

cancel blockbreakevent if the block u want is broken

#

CPU

Intel(R) Core(TM) i7-3540M CPU @ 3.00GHz

Base speed:    3.00 GHz
Sockets:    1
Cores:    2
Logical processors:    4
Virtualisation:    Enabled
L1 cache:    128 KB
L2 cache:    512 KB
L3 cache:    4.0 MB

Utilisation    13%
Speed    3.37 GHz
Up time    0:06:12:09
Processes    188
Threads    2453
Handles    82873
fleet burrow
#

No, just one specific block

wraith dew
#

get block type or location

frigid ember
#

I just said

wraith dew
#

if true

#

cancel

frigid ember
#

cancel blockbreakevent if the block u want is broken
@frigid ember

#

i am just assuming you know the blockbreakevent .

fleet burrow
#

I really don't want to store all the block locations lmao

frigid ember
#

??

fleet burrow
#

It's not going to be just one block really

#

It's going to be thousands

#

So before I store each location

frigid ember
#

e.getBlock().getType() == Material.STONE

#

then cancel

fleet burrow
#

I want to know if I can set it as unbreakable

#

Mate, a specific block

frigid ember
#

WHAT

fleet burrow
#

not block type

frigid ember
#

every block has a block type

#

oh

fleet burrow
#

oh my god

frigid ember
#

so you want specific

fleet burrow
#

xd

frigid ember
#

wow thousands

#

that prints the picture

#

surely

#

lmao

fleet burrow
#
public static void setBlockAsUnbreakable(Block block) {
        net.minecraft.server.v1_15_R1.Block b = ((CraftBlock) block).getNMS().getBlock();
        try {
            Field strength = net.minecraft.server.v1_15_R1.Block.class.getDeclaredField("strength");
            strength.setAccessible(true);
            Field modifiersField = Field.class.getDeclaredField("modifiers");
            modifiersField.setAccessible(true);
            modifiersField.setInt(strength, strength.getModifiers() & ~Modifier.FINAL);
            strength.setFloat(b, -1F);
            Field durability = net.minecraft.server.v1_15_R1.Block.class.getDeclaredField("durability");
            durability.setAccessible(true);
            Field modifiersField2 = Field.class.getDeclaredField("modifiers");
            modifiersField2.setAccessible(true);
            modifiersField2.setInt(durability, durability.getModifiers() & ~Modifier.FINAL);
            durability.setFloat(b, 3600000.0F);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }``` I tried doing this
#

Since this is how bedrock is registered BEDROCK = a("bedrock", new BlockBedrock(Info.a(Material.STONE).a(-1.0F, 3600000.0F).f()));

silk bane
#

the client doesn't care

#

and the server doesn't check

fleet burrow
#

bruh

silk bane
#

sorry

fleet burrow
#

god damn you minecraft

silk bane
#

write a mod or cancel blockbreakevent

muted spindle
#

xD

#

You'd have to write a mod for that

fleet burrow
#

I'll just store the locations as longs

silk bane
#

adventure mode might work too if you can be bothered

fleet burrow
#

then it's just 8 bytes

muted spindle
#

Just cancel block break event if the material type is the type you wish players not to break

jagged sedge
#

cancel block events?

#

its rrl easy

fleet burrow
#

Yeah that is what I am doing right now

jagged sedge
#

i could make u the plugin if you rrl need

fleet burrow
#

Just wondered if there is a better solution

muted spindle
#

not really

jagged sedge
#

i mean you could mess with client packes

fleet burrow
#

Don't think I could for that

muted spindle
#

You can't change the client code of the player

jagged sedge
#

ik

muted spindle
#

to make a block act like bedrock

frigid ember
#

what is netty's repository

jagged sedge
#

you can make them look to see the block as the block but it is acc bedrock

#

hence packets

frigid ember
#

what is netty's repository
@frigid ember

muted spindle
#

I guess another thing you could do

frigid ember
#

with maven

muted spindle
#

if they player starts to hit the block they want to break

jagged sedge
#

your server wouldnt enjoy it

muted spindle
#

give them a big mining fatigue buff

jagged sedge
#

ehhh

fleet burrow
#

or cancel the block break event

jagged sedge
#

lol

fleet burrow
#

which is what I am doing

#

¯_(ツ)_/¯

jagged sedge
#

why would you wanna set some blocks as unbreakable?

fleet burrow
#

I am making a machine plugin

muted spindle
#

so people can't break them 👀

fleet burrow
#

machines should be indestructible

#

Currently I am storing the locations as longs in a .dat file

jagged sedge
#

why dont you just check the location

#

then if someone breaks a block in that location it canceled

fleet burrow
#

so each location is 8 bytes

#

that is what I am doing 😛

jagged sedge
#

👏

muted spindle
#

check 2 locations of opposite diagonal sides of a machine

#

cancel a block break if it happens to fall inside that location

hoary parcel
#

Why don't you just cancel block break?...

fleet burrow
#

ahhhhh

muted spindle
#

Literally everyone has said that

#

xD

jagged sedge
#

he is 😞

fleet burrow
#

Is there any event that is called whenever a block is broken? May that be from TNT or something else

muted spindle
#

BlockBreakEvent

frigid ember
#

ea

fleet burrow
#

no

frigid ember
#

yea

zenith siren
#

Is there any quick way to reload BungeeCord permissions?

frigid ember
#

there are plugins

#

bungee plugins

muted spindle
#

./lpb sync

#

if using luckperms

fleet burrow
#

Not called with tnt

muted spindle
#

If you want to prevent tnt damage to blocks you'll need to use EntityExplosionEvent

#

and check which blocks its removing

fleet burrow
#

Yeah

#

oof

frigid ember
#

yea

muted spindle
#

the only problem is you'll have to code your own fake explosion if you want to stop the regular explosion from blowing up your machine

#

EntityExplosionEvent is not flexible enough to allow you to check to location of the block your blowing up and to cancel it :(

jagged sedge
#

cant you just cancel the event if its within like 7blocks of a machine

fleet burrow
#

it gives you a block list

#

Probably of the blocks destroyed

muted spindle
#

nope

fleet burrow
#

So what do you mean?

muted spindle
#

You'll have to check if an explosion is going to remove a block from your machine. This is not easy as all you're given is a list of blocks it has removed.
In which case you'll have to cancel the explosion event if it comes within a certain radius of the machine. After cancelling the explosion event you can either leave it as is, meaning the ground surrounding the machine is somewhat intact. Or you code your own explosion by which it will destroy all blocks apart from those that are part of the machine.

naive goblet
#

Lambda could be used there :o

muted spindle
#

Lambda can be used anywhere, it's still not a key part in solving the problem :p

tiny dagger
#

and help this situation how?

muted spindle
#

exactly xD

naive goblet
#

It's cleaner in my opinion.

tiny dagger
#

it's like saying oh its a for loop, you can use while loop

naive goblet
#

Not really

#

forEach and for is the same thing but while loop isn't

iron nebula
#

It is in assembly

naive goblet
#

The only realtime when while loop should be used is while we don't know the amount of elements we're going to loop through.

sour perch
#

java isn't assembly as far as I remember

iron nebula
#

It has JIT

#

And computer has to somehow understand Java

tiny dagger
#

bytecode

iron nebula
#

Computer does not understand bytecode either

#

Unless its a Java processor, which modern processors aren't

tiny dagger
#

ofc they don't

#

java has a translation layer

muted spindle
#

🍿 grabs popcorn

iron nebula
#

And this all compiles down to assembly, and all loops are the same at the end

tiny dagger
#

yeah

sour perch
#

uhm

wraith dew
#

adding a i++ as the last line of a while loop basically makes it a for loop

hoary parcel
#

That's false

#

For int and while loops can be equal, yes

#

A for each loop works way differently

#

It's uses an iterator

wraith dew
#

thats a for each

hoary parcel
#

You can do that with a while loop too, but it's more boilerplate

#

So no, not all loops are the same at the end

wraith dew
#

for(int i = 0; i < 10; i++) does not use an iterator

tiny dagger
#

i guess yeah a list has an iterator and foreach does it dirrectly the last time i looked in rt

iron nebula
#

Yes, using iterator is diff but if you loop array or list, the JVM can optimize that

hoary parcel
#

List#forEach is a whole other story

#

As its a stream

iron nebula
#

JVM inlines that in most cases if you have only forEach

muted spindle
#

.stream().filter().forEach();

naive goblet
#

Lovely

muted spindle
#

I forgot .map().collect();

hoary parcel
#

Yes c2 can inline the method, it still has more overhead

tiny dagger
naive goblet
#

Yeah it's a for loop in the end and jesus that theme.

frigid ember
#

so using a for loop is faster?

tiny dagger
#

its jd gui

frigid ember
#

with arraylists

#

as it anyway uses a for loop in it

#

or no

iron nebula
#

Not really, it all compiles to the same assembly at the end

fleet burrow
#

what have I done

frigid ember
#

Ok

hoary parcel
#

That's decompiled code using a really aweful decompiler

tiny dagger
#

i'm not here to copy code

#

its here because its an useful tool

muted spindle
#

dammit hekton look what you started xD

frigid ember
#

@hoary parcel

#

yes i have the mf file

#

it is in the jar

naive goblet
#

Well dark themes is still superior

tiny dagger
#

with a good searching function and gui

hoary parcel
#

Don't use jdgui like ever

fleet burrow
#

hol up

#

that's white theme

hoary parcel
#

Use proper decompilers build to understand modern bytecode

tiny dagger
#

like?

muted spindle
#

like?

frigid ember
#

dislike?

hoary parcel
#

If you want a drop in replacement for jdgui use luythen

#

It uses procyon

iron nebula
#

Luythen is fucking slow when it comes down to search

hoary parcel
#

If you use intellij, it had a decompiler inbuild, fernflower

#

Has*

tiny dagger
#

it's not as good and last time i tried you couldn't ctrl click to open the object

naive goblet
#

Huh

iron nebula
#

Theres also BytecodeViewer

hoary parcel
#

Idk I don't use it, I only use fernflower

#

Inside intellij

tiny dagger
fleet burrow
#

wow

frigid ember
#

use proper decompilers

fleet burrow
#

you guys don't use hex editor

tiny dagger
#

hex is way harder to read with no benefit to what i need it for

naive goblet
#

Intellij has that?

#

the search types

hoary parcel
#

Sure

naive goblet
#
  • It's dark themed
sand helm
#

!verify ZoiBox

tawdry lilyBOT
#

This account is already verified!

frigid ember
#

!verify purplex

tawdry lilyBOT
#

A private message has been sent to your SpigotMC.org account for verification!

frigid ember
#

NO DM

#

no

#

u think urself

fleet burrow
alpine tide
#

HELP!

muted spindle
#

is !!!!!!false false or true?

#

:p

alpine tide
#

Full true.

muted spindle
#

tis false

#

number of '!'

wraith dew
#

hint: you count the number of exclamation marks

muted spindle
#

xD

fleet burrow
#

??!!?!????!!

wraith dew
#

theres 5 in that one

muted spindle
#

I though this was a place for answering help with spigot and bungee problems

alpine tide
#

Could you say the correct answer?

muted spindle
#

not computer science exam questions

wraith dew
#

no

muted spindle
#

no

#

Learn it yourself

fleet burrow
#

that isn;t computer science hehe

wraith dew
#

do you understand boolean logic

#

ill give you a clue || is OR, && is AND

muted spindle
#

clearly !not

fleet burrow
#

haha he deleted it xd

alpine tide
#

If I know that || is OR, && is AND

muted spindle
#

if (((a || b || c) && d || e) && f && g) || h

#

f wins

wraith dew
#

but its not just f

muted spindle
#

oh ofc

#

but you can ignore the rest if F is true

#

otherwise

wraith dew
#

but what if its not

fleet burrow
#

then if this is true ((a || b || c) && d || c) && d && e)

alpine tide
#

Incorrect.

muted spindle
#
True if
a or b or c and d or c and d and e
or
f
alpine tide
#

Wrong..

muted spindle
#

we're not answering your question...

wraith dew
#

thats not simplified

#

first part in brackets only returns true if d or e are true

#

so you can ignore a or b or c

sharp hollow
#

You do realize you can just test this shit, right? @alpine tide

muted spindle
#

um no...

wraith dew
#

wait i read that wrong

muted spindle
#

everything in brackets + d and e have to be true

naive goblet
#

then if this is true ((a || b || c) && d || c) && d && e)
(( )))

#

wew

muted spindle
#

lol that syntax

naive goblet
#

Imagine if we could do that

muted spindle
#

pls don't

#

I'll cry

#

it breaks logic

#

no pun intended

#

I hate my old name

#

first condition:

#

a or b or c must be true

#

second condition:

wraith dew
#

(a or b or c) and d = d

muted spindle
#

d also must be true

naive goblet
#

((a || b || c) && d && e)

muted spindle
#

or c

naive goblet
#

Yeah d and c appear 2 times which makes it redundant

wraith dew
#

so you can simplify it to (d && e) || f

muted spindle
#

yeah I just realised my typo

#

my bad lemme fix that

#

if (((a || b || c) && (d || e)) && f && g) || h

wraith dew
#

wait i read it wrong again...

muted spindle
#

updated

#

Aight

a or b or c +
d or e +
f and g

OR

h
#

will return true

wraith dew
#

((d + e) x f x g) + h

naive goblet
#

e can replace d & a|b|c

fleet burrow
#

damn

#

boredom

muted spindle
#

no it can't

#

it's d or e

naive goblet
#

yes

wraith dew
#

no if e is false it can still return true

#

if d is true

muted spindle
#

D or E and the first nested bracket

wraith dew
#

you dont need a + b + c

naive goblet
#

e or d + a or d + b or d + c

#

^replacement

tiny dagger
#

write it on paper or something to understand the logic :p

frigid ember
#

wha tactually happens when you flush a packet

wraith dew
#

wait i see my mistake

muted spindle
#

e + a or e + b or e + c or d + a or d + b or d + c

wraith dew
#

you do need a + b + c

#

yeah i think thats right

muted spindle
#

a or b or c

naive goblet
#

yeah you changed it 28 sent the error 27 thonking

muted spindle
#

where tf is my pass for thonking emojis

frigid ember
#

How do I whitelist?

#

/whitelist add USERNAME doesnt work

#

how do i use commands?

naive goblet
#

Did you enable the whitelist?

frigid ember
#

yes

#

I cant type any command in the console?

naive goblet
#

You can

#

without slash

frigid ember
#

i cant

#

oh

#

thx

naive goblet
#

lol don't thank me bud

frigid ember
#

nvm didnt work

#

nvm

#

worked

naive goblet
#

huh

frigid ember
#

Is there any plugin for crates, but rewards can be opened only once, I mean if you open goldblock in crate other players cant open goldblock

naive goblet
#

Yes I think so

wraith dew
#

have aboolean that locks it

naive goblet
#

Well he might not want to code his own plugin which is understandable

frigid ember
#

Troxx link?

naive goblet
#

Pavllo I know that crazycrates can do the job

muted spindle
#

I prefer insanecrates

#

😁

wheat rapids
#

Hello I'm lookin for someone who would help me. I'm tryin to find how to open spigot server console

naive goblet
#

On windows?

wheat rapids
#

yes

naive goblet
#

you need a bat file

frigid ember
#

Troxx how crazy can do that?

naive goblet
#

or I mean a script

muted spindle
#

java -DIReallyKnowWhatIAmDoingISwear -Xms8192M -Xmx8192M -jar server.jar nogui

naive goblet
#

Pavllo it's documented so just head over to the plugin page

muted spindle
#

starts the server with 8 gigs of wam

wheat rapids
#

okay I will try it thanks

naive goblet
#

Drajge if you don't want to have a local batch file

final verge
#

Crazy crates can do the job with blacklist permissions @frigid ember

muted spindle
#

the -DIReallyKnowWhatIAmDoingISwear is to stop spigot complaining about your old build

red bolt
#

is there a way to disable commands such as /version and /plugins ?

#

im talking about code

muted spindle
#

yes

naive goblet
#

Not going with permissions?

muted spindle
#

commad pre proccess event

red bolt
#

cancel it ?

muted spindle
#

can be used cancel them

red bolt
#

how do i check which command it is

muted spindle
#

or you can use command.yml to remove them

naive goblet
#

e.getMessage().split(" ");

muted spindle
#

^

naive goblet
#

then the first part would be "/command"

#

and then the args

red bolt
#

in my command.yml

#

it says

#

aliases

#

icanhasbukkit

#
  • version $1-
naive goblet
#

lol

#

"with code"

muted spindle
#

lol

red bolt
#

well

#

if i can do it

#

without code

#

then why not

naive goblet
#

Well idk if you can override fallbackprefixes with commands.yml

muted spindle
#

here is an example

subtle blade
#

the [flag] is to stop spigot complaining about your old build
And was also meant to be used by developers, secretly, to not be bothered while making plugins; not to be used by negligent server owners refusing to update their servers frequently in order to patch issues they may be having and ensure the latest version of the API

muted spindle
#
command-block-overrides: []
ignore-vanilla-permissions: false
aliases:
  icanhasbukkit:
  - []
  kill:
  - []
  worldborder:
  - []
  summon:
  - []
#

this will disable kill, worldborder and summon commands

red bolt
#

how about the /plugins

muted spindle
#

yup

#

it can even do that

subtle blade
#

Why are you not using permission nodes

red bolt
#

because default players can use the commands

muted spindle
#

because by default anyone can do /pl

subtle blade
#

... use permission nodes ...

naive goblet
#

Permissions would block the command plus the aliases

red bolt
#

im using luck perms

subtle blade
#

LuckPerms is a permission management plugin... so use permission nodes

#

You can negate permissions

naive goblet
#

/lp group somegroup perm set bukkit.command.plugins false

muted spindle
#

you can use permission nodes or write 2 lines in a file

naive goblet
#

/lp group somegroup perm set bukkit.command.version false

#

I believe

red bolt
#

alright

subtle blade
#

Use the system put in place for a reason. Do not disable the command, restrict it to who you want to use it.

muted spindle
#
  bukkit:me:
  - []
  bukkit:?:
  - []
  bukkit:about:
  - []
  bukkit:help:
  - []
  bukkit:pl:
  - []
  bukkit:plugins:
  - []
  bukkit:ver:
  - []
  bukkit:version:
  - []
  bukkit:
  - []
subtle blade
#

or just ignore everything I'm saying, yea that's cool too

muted spindle
#

Nah it's a valid way to do it

red bolt
#

ill use the perms

naive goblet
#

Choco

muted spindle
#

I'm not dissing it

subtle blade
#

It's the stupid way to do it

muted spindle
#

why is it stupid

naive goblet
#

commands.yml shouldn't override fallbackprefixes?

final verge
#

It’s like using a hammer to break a screwdriver, and then using the hammer to try to screw in a screw. It can work but there’s no reason why you shouldn’t just use the screwdriver

subtle blade
#

because the permission system was put in place specifically to restrict players from accessing functionality that server owners may want players to have access to

#

You're intentionally circumventing that by preventing the command from running in its entirety

naive goblet
#
# commands.yml
"bukkit:pl": #<-- it should ignore that one because it has a fallback prefix????
  - '[]'
#

?

red bolt
#

yes it worked

#

ty

#

same concept about plugins ?

muted spindle
#

oh yeah I block pl and bukkit:pl

final verge
#

That’s so much extra hassle

#

When you could just

subtle blade
#

i give up

final verge
#

Give them a false perm

muted spindle
#

I'm blocking pl, because in my servers use case we don't need to use /pl at all

final verge
#

You just set yourself up for failure down the road

#

I know a dev or two including me who asks for your /pl when giving support

muted spindle
#

right but I'm not asking for support

final verge
#

yet.

naive goblet
#

@red bolt why are you asking for incompatibility uwu

muted spindle
#

why ask for support when you can decompile and fix the problem yourself

final verge
#

...

muted spindle
#

:P

final verge
#

So the problem gets fixed for all other users? And then you don’t have to decompile and recompile every single update after?

#

My brain cells

#

They are dying

muted spindle
#

I totally understand most servers will want to go with Chocos approach

#

it makes sense

#

using permission nodes

red bolt
#

wdym ?

muted spindle
#

I'm just saying in my particular use case I'm going to block the command entirely

red bolt
#

incompatibility ?

muted spindle
#

Well no

red bolt
#

i just want to disable people from viewing my /pl list

muted spindle
#

right

naive goblet
#

Well it's ambiguous to use commands.yml as it ignores any command totally.

muted spindle
#

Doing it my way removes the command completely

red bolt
#

im not using the yml file

#

i did it through permissions

naive goblet
#

Permissions?

red bolt
#

yes

muted spindle
#

where as doing it Chocos way will mean using a permissions plugin

naive goblet
#

Good

muted spindle
#

and adding permission to the /pl command

#

which is better if you intend to use it

red bolt
#

how do i put bukkit:version in the permission though ?

muted spindle
#

You using luck perms?

red bolt
#

yes

muted spindle
#

you can just /lp editor

#

and add it through their web interface

red bolt
#

yes but like

#

bukkit:versio

#

bukkit:version

#

how do you put that

#

in the perm node

muted spindle
#

you type bukkit:version in the space provided

naive goblet
#

bukkit.command.version

red bolt
#

so bukkit.command.bukkit:version ?

naive goblet
#

no

#

ignore the colon shit

red bolt
#

i did that already

naive goblet
#

yes

#

you give a false perm of the version command

muted spindle
#

yeah ignore me

#

you don't need the colon

#

bukkit.<>

naive goblet
muted spindle
#

bukkit.command.version

#

that's the permission

naive goblet
#

RumDum /pluginname:command is mainly made if 2 plugins has the same command name. So in theory every command has 2 instances.

#

one with the fallbackprefix and one without

muted spindle
#

example: /kill and /minecraft:kill

red bolt
#

yeah i got it

#

thanks

muted spindle
#

in the case of bukkit

naive goblet
#

It's incase of dupe

muted spindle
#

You have /pl, /plugins, /bukkit:pl, /bukkit:plugins

#

a lotta redundant commands that do the same thing

naive goblet
#

It's actually just 2 versions

#

aliases isn't real commands

muted spindle
#

As for decompiling a plugin and fixing it myself, its faster to do that then post a bug fix request

#

I like to avoid something called Dependency Hell which I see some plugins fall prey to

subtle blade
#

you're trolling right? lol

muted spindle
#

me?

subtle blade
#

yea

muted spindle
#

no?

naive goblet
#

lol

#

I mean it's a solution but too much effort

muted spindle
#

Why would I want to wait on hours for a response for a developer

naive goblet
#

Permissions?

muted spindle
#

I agree I'm not going to fix the problem if the plugin is massive

#

I'm talking more about the smaller plugins

#

that do 1 or a few things

naive goblet
#

Problem is to open IDE

#

But yeah

muted spindle
#

I've had cases where I will leave post a bug report

naive goblet
#

Reading many levels of abstraction is a hell.

red bolt
#

you dont like dependencies ?

muted spindle
#

and a week or month later

#

I might get a response

#

RumDum, google Dependency Hell

naive goblet
#

Okay I mean managing dependencies manually is hell

#

But with Gradle and Maven it's not that bad

muted spindle
#

Plugin A depends on Plugin B which depends on Plugin C etc.

subtle blade
#

If it's open sourced, contribute. If it's closed source, report the bug. Working with decompiled code is going to make your life more difficult and potentially your server more strenuous

naive goblet
#

Rare cases where it's more than 3

muted spindle
#

and what if the developer has gone radio silence?

red bolt
#

i mean cant you just shade a jar file into another one with maven ?

muted spindle
#

By Dependency Hell, I'm not talking about the management of dependencies

naive goblet
#

Yes

subtle blade
#

If the developer's disappeared, you can likely find an alternative

muted spindle
#

and if such alternative doesn't exist?

naive goblet
#

It's not a real problem. From what I know gradle would atleast add all dependencies of a dependency unless you exclude it.

muted spindle
#

I'm talking how plugins depend on their cores, which depend on a library or libraries, which depend on other libraries

naive goblet
#

Gradle should still handle that kind of well

#

And it's a rare occurence even outside spigot

muted spindle
#

Gradle isn't going to drag a developer to their computer and update it

#

lol

naive goblet
#

Idk what you're working on but you seem kind of affected by something.

muted spindle
#

Nah, I just know that a developer working on a free plugin is not obligated to provide you with support or bug fixes

red bolt
#

so this is a rather odd question, but i want to ask, after java basics what do i need to learn to be able to make complex plugins ?

muted spindle
#

You could learn about Java Collections

naive goblet
#

RumDum just code much and you will get into it. Don't haste yourself into too advanced stuff.

#

You could learn about Java Collections
Arrays overall I'd say

red bolt
#

i mean i already read about programming patterns

#

cause its kind of useful

muted spindle
#

Introducing:

Trees,
Maps,
Lists,
Sets,
Collections