#help-archived
1 messages · Page 20 of 1
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/
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?
cheers
@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
I wouldn't risk it then
You can't have a new account
See
😂😂😂
Alright, fine, can I change my date of birth? For some reason it’s not accurate.
does anyone know how to disable the off hand?
Yes you can contact staff to have your birth date changed
@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
Would I be able to get my forums name changed to Kowlin or KowlinMC? “WolfieMCOfficial” was for a thing like 2 years ago.
How can I make multi line hoverable chat msgs?
Does it require JSONBuilder or can it work with TextComponents
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?
can i get help
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 🙂
Can someone help me with one plugin
@placid ingot You should contact your provider about the issue.
Tried it a few mins ago, they can't do much
@zenith palm Can u help me with one plugin or u cant?
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.
Why plugin Vehicles doestn work on version 1.8.9
You'll need to contact the developer of that plugin.
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?
Unfortunately, no one but the developer is going to be able to help you.
Is there any Viaversion like plugin but for 1.15?
Is there any Viaversion like plugin but for 1.15?
@finite belfry You mean getting people from older clients onto a newer server?
yes
yes
@finite belfry https://www.spigotmc.org/resources/protocolsupport.7201/
thankyou
ok
@finite belfry https://www.spigotmc.org/resources/protocolsupport.7201/
@zenith palm Actually their download link is broken, try this one: https://build.true-games.org/job/ProtocolSupport/
wow really thankyou
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
Are you using a hosting provider?
yes i am
What host
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.
Did the host tell you they forwarded the port?
This looks like what you want to do https://help.pebblehost.com/en/article/how-to-add-an-additional-port-c5j09b/
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
@zenith palm @frigid ember thankyou for telling me the plugin, now my server is 1.8-1.15.2 friendly
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)
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
You'll need to update ViaVersion
np
you should look at the wise hints your IDE gives you
yes intelli smort, it knows™️
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?
commands.yml ?
how do i teleport a player to spesific cord in a plugin?
i have tray target.teleport but it dosen't work
then you did something wrong
Bukkit.getPlayer().teleport(Location);
Location is another type of object you can use.
ok so i can't use cord?
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?
What are you trying to do?
@umbral garden what command do i cancel?
i can't cancel the bukkit /help
i mean /bukkit:help or /?
ssamjh I updated the via version but can't connect to the server with 1.15
You should be able to?
I mean I don’t think you can override commands with a fallbackprefix
does color codes in string work?
Yes?
You can use the enum ChatColor for it or use the factory method ChatColor.translateAlternateColorCodes()
how would i go about making a mob stacker plugin ?
Can someone tell me why I can't connect with version 1.15 to server with spigot 1.8.9
because you can't?
How u think I cant
Man I make a network server and need from version 1.8.9 to 1.15x to can connect
your client has to be the same version as the server
U really can't understand me
anyone know if there is a wiki for AAc configurating ???
Astritex do u hear for plugins to use
You're 1.8.9 server needs to use ViaVersions (A protocol hack) to allow players on later versions to connect
?
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
I don't know what to tell you, ViaVersions says it supports anyone on 1.8 - 1.15 connecting to a 1.8 server
Any message you get?
ViaVersions is a spigot plugin, not a Bungee plugin
Shouldn't even be in the proxy server
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
Yes I install the via on all server but can't connect to the hub
And can't join the server
What is the hubs native version?
All servers use spigot 1.8.9v
Put viaversion on either only bungeecord server or Minecraft servers
You don't need vv installed on both
Don't put viaversion on both
You'll want to make sure bungeecord is the latest version
and then limit the packets
Remove viaversion on all Minecraft servers, or remove it from the bungeecord server
as in the screenie above
And that too ^
That's not packet limit...
that's player limit :3
Are this it's in the config
Packet =/= Player
Yes I watching the config now
the config there tells you to set max-pps to -1
LogicalDark are only this can allow to join
Bcs I try to join and another time see this message
what version are you on
1.15
try with lower versions
until it works
The connection error above is a bug from 1.8
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
Nope and 1.14.4 doesn't work to join
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?
Only 1.8.9 can Join with other versions can't join
It isn't deleting any of the log files :/
I can't see anything wrong with the logic I wrote
if (dirFiles.getName().endsWith(".log.gz") && !dirFiles.getName().contains(new SimpleDateFormat("yyyy-MM-dd").format(new Date()))) This is probably a false statement?
You should get a new date, formatted, as a string and then compare to the filename
ok
I mean it's not even hitting the sout after dirPath.isDirectory
for some reason
Yeah
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
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
});```
show off >.>
I mean it's the same so it rlly doesn't matter albeit it's more compact
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
Yaaa
how do i enchat an itemstack?
I think it's through ItemMeta
how?
ItemStack#getItemMeta
ItemMeta#addEnchantment()
ItemStack#setItemMeta
Check docs
ok
Hi, how do I compile spigot new and old versions?
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
That's weird
Yes, it is
Are you handling depenencies manually or with gradle/maven?
I just added the BungeeCord jar to my build path when making the plugin
troxx don't suppose you've worked with the luckperms api before?
Not much
ah rip, had a problem for a few days now that i can't work out
whats api
dw
Yeah, I put it in there any no one responded lol
thought I'd ask in case you'd used it before
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();
});
}
@zenith siren I mean this is probably not it but I'd recommend waterfall anyways.
this is returning false even when the user has the group with the permission in
Try not returning line 2 only line 10. Actually I've never worked with it really but it could be an issue.
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
I think it's best
Seems like it.
Weird, I don't get the outdated build message when starting the proxy
It's probably not something major
I don't believe every new patch would thread sleep when starting.
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
You solved it yourself :)
Can someone help me with via version
@fleet burrow I think that it can be fixed in when creating a recipe?
By assign an ItemStack with the size of 2 ?
RecipeChoice#ExactChoice ignores the itemstack amount
@naive goblet
Hmm, I mean can't you get the recipe for a result? Then do some math with that?
Wdym?
Can you get the size of the result?
I can calculate it I guess
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.
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
ah
Can someone really help me with the via version
What's the issue?
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
1.8.9? Does that exist?
Yeah nevermind it's totally broken
oueh
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
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.
Try disable TCPNoDelay?
Yes my wrong 1.8.8
Any errors in the logs?
In my logs?
Yes in the console
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
Okay. Retrooper do you have any idea what it may be by yourself?
@frigid ember Any red plugins?
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
DIESEL Then why it's not working?
Idk
Do you have ProtocolLib?
via versiond oes not fully support 1.15
so some bugs might still occur
otherwise report to the developer
Retrooper okay so you don't know if it's from the server itself or from a plugion?
I think it should work though
¯_(ツ)_/¯
I think the logic for that is actually in the Container class 🤷♂️
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?
something else in your code
what could it be
.
if you dont share the code, no one can or will help you
no one wants to steal your socket code lol
is it socket.setReceiveBufferSize(8192); //8192
i told you
i set buffer to that
is higher better
and i told you that wouldnt cause it
im just sending packets
want to read 512b of data only? allocating 8kb of memory isnt needed then
downside: you can only read 512b
@silk gate
eye rub
buffer size wont affect cpu usage lol
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
hm
It works like storage/memory if that helps you. 8,000 is 8000 bytes
bytes
yes
i limit users to 80 bytes, as that is what I need.
Like replacing socket.setReceiveBufferSize(80000) Is probably more then you need
bit vs byte tho 🤔
its bytes
Nah
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
when you buy a 1 tb hdd but you think you got stolen by 30 gb or something like that
😂
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
Been there, done that; Fr33styler
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
https://www.spigotmc.org/wiki/buildtools/
!!!!!! ???
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
I never saw somebody using the word bruh so often until I met trooper
Okay then I miss understood you lol
@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
@frigid ember Check your dms
@drifting star if you don't wanna get punished id say don't link 3rd party stuff
cos some staff ban for that
Stop downloading from getbukkit, that site distributed malware before
@atomic rapids delete link pls https://discordapp.com/channels/690411863766466590/690470011382267904/700315819112136715
^
You are in an help Channel
smh
Ask your question
you have a chance to get a virus better not risk it at all
btw @atomic rapids update my name, I hate spigot man, they don't even update my name smh
so
nah dm
Because that's a library that's designed to serve sockets in a performant manner
I use sockets already
Iam happy with sockets, im sure one can fix this
cos I don't wanna restart everything
Well, then attach a profiler and see where you spend your cpu time
how
If you use a proper ide it will have a profiler I build
In*
Else you gotta use Google for learn something ffs
Just a suggestion: Add some functionality to @tawdry lily to have it automatically delete links distributing illegal jar files
We need a suggestion channel!
@hoary parcel could the high cpu usage be that I make a thread for each user
will setPriority(int priority); help?
No
why are you making a separate thread for each user?
there is a thread limit too if i remember correctly
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%
what CPU is it?
so is it because of my cpu?
Is there any way I could set a block as unbreakable?
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
No, just one specific block
get block type or location
I just said
cancel blockbreakevent if the block u want is broken
@frigid ember
i am just assuming you know the blockbreakevent .
I really don't want to store all the block locations lmao
??
It's not going to be just one block really
It's going to be thousands
So before I store each location
WHAT
not block type
oh my god
so you want specific
xd
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()));
bruh
sorry
god damn you minecraft
write a mod or cancel blockbreakevent
I'll just store the locations as longs
adventure mode might work too if you can be bothered
then it's just 8 bytes
Just cancel block break event if the material type is the type you wish players not to break
Yeah that is what I am doing right now
i could make u the plugin if you rrl need
Just wondered if there is a better solution
not really
i mean you could mess with client packes
Don't think I could for that
You can't change the client code of the player
ik
to make a block act like bedrock
what is netty's repository
you can make them look to see the block as the block but it is acc bedrock
hence packets
what is netty's repository
@frigid ember
I guess another thing you could do
with maven
if they player starts to hit the block they want to break
your server wouldnt enjoy it
give them a big mining fatigue buff
ehhh
or cancel the block break event
lol
why would you wanna set some blocks as unbreakable?
I am making a machine plugin
so people can't break them 👀
machines should be indestructible
Currently I am storing the locations as longs in a .dat file
why dont you just check the location
then if someone breaks a block in that location it canceled
👏
check 2 locations of opposite diagonal sides of a machine
cancel a block break if it happens to fall inside that location
Why don't you just cancel block break?...
ahhhhh
he is 😞
Is there any event that is called whenever a block is broken? May that be from TNT or something else
BlockBreakEvent
ea
no
yea
Is there any quick way to reload BungeeCord permissions?
Not called with tnt
If you want to prevent tnt damage to blocks you'll need to use EntityExplosionEvent
and check which blocks its removing
yea
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 :(
cant you just cancel the event if its within like 7blocks of a machine
nope
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.
Lambda could be used there :o
Lambda can be used anywhere, it's still not a key part in solving the problem :p
and help this situation how?
exactly xD
It's cleaner in my opinion.
it's like saying oh its a for loop, you can use while loop
It is in assembly
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.
java isn't assembly as far as I remember
bytecode
Computer does not understand bytecode either
Unless its a Java processor, which modern processors aren't
🍿 grabs popcorn
And this all compiles down to assembly, and all loops are the same at the end
yeah
uhm
adding a i++ as the last line of a while loop basically makes it a for loop
That's false
For int and while loops can be equal, yes
A for each loop works way differently
It's uses an iterator
thats a for each
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
for(int i = 0; i < 10; i++) does not use an iterator
i guess yeah a list has an iterator and foreach does it dirrectly the last time i looked in rt
Yes, using iterator is diff but if you loop array or list, the JVM can optimize that
JVM inlines that in most cases if you have only forEach
.stream().filter().forEach();
Lovely
I forgot .map().collect();
Yes c2 can inline the method, it still has more overhead
how the arraylist for each look like :p
Yeah it's a for loop in the end and jesus that theme.
so using a for loop is faster?
its jd gui
Not really, it all compiles to the same assembly at the end
what have I done
Ok
That's decompiled code using a really aweful decompiler
dammit hekton look what you started xD
Well dark themes is still superior
with a good searching function and gui
Don't use jdgui like ever
Use proper decompilers build to understand modern bytecode
like?
like?
dislike?
Luythen is fucking slow when it comes down to search
it's not as good and last time i tried you couldn't ctrl click to open the object
Huh
Theres also BytecodeViewer
if any has this searching function i'm down to try it
wow
use proper decompilers
you guys don't use hex editor
hex is way harder to read with no benefit to what i need it for
Sure
- It's dark themed
!verify ZoiBox
This account is already verified!
!verify purplex
A private message has been sent to your SpigotMC.org account for verification!
HELP!
Full true.
hint: you count the number of exclamation marks
xD
??!!?!????!!
theres 5 in that one
I though this was a place for answering help with spigot and bungee problems
Could you say the correct answer?
not computer science exam questions
no
that isn;t computer science hehe
clearly !not
haha he deleted it xd
If I know that || is OR, && is AND
but its not just f
but what if its not
then if this is true ((a || b || c) && d || c) && d && e)
Incorrect.
True if
a or b or c and d or c and d and e
or
f
Wrong..
we're not answering your question...
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
You do realize you can just test this shit, right? @alpine tide
um no...
wait i read that wrong
everything in brackets + d and e have to be true
lol that syntax
Imagine if we could do that
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:
(a or b or c) and d = d
d also must be true
((a || b || c) && d && e)
or c
Yeah d and c appear 2 times which makes it redundant
so you can simplify it to (d && e) || f
yeah I just realised my typo
my bad lemme fix that
if (((a || b || c) && (d || e)) && f && g) || h
wait i read it wrong again...
((d + e) x f x g) + h
e can replace d & a|b|c
yes
D or E and the first nested bracket
you dont need a + b + c
write it on paper or something to understand the logic :p
wha tactually happens when you flush a packet
wait i see my mistake
e + a or e + b or e + c or d + a or d + b or d + c
a or b or c
yeah you changed it 28 sent the error 27 
where tf is my pass for thonking emojis
Did you enable the whitelist?
lol don't thank me bud
huh
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
Yes I think so
have aboolean that locks it
Well he might not want to code his own plugin which is understandable
Troxx link?
Pavllo I know that crazycrates can do the job
Hello I'm lookin for someone who would help me. I'm tryin to find how to open spigot server console
On windows?
yes
you need a bat file
Troxx how crazy can do that?
or I mean a script
java -DIReallyKnowWhatIAmDoingISwear -Xms8192M -Xmx8192M -jar server.jar nogui
Pavllo it's documented so just head over to the plugin page
starts the server with 8 gigs of wam
okay I will try it thanks
Drajge if you don't want to have a local batch file
Crazy crates can do the job with blacklist permissions @frigid ember
the -DIReallyKnowWhatIAmDoingISwear is to stop spigot complaining about your old build
is there a way to disable commands such as /version and /plugins ?
im talking about code
yes
Not going with permissions?
commad pre proccess event
cancel it ?
can be used cancel them
how do i check which command it is
or you can use command.yml to remove them
e.getMessage().split(" ");
^
lol
Well idk if you can override fallbackprefixes with commands.yml
here is an example
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
command-block-overrides: []
ignore-vanilla-permissions: false
aliases:
icanhasbukkit:
- []
kill:
- []
worldborder:
- []
summon:
- []
this will disable kill, worldborder and summon commands
how about the /plugins
Why are you not using permission nodes
because default players can use the commands
because by default anyone can do /pl
... use permission nodes ...
Permissions would block the command plus the aliases
im using luck perms
LuckPerms is a permission management plugin... so use permission nodes
You can negate permissions
/lp group somegroup perm set bukkit.command.plugins false
you can use permission nodes or write 2 lines in a file
alright
Use the system put in place for a reason. Do not disable the command, restrict it to who you want to use it.
bukkit:me:
- []
bukkit:?:
- []
bukkit:about:
- []
bukkit:help:
- []
bukkit:pl:
- []
bukkit:plugins:
- []
bukkit:ver:
- []
bukkit:version:
- []
bukkit:
- []
or just ignore everything I'm saying, yea that's cool too
Nah it's a valid way to do it
ill use the perms
Choco
I'm not dissing it
It's the stupid way to do it
why is it stupid
commands.yml shouldn't override fallbackprefixes?
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
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
# commands.yml
"bukkit:pl": #<-- it should ignore that one because it has a fallback prefix????
- '[]'
?
oh yeah I block pl and bukkit:pl
i give up
Give them a false perm
I'm blocking pl, because in my servers use case we don't need to use /pl at all
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
right but I'm not asking for support
yet.
@red bolt why are you asking for incompatibility uwu
why ask for support when you can decompile and fix the problem yourself
...
:P
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
I totally understand most servers will want to go with Chocos approach
it makes sense
using permission nodes
wdym ?
I'm just saying in my particular use case I'm going to block the command entirely
incompatibility ?
Well no
i just want to disable people from viewing my /pl list
right
Well it's ambiguous to use commands.yml as it ignores any command totally.
Doing it my way removes the command completely
Permissions?
yes
where as doing it Chocos way will mean using a permissions plugin
Good
how do i put bukkit:version in the permission though ?
You using luck perms?
yes
you type bukkit:version in the space provided
bukkit.command.version
so bukkit.command.bukkit:version ?
i did that already
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
example: /kill and /minecraft:kill
in the case of bukkit
It's incase of dupe
You have /pl, /plugins, /bukkit:pl, /bukkit:plugins
a lotta redundant commands that do the same thing
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
you're trolling right? lol
me?
yea
no?
Why would I want to wait on hours for a response for a developer
Permissions?
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
I've had cases where I will leave post a bug report
Reading many levels of abstraction is a hell.
you dont like dependencies ?
Okay I mean managing dependencies manually is hell
But with Gradle and Maven it's not that bad
Plugin A depends on Plugin B which depends on Plugin C etc.
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
Rare cases where it's more than 3
and what if the developer has gone radio silence?
i mean cant you just shade a jar file into another one with maven ?
By Dependency Hell, I'm not talking about the management of dependencies
Yes
If the developer's disappeared, you can likely find an alternative
and if such alternative doesn't exist?
It's not a real problem. From what I know gradle would atleast add all dependencies of a dependency unless you exclude it.
I'm talking how plugins depend on their cores, which depend on a library or libraries, which depend on other libraries
Gradle should still handle that kind of well
And it's a rare occurence even outside spigot
Idk what you're working on but you seem kind of affected by something.
Nah, I just know that a developer working on a free plugin is not obligated to provide you with support or bug fixes
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 ?
You could learn about Java Collections
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
Introducing:
Trees,
Maps,
Lists,
Sets,
Collections
