#help-development
1 messages · Page 1305 of 1
Have you tried contacting the server devs and ask them if they could give you some pointers ?
they dont respond
sad
How can I make a block/ a crop invisible for a player but visible for another one?
don't spawn the block in teh world and send fake blocks to the player who should see it
Send it with NMS?
Oh okay Ty
LF FREE DEV FOR SMP DM ME
chat gpt is free
i just started and idk what to do so im looking for a dev
start by paying your devs
im broke 🙁
what plugin
the one you are presumably making as you are in the #help-development channel of a server dedicated to making plugins?
Alr bru nvm your no hrlp
?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/
Nah but being owner of server eith 500 player server dc
I'm sure mcdonalds will find that helpful when you begin applying there when you finally turn 14.
But i'm 14 rn ;-;
I live in uae this is impossible to work anywhere irl when ur 14 but i work online and i get really good money I'm at the hotel swimming pool from my last online money
Lol
Hamza buddy why are you adding me
lol allgs ill accept
Bro wym i cant understand anything
"lol" is a manner of laughing
"allgs" is allgoods.
and the rest -> ill accept your friend request
Oh mb i dont know all the shortcuts btw when did i send u friend req but alr
thats why i asked why r u adding me
how would i go about sending fake block packets to players? like i want to make it so all the non-air blocks in an area turn into green wool but only for some players
There should be a sendMulti block change thing
which is the best way to make a "wait" in spigotapi?
okok ty
Is it currently possible through experimental spigot API to receive input from TextInput?
(In dialogs)
something something adventure
I think there is a CustomClickEvent or something?
that exposes a JsonElement or something else cursed
Yeah
Well in paper you can do it
With CustomClickEvent you have something like response view or smth.
Here you have jsonelement, but isn't the custom data prepended by the user?
?whereami
Bro, incorrect
Pretty sure spigot has a custom click event
it does yea ^
Yes I do think so
Yeah PlayerCustomClickEvent
Yes, it does. PlayerCustomClickEvent. But how am I gonna use it for TextInput?
can u use spring with spigot plugins 💀 💀
im pretty sure u can right
do ppl do that
iirc it is a bit scuffed with spring due to classloader shenanigans
but iirc possible
DI is cool 😈
there is some old framework
look at Dagger or Guice
i will look into it
i was just learning spring boot
Is it contained inside jsonelement when I press a button? The event itself isn't triggered on typing.
If I can retrieve the value from JsonElement on button click, this is exactly what I need.
typing doesn't send anything to the server
yea
you should be able to get the response from the json element when the client submits the dialog
Nice. I thought JsonElement only contains the data that you add via CustomClickAction#additions(JsonElement)
I'll have to try it and see
there is a way for make a /reload command in the plugin that make all the plugin unload and load with the new file (ofc i will update the file in plugins folder)
get a plugin manager plugin
while you can get a plugin to unload itself and then reload itself with a new pluginclassloader , it's quite hacky
okok
Not that plugin managers are much less hacky :p
They aren't, but someone else will be maintaining it instead of you
the very core definition of "not my problem"
What's up with this?
Apparently this Confirm Command Execution shows up on 1.21.6+ clients
Is there a way to bypass it?
yeah
yeah tk this
How do you bypass it?
TextComponent view_text = new TextComponent("[View Item]");
view_text.setColor(ChatColor.DARK_PURPLE);
view_text.setBold(true);
view_text.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/wlc-internal-view_item"));
I use it to execute functions on component clicks
so execute a command when they click the text ?
Yeah that's what I do
Well really it's internal, I check them from the CommandPreProcessorEvent
Cause apparently there's no way to execute a function directly with the ClickEvent
well yeah how would that ever work :p
anyways to my knowledge there is no way currently
Damn that sux
anyone know how to make rank can not be bought back, when own. and low rank requirement to buy
rank: diachu
server: ''
price: 10000.0
currency: Vault
slot: 14
item:
type: LIGHT_BLUE_BANNER
name: '�FFFF&lMVP &fRANK'
lore:
- ' '
- ' &7- &fPrice: �AA00$%price%'
- ' '
- '�FFFFᴘᴇʀᴍɪssɪᴏɴs'
- ' &7- &f%permission%'
- ' '
- '�FFFF&l(!) �FFFFClick here to purchase!'
buy-actions:
- '[MESSAGE] �EE00You have purchased the &f%name%�EE00! &7(%rank%)'
- '[CONSOLE] lp user %player% parent set diachu'
- '[CLOSE] menu'```
Make an API inside Spigot where you have a TextComponentFunction manager which gets constructed with a file path starting with _spigot or something else to make sure it doesn't conflict with the actual filesystem which has an overridable onClick function and then spigot overrides any OpenFile Actions that come from a click event that start with _spigot and instead call the onClick function of the TextComponentFunction which was registered for a specific url like /_spigot/view_item or something like that : P
So you dont get the above unbypassable error
And don't register it because well why not
or simply make a working game
isntesd of wasting time on usless shit
that players dont care about
some devs just forget how much players dont care
What game are we talking about
anyone know how to do this?
is thjis ur own plugin or someones plugin?
someones plugin
then #help-server
ok
also why dont u use tebex or something?
what is tebex
Store to sell ranks
@daring light what the heck are you doing
do not use a RUN_COMMAND action, use CUSTOM action and then create a listener for PlayerCustomClickEvent
This will not show any warning thingie (ofc. only for higher versions, but why would you support lower ones anyways ehe~)
Also, that warning screen is shown only for commands with permission level one and above
so if you really want this... not good solution, then you can just set permission level to 0
somehow... idk
Do it support buy rank by money in game?
Uhh don't think so
I'm on 1.21.4 so I don't have this
I'll just register them and set permissions for them
doesn't the confirmation only pop up for op commands?
This is an unregistered command
if someone here knows to work with mcmodels and oraxen hit me up xd
But.. wasn't the custom thing added in the same version ?
oh I guess you support 1.21.4+ clients with server 1.21.4...
right
how can I get a player's internal crafting view/inventory without Player#getOpenInventory() because that only does it if they don't have an inv open
you can't access that view if they have an inventory open
I guess you could try take the bottom inventory out of the open inventory view and try set the raw slots from there
this sounds a little ironic lol
getOpenInventory
cant get it if the inventory is open
I could've phrased that better, ngl
hello, my resource pack is only like 40 mb and low end pc's crash when trying to load the resource pack, what actions can i take to make it more optimized without having to sacrifice some assets,
the pack itself is 40mb but when its zipped and compressed by itemsadder its 18 mb, could that be the reason too?
its probably the compression doing it
downloading assets is a factor of bandwidth, not PC. Perhaps the decompression causes the stress on the PC.
aight👍
i was quite confused with this issue, this gives me a solid hint at where to look at
thanks
for those who have issues, just tell them to manually download and install teh pack so the server isnt doing it eachtime
i tested it, even then it crashes(with the compressed pack)
even if they are not in the server and are just in the main menu
I wonder if it doesn't crash when using store compression rather than deflate
yes i did it was out of memory crash mainly
havent tested it yet. that could possibly be the issue. if not then its the assets not the compression
because yeah i do have a lot of assets but i dont think its supposed to just crash like that??
it'd be helpful to get the stack trace for that
but do try without compression and see if it helps at all
in one case someone had 8gb of ram, usually in that range
it probably comes down to low heap size configuration
https://securelogger.net/files/924f284a-fad4-4720-a72c-f6059c0b3d36.tar.gz
this was the 8gb of ram guy
Yeah they should probably increase allocation if they haven’t
it was at max, i checked that also, its probably the compression
because its like, really weird and should not be happening
seems like it tried to allocate almost a gb of ram and it just couldn't
To decompress a 40mb pack?
the size of the assets isn't necessarily the size of the in-memory representation
in this case lowering the max heap allocation might help, that way it doesn't overwhelm their system
[00:17:52] [Render thread/WARN]: [OptiFine] (Reflector) java.lang.reflect.InaccessibleObjectException: Unable to make public static long jdk.internal.misc.VM.maxDirectMemory() accessible: module java.base does not "exports jdk.internal.misc" to unnamed module @7b7262a3
based on this, I wonder if Optifine just couldn't determine the maximum allocation and it ended up using some default value that was higher than their system allowed
@young void did everyone with the issue happen to be using optifine too?
Yeah but the in memory representation shouldn’t be that big
optifine
2025
people with this issue mostly use optifine but that sometimes happens with my own pc if i have too many tabs or a localhost running (im using fabric), reducing the max heap allocation fixed it for me right now because mine was crashing too at this moment so i dont think its a optifine problem but most likely the max heap allocation was causing the issue
I have no idea honestly, models are usually pretty big on memory
that being said, there's probably some extra allocation for the compression logic and what not, so it just adds up
it does make me wonder how memory efficient the minecraft model representation is
Aren’t models just a bunch of vertices
I have no idea, but textures alone should be pretty big
I mean I can load the entire base game in 1gb
And there’s a lot of textures in there
a single x16 texture would be roughly 4kb, so that's a start
I also imagine minecraft doesn't unload the default textures from memory
to be fair there is a lot of models with a lot of cubes in my case
im talking like 200-1000 cubes each
but minecraft isnt trying to neccesarily render them all its just trying to load them so i dont think it should just crash by loading them
did sending it without compression help at all?
how can I hide the extra bundle info like fullness and "can hold a mixed stack of items" because ItemFlag.HIDE_ADDITIONAL_TOOLTIP is deprecated & doesn't work?
people are not online right now and i cant test it with real low end users but it got significantly better and lighter, another thing was the protect-file-from-unzip option which when disabled it became easier to load like instantly and i also disabled compress-png-files: false and compress-json-files: false
but just like you said its not just the compression its that things add up on top of each other
good to know, probably worth a resource post on the forums
I could test this myself given I am using a pc with 8gb of ram
it'd be nice to know what exactly triggers it to allocate that much
sure, i would love to👍
i tested the previous and this version, it uses nearly 2 gb less ram
🥺
ItemFlags
for bundle stuff, you'd use the HIDE_BUNDLE_CONTENTS flag
you can add them by using ItemMeta::addItemFlags
ah I guess this flag doesn't exist on paper
if you're using paper, then you should ask it in the paper discord. The way you do it in paper is just setting the tooltip_display data component with their data component API
I'm pretty sure doing this hides the tooltip entirely but idk, I'll ask over there
I wonder why the protect zip file messes with things
Probably because it fucks with the headers or something
why would you even do that anyway
yeah but like, do people consider their textures that valuable to be messing with the sent zip like that, I am surprised Minecraft manages to decompress it at all
Hello, I'm seeking help with my 1.8.9 plugin
Expectations: Turn ball from this to this
Also, Make new goal explosions when you play the 1v1,2v2,3v3 or 4v4 gamemode,
Examples: https://medal.tv/es/games/minecraft/clips/kX7uweox4_HOWMk_I?invite=cr-MSxIRFQsMTk4MTEwNDUw&v=33
Ver los vídeos de Untitled - Copy de RogueMartin y millones de otros vídeos de Minecraft en Medal. Etiquetas: #minecraft, #openworld
I don't understand the difference between one and the other right now, is it just smaller? Or do you mean the color?
I want to change the status of the slime, One is in a damaged state and the other isnt
I could show you some code, if you want
so, you want to show the damage tint, isn't that shown by default whenever they hit it? Or do you want to show it on some other trigger
No It doesnt show when you hit it
I want it to show all the time
why not just modify the texture then
though it is weird that the damage tint doesn't show, make sure your resource pack doesn't override it
Because, The physics of the slime also change if you add the damaged status, it follows the body more
Nah, it's the plugin
I don't think that's the default behavior for slimes
that's probably just a thing with your plugin
Oh ok
I was also wondering the goal explosion thing i showed with the clip i sent
I want to add new ones
then you'd have to make them, it's all just falling blocks being thrown around
Look later into the clip
There is one with particles
I see, though I don't understand what is the question here
is this not your plugin?
It was made for me last year and I lost the source code
I want to add new ones with different pictures
I'm checking the plugin right now and I see these photos in it
And this folder in the plugin too
isn't that the source code
Is the ZIP file I have the source code?
I have no idea what you have right now
I have all this
that seems to be the source code
Oh, then that's perfect no?
if you don't know how to code, then it'd be hard for you to do anything with it, though
Oh shucks
I would recommend hiring a dev to add the features, it shouldn't be too expensive given you already have the plugin made and you just need someone to add a few things
Yea, It was my brother's friend that volunteered to make it for me 😅
if all you want to do is add some particle effects, it ultimately shouldn't be too hard if your friend made it properly. However for the other things you asked it does require some understanding of how the plugin works as well as spigot in general
Ok
Where do you recommend me to find a dev?
?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/
anyone knows why my spawner is not spawning the configured amount of mobs?
This is the code that is used to change the PDC of the spawner:
if (block.getState() instanceof CreatureSpawner cs) {
cs.setSpawnCount(spawnAmount);
cs.setMaxNearbyEntities(maxNearby);
cs.setRequiredPlayerRange(distance);
cs.setMinSpawnDelay(200); // 10s
cs.setMaxSpawnDelay(400); // 20s
cs.setDelay(20);
cs.update(true, true);
}```
Spawncount is set to 8:
validated using /data get block command.
And this are the values passed to the variables above (these are correct i checked using logging:
```yml
spawn-amount: 8
max-mobs: 18
distance: 22
Oh yea, and the spawner is floating 120 blocks in the air and its night (testing with zombie spawner)
It likes spawns 3-4 each time
how can i make the player size bigger or smaller_
Attributes
JPanel as in Swing?
I guess he is talking about https://dev.bukkit.org/projects/jpanel
Seems a bit old
How’s that development related. Or is he trying to modify it?
Daemon based server panels exist for a reason.
are you trying to modify its code?
@abbv3
yes bruh I’m here I just responded to u
idk if whst ur saying is development related
I Want To Remove The login page
you want every person to be able to see the console?
yeah I’m confused
Not a solution at all but why are resulting to a primitive plugin based GUI and not like MCSManager, or Ptero
I want to iframe tab
what
and it can't be done with login page
I dont know anything about jpanel, so i cant help you with that
If anyone can tell me How can i remove login part of Jpanel plugin?
Edit the source code and build it
I would think if there is no config option, you should remove it from the code. But i think that would break a lot of things
Ohh, that's what he means
?xy @frank thistle
I check there is no login part in jpanel public
ya I need for some reason
@smoky anchor
@frank thistle
?
Can u help me what should i do
No I can not
:-
I think what you're trying to do is stupid and you should look for a different solution
But again, you did not really explain much besides "get rid of login page"
when u use this plugin and config it when you want to enter it needed password and username
i want just directly goto index page
@smoky anchor
ok
You will probably have to do it yourself, and that will take time, you will also have to remove middleware stuff and everything else
The problem is in public files of jpanel i didn't find any file related to login :-0
does anyone know if it's possible to make a plugin that runs a server command and disable the logging that appears in the console ?
yes
now why the heck would you want that 
it's just a very specific usecase lol
i am trying to override a vanilla command
TL;DR: custom logging message
care to elaborate how?
you can listen to the ServerCommandEvent
okay.
what does that have to do with the logger
wait is the logger called by that eventListener?
I thought you were trying to override a vanilla command?
i am.
but i need the console logging to go away.
to get rid of the standard message.
"xyz" issued server command: /idk
ah, I don't think you can get rid of that easily
if I remember correctly, you'd have to add a log filter to the log4j2.xml config inside the server jar in order to do anything like that
damn. okay thx
how to fix place holder not working
in ur own plugin?
do y'all still use java in the BIG '25 🥀🥀✌️ 😔
You jest but java has gotten really good recently
java is OP
No no it’s OOP
Opp

yeah it's like The language™ for most things
lmfao
no
make sure the placeholder ur tryna use is registerd or downloaded
if it is ask in #help-server
show what placeholder ur using as well
3 billion devices use it, duh
your tv remote runs java
my tv remote cant run, do i have an inferior remote?
How do I set display number format blank in scoreboards? I don't see a method for such thing
orrr
Someone get choco to update that PR and then force MD to merge it
hello, i'm having some issues understand crazycrates rewards chance system. if there is someone that is experienced with this, please help! thanks in advance. have a good day.
sounds like you want to do something nefarious
Got it, but where is the CraftObjective? I can't find it anywhere
I am currently taking the approach of converting the scoreboard to nms, and getting the nms Objective from that
I use mojang mappings btw
so what im hearing is i can play minecraft on my remote
Is there a way to add custom armor textures (or models) without mods (1.21.5+)
I figured it out for items and helmets but from my research it seems it doesn't work for the other armor pieces for some reason
I didn't think there was anything special about helmets
well there is lol. You can have custom models that you can wear on your head, but it seems to only work for the head
I've figured out custom textures for the armor, but I don't think you can actually have custom models for chestplates, leggings, or boots
I am not sure what you mean, can't you change them with the item model component like every other item?
Doing this changes what it looks like in your hand, but it doesnt change the model of the item itself (when equipped)
apparently what you want is possible with some shader magic
Yea I noticed this, but I don't want to use any mods so thats not an option lol
Just changing the texture is gonna have to be good enough
It doesn’t use mods
It uses the vanilla shaders
You can change those with resource packs
Oh you're right! Hmm
That being said, it doesn’t make it any easier to do so eh, I would stray away from it
Core shaders are just magic to me
Yea it does look like a total pain in the ass
its not a priority for me right now, but I might come back to it later. Got plenty of other stuff to keep me occupied
Who knows mojang might add support for it later
I want to simulate an item being spat out of a chest. I've done the part where the item is created, and then "thrown", but eventually the item lands, and becomes able to be picked up. I want this effect to by only visual, the real item will be deposited in the players inventory anyways. Can this be simulated using anything in Spigot or would i need to mess with packets?
or is the much clearer solution here to just increase its pickup delay to something absurd, and have a schedular clear it long before that?
Item display
I would've suggested pickup delay, so I think either is fine tbh
and another thing, how do you detect if a player is able to place in an area? I want to place blocks / interact with containers on behalf of the player, but only if they could otherwise do so in Survival. I.e, if there is no claim, protection, etc?
it would be command based, not by an event, but I was thinking I could simulate a fake event, with the coordinates and player as subject, and see if its cancelled (like by WorldGuard), is this the best solution?
yeah that would be the best option
on monitor priority
"monitor priority"?
declaration: package: org.bukkit.event, enum: EventPriority
event priority purely for monitoring an event
Yeahh so what does the montior priority do?
like i understand intended use, but why is it intended
just ensures the listeners gets fired very last to ensure it captures all potential modifications to an event
ah gotcha
uhhh
wait so i should write a listener class?
I was going to write a method like:
public boolean canPlace(Player player, Location loc, Material type) {
Block block = loc.getBlock();
Block placedAgainst = block.getRelative(BlockFace.DOWN);
BlockPlaceEvent placeEvent = new BlockPlaceEvent(
block,
block.getState(),
placedAgainst,
new ItemStack(type),
player,
true,
EquipmentSlot.HAND
);
Bukkit.getPluginManager().callEvent(placeEvent);
return !placeEvent.isCancelled();
}
im not sure where a priority falls into it since im not the listener
ohh okay
yeah dw i wasnt thinking
too much grog?
not enough
how would this translate into code?:
title @s actionbar [{"text":"This text has shadow "},{"text":"but this text does not :D","shadow_color":0}]
i tried using the chat component api but it doesn't seem to have anything for shadow color
sunday night mate, go out enjoy yourself
declaration: package: net.md_5.bungee.api.chat, class: BaseComponent
for md5 component
u can change the shadow color???
tyy
I thought the shadow was done by dah cleient
was added a while ago but i dont think ive ever seen it in practice
omfg i want a hsp
get one
hsps are like a once a month thing for me tbh
makes me sick if i eat multiple
absolute pussy
what sauces/toppings do you get
what.
chicken lamb mix
what color is the meat?
lamb colour
hang on...
Ive never seen anywhere in Melbourne have beef on a hsp
i dunno what shredded beef looks like so now im wonderng if the hsp i alwyas get is chicken / lamb
nah its beef
jut checked doordash, everywhere around me is beef
well aioli and lamb sounds good
im so used to beef i aint consider aioli
actually on this it says BaseComponent() is depreciated
are you using paper api?
smurf cum
the constructor is deprecated in the link u sent
i'm not
yeah you dont use the BaseComponent constructor
use a ComponentBuilder
or TextComponent
"i tried using the chat component api but it doesn't seem to have anything for shadow color"
*i was referring to ComponentBuilder
I'll try TextComponent tho
you never instantiate BaseComponent directly
omfg i want a snackpack
or just use Adventure 
how much is a snackpack from ur local place in melb?
pretty expensive
like $16 for a large i think
maybe more now
on uber eats its like $25 or some shit
yeah mine is 30 on uber
well... let me clarify.
the joint is down the road, i just dont feel like walking. its 25$ on uber, but I feel sorry for the driver so i tip 5$
It was added recently, but the intention was to use StyleBuilder. See https://github.com/SpigotMC/BungeeCord/pull/3861
I've never had an HSP
Too unhealthy
Yeah I don't need 6000 calories of chips and meat to supplement 6000 calories of beer
just saw it in the documentation here so thank you for adding it
https://ci.md-5.net/job/BungeeCord/ws/chat/target/apidocs/net/md_5/bungee/api/chat/BaseComponent.html#setShadowColor()
declaration: package: net.md_5.bungee.api.chat, class: BaseComponent
VB is shit
but for some reason setShadowColor() isn't working either man
mostly carlton draught
i dont like heineken either, lagers piss me off and theres no froth
Yeah Carlton would be the normal pub lager down here
alright thats dinner sorted, lamb HSP, 6 pack of carltons
Cultural assimilation is going well I see
And for breakfast
Old mate loves a VB long neck for breakfast at 20 to 8 in the morning.
Hi
hi
anyone can do ddos attac to test sth?
updating the pom.xml dependency is as simple as just changing it to "1.21.8-R0.1-SNAPSHOT" right...
Yes
?
yeah idk i changed it to 1.21.8-R0.1-SNAPSHOT but I'm not getting access to shadowColor()
This isn't the place to ask
Yes there's no bungee chat release for that yet, but you've already been told two alternatives
(StyleBuilder)
Um I just want to test sth on my server and where should i ask???
There are stress testing services out there but they will be paid and highly regulated
I know but i need sth for small project and I don't want to pay money :-
Plus someone being able to ddos you means they have a botnet
which is illegal
what do you want to test anyway?
Bro I want to just check to security of my server
for a low volume attack, which most that you'll encounter in the wild will be, you can just grab some hacked launcher that spawns a bunch of headless clients and has them connect to a server
its still illegal and its not YOUR server
for a high volume attack you have to rely on whatever ddos protection your hosting provider supplies, which isn't really something you want to test
because yes, someone else (that provider) will be paying for that bandwidth and not you
what? it's my server i can prove it
is it on your own computer?
ya
Is the server located at your home?
🤡
Yes I just want to check sth :-
you'll get blacklisted from your own isp if you do that lmao
yea xD
In most instances a home hosted server can be taken down with packt spam from three sources
I just want to see is that good or no beacuse i searched for some platform of ddos protection
and i want to test it
but again, if it's just like testing your authme antibot config, or sonar, or something similar that operates on the plugin level and targets low volume attacks, just get a hacked client
you can do it from a single source and machine and you won't need a service or make your isp angry
bro i'm not testing anitbot
At the end of the day, no DDoS protection is EXTREMELY secure, at least not one that you can afford. If a good botnet comes along with the right bypasses, even good DDoS protection is useless.
i'm testing Anti DDOS Platform not plugin
then you're shit out of luck
If you are really interested in DDoS protection measures, you can take a look at AS203446 or Arbor
AS203446 and Arbor are frequently used for server hosting.
i own a botnet bro
10USD paid via BTC for 12 minute access

:-
Even if a joke, no
:l no trolling ig
hey i am new here
same!

oh
he didnt like that one
.
haha. i know how it sounds lol. it's not even for me. and I gave up as it was almost technically impossible.
how to fix spawners not working whe n you buy it for the shop
What plugins are you using?
The normal shop and donut spawners
ShopGUI+?
ya
Can you send the snippit of your spawner shop .yml?
I think shopgui+ has a command option
I've never used donut spawners so I am not sure if that has a give command to give spawners like silkspawners does?
oki
Sb can help me about a plugin error while compoiling ?
?ask
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. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!
paste the compolation error
also, what build tool are you using to compole your project
a totem pole
if (type == PacketType.Play.Client.EDIT_BOOK) {
List<?> pages = null;
try { pages = event.getPacket().getLists().readSafely(0); } catch (Exception ignored) {}
if (pages != null) {
if (pages.size() > cfg.getInt("book-max-pages", 100)) return true;
for (Object p : pages) {
if (p != null && p.toString().length() > cfg.getInt("book-page-max-length", 32768)) return true;
}
}
}
PacketType[] watch = new PacketType[]{
PacketType.Play.Client.CUSTOM_PAYLOAD,
PacketType.Play.Client.EDIT_BOOK,
PacketType.Play.Client.SET_CREATIVE_SLOT,
PacketType.Play.Client.CLICK_WINDOW,
PacketType.Play.Client.UPDATE_SIGN,
PacketType.Play.Client.USE_ITEM,
PacketType.Play.Client.CHAT
};
incompatible types: com.comphenix.protocol.wrappers.WrappedChatComponent[] cannot be converted to java.util.List<com.comphenix.protocol.wrappers.WrappedChatComponent>154 method getLists in class com.comphenix.protocol.events.AbstractStructure cannot be applied to given types;>132 cannot find symbol > 38 cannot find symbol > 40 cannot find symbol > 130 cannot find symbol >142
Error and Error parts
yes I but I dont have your line numbers
the error says you cant vonvert an array to a non array
readsafely probably jsut returns the first item, not the whole lsit
And I can't upload file ths is problem
Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.
Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org
ah there we go
Usage: !verify <forums username>
!verify intesho
Could not find your SpigotMC.org account!
!verify BeCOQ
Could not find your SpigotMC.org account!
or use a paste site
?paste
#bot-commands pls
Is Player#ban still what to use for banning players or
depends on your needs
wdym by that?
if you dont want to handle a database and things like that, just use that
yeah
Ah, alright. Thanks ^^
SB small help
if (event.getPacketType() == PacketType.Play.Client.EDIT_BOOK ||
event.getPacketType() == PacketType.Play.Client.WRITTEN_BOOK) {
cannot find symbol Error
Does anyone know why its not seeming to ban but only kick?
String banLayout = "§cYou have been banned from §6§lTango§2§lNet§c!\n§7You are no longer able to play unless you appeal.\n\n§fReason: %reason%\n§fPunishment given by: %staff%\n\n§dAppeal Link: https://****************/appeal";
@Override
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] args) {
if (commandSender.hasPermission("tango.ban")) {
if (args.length < 2) {
commandSender.sendMessage("§6§lT§2§lN §8| §cInvalid Usage: /ban <player> <reason>");
return true;
}
Player playertoBan = Bukkit.getPlayer(args[0]);
String reason = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
if (playertoBan instanceof Player) {
Instant instant = Instant.now();
playertoBan.ban(banLayout.replace("%reason%", reason).replace("%staff%", commandSender.getName()), instant, reason, true);
} else {
commandSender.sendMessage("§6§lT§2§lN §8| §cInvalid Player: /ban <player> <reason>");
}
}
return true;
}
}```
?
hello. wanted to ask something regarding optimization.
using plugins, I am coding a large-scale movable entity object thing to be used on a minecraft server.
which method is less resource consuming and easier to implement? it is basically an End Ship, same size(sadly can't post images here demonstrate). it will only be able to move forwards, it won't need to be able to rotate.
- making the ship as a structure is from lots of display entity blocks
- modeling the ship in Blockbench out of lots of cubes and putting it in game using resource-packs
Second option is probably the best, but I still wanted to ask because creating models is time consuming and maybe it may not be worth it in the end. I have never worked with anything so large before.
BanList banList = Bukkit.getBanList(BanList.Type.NAME);
banList.addBan(
playertoBan.getName(),
reason,
null,
commandSender.getName()
);
playertoBan.kickPlayer(
banLayout.replace("%reason%", reason).replace("%staff%", commandSender.getName())
);
} else {
commandSender.sendMessage("§6§lT§2§lN §8| §cInvalid Player: /ban <player> <reason>");
}```
?img
Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.
Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org
as I said I sadly can't post images in the chats since I'm not verified. I can dm you if you are will ing to give an advice.
read that
@orchid furnace try that
Ambiguous method call: both 'BanList.addBan(Object, String, Date, String)' and 'BanList.addBan(Object, String, Instant, String)' match
I saw. I thought you needed to make an account to upload files. 😅
here:
https://imgur.com/a/TIz1x7k
https://imgur.com/a/uC3JDdy
blockbench imo
can u test that ```if (playertoBan != null) {
BanList banList = Bukkit.getBanList(BanList.Type.NAME);
banList.addBan(
playertoBan.getName(),
reason,
(Date) null, // null = permanent ban
commandSender.getName()
);
playertoBan.kickPlayer(
banLayout
.replace("%reason%", reason)
.replace("%staff%", commandSender.getName())
);
} else {
commandSender.sendMessage("§6§lT§2§lN §8| §cInvalid Player: /ban <player> <reason>");
}```
yep, that works. Thank you!
Abood? what's ur testimony? you asked for the images.
The second option is lighter on the server
you welcome
thanks! I'll do that; already started modelling
thought it will be painful 🥲
*too?
a structure of that size should be fine to do with block displays, though making it as an actual model will perform better for both clients and the server
Even if modeling is a bit time consuming, the long term payoff in server performance is worth it
with the caveat of then hard-depending on a resourcepack
Depends on the amount/detail he has, no?
of course, but there were screenshots so we can eyeball the scale for this particular case
block displays are very cheap on the server, but players will start getting fps drop once you go into the 3 digit number range
O I totally missed it
personally i'd be comfortable with maybe 2 or 3 of those ships concurrently
agreed. in the competitive market of servers, the once with the best performance get more players.
a plus is also that I can add complex detail, carvings to the object which would have been hard with block display entities.
thank you everybody! 😄
just don't get too crazy with it, every trig and vertex still counts for rendering on the client side
e.g. voxel art item models made up of like 500 cubes will still tank your client
mostly because the mojank renderer is fucking shit but what're you gonna do
The key is finding that balance between detail and performance 👌
yes. that's why I asked it in the first place.
also I was talking about texture detail 🤣
a thing I am doing is combining multiple blocks into a single cubes.
on the image the model in its current state consists of just 6 of them
definitely the way to go
i at some point when i had voxel art items on my server worked on something similar
Wall incoming
automagically joining voxels into larger boxes
(Unless you're looking over all the impl, its not a lot of code I promise lol)
Do you guys agree with this wiring idea? Trying to fix circular depends within RoundImpl and some of the delegates need information that other delegates hold... roundimpl is where the composition is held so I figure pass the delegates an instance... well stupid me forgot that I was using the delegates as construction params to actually produce a round object so now I am trying to patch that issue with this solution and as far as I can tell, it works fine
For example, the lifecycle object needs to be aware of a plugin and the round instance in order to do some operations. Issue with that and other delegate objects, is they need this additional context which again is held in RoundImpl. However, I use all these delegate objects to construct a RoundImpl so how can they be aware of at least the round before it's constructed... which leads us to the solution of post construction wiring
Wondering if there might be a better way to get around this issue? Or might just rewrite everything

It's not a lot of code I promise!
3 methods with minimal implementation
I just assume some people might want more context 🤷♀️
this is why when i work on things i try to just write code instead of trying to follow some AbstractRegistryCreatorConfigurator anemic FFF quadrouple-Q paradigm
you end up twisting yourself into a pretzel
Hey man, I got the delegate idea from illusion... just trying to adapt to my needs
yeah i can tell
he's one of the local abstractregistrycreatorconfigurator etc enthusiasts
I mean I like the pattern he showed me, certainly cleaned up the actual roundImpl
Speaking of pretzels though, you should my mess of course generation code 🤮
maybe try explaining the style/paradigm you're trying to follow
aside from me not having to try and reverse engineer it from the repo or scrape it from some discord conversation between you and illusion, trying to explain things in your own words often helps with getting a more thorough understanding of them
Well I quite literally only went off what illusion showed me so I'm not even sure I understand the style I am trying to implement kek
Essentially I just wanted to clean up my RoundImpl class, a lot of boilerplate and bloat. Illusion then suggested his "delegate" pattern which just splits responsibilities and provides default methods through other interfaces, the actual implementations of the delegates would have the heavier logic I guess you could say. Now instead of RoundImpl being a god class, you get neat and clean separation while still being able to make calls directly to the round rather than the delegates
round.getTeams() vs round.getTeamDelegateManager.getTeams()
looks vaguely like some sort of ECS
Now the issue I was having is that I used the delegate objects to construct a RoundImpl but they need additional context from other delegate objects (and lifecycle needs a plugin reference) in order to perform some operations
Which lead me to make a couple "post construction wiring" methods that you could consider the init method of a class
My question was just whether or not this is smart (either the wiring or just the fact I'm using these delegate objects to construct a round)
just checked back on my old plugin and it seems that FoodComponent#addEffect has been removed! for example : ```java
powderFood.addEffect(new PotionEffect(PotionEffectType.NAUSEA,200,2),0.8f);
has been removed, can anyone point me ot docs/ give help on the new method to do this!
Thanks
Pretty sure that's part of consumables now
alright
declaration: package: org.bukkit.inventory.meta.components.consumable.effects
this im guessing
are you talking shit or am I tweaking?»
Yup
I showed the delegate pattern to prevent classes from being too big by splitting them up, while still maintaining all the original methods to minimize boilerplate
Solutions should be elegant and abstraction should be kept to a minimum. If you're making a complex solution it's essential to make things separate to avoid a tangled mess
I may still be a bit tangled
yes
never trust anything any pinkname says
is there any way to disable the Too Expensive! message in anvil while connecting things?
@thorn isle but the second looks a lot better than the first and it still operates the same
I think it made things a bit easier to manage in terms of the round
are there any examples of someone using ConsumableComponent with effectds
he's not as bad as that other guy who's ironically enough not a pinkname
dovidas something
this is ragebait
tbf I'm personally not a fan of dovidas either
I see him as an inexperienced developer who spends hours arguing in the hopes of getting everything right on the first try
Which, sure, getting things right is cool and all but a lot of these lessons come from practicing and being unhappy about some mistake you've made
ConsumableComponent powderConsumableComponent = meta.getConsumable(); all i have is this I cant figure out how to add effects without going through docs hell
My SpigotMC account was stolen, and the email has been changed, i can't login my account, I have sent an email to tmp-support@spigotmc.org, Hope I can get my account back, I spent almost $500 on my account😭
😭 🙏 this is crazy work
Is there any online staff who can handle this for me?
I want to have information displayed on a players screen, but scoreboards seem a bit clunky. Is there any other methods you guys know about?
custom huds if you want to go the extra mile, but that's overkill for many things
Ye if you have access to server resourcepack u can do a lot
I'm already using a resource pack so I'd like to do this. You have any links that'll help me get my foot in the door?
i always forget what the good hud plugin is, maybe happyhud or betterhud or something
stay away from the one that's related to mythicmobs, that's the bad one
Lmao
Hmm, okay
mythichud is the renamed happyhud
Whats so bad about it
@ivory sleet I would like to ask, when does the staff usually handle support emails?
Well im not really apart of the forums staff team, i don’t really know tbh but id expect relatively soon, just stay patient
mythichud sucks betterhud ok
the problem with betterhud is that it's somewhat undocumented
I'm worried about whether I can get my account back.🥲
support for both is ass
Did you save your backup codes like it reminds you a thousand times. You can very easily regain access to your account that way...
Whats so bad about the mythics one
Im just curious
You have to do a bunch of weird hacks to achieve certain stuff
and it never works out
For example, we have a UI at work for displaying different "objectives"
Im sure md5 will help you soon ^^
and different "modifiers" (work a bit like potion effects)
I can have 3 modifiers and the icons should stack neatly
everything in the mythic ecosystem only kind of sort of works, until it doesn't, and then you're knee deep into hacky bullshit
Oh fair that does suck
To do this with mythichud I'd have to add a million placeholders and use negative spacing
except negative spacing in mythichud destroys the alignment of all the other layouts
shifting text to the left shifts everything else to the right
In betterhud we just have a native system for it
And it lets you use math formulas for shifting values
Does anyone know an nbt api/serializer for all versions that does not require a dependent plugin?
im just trying to get the nbt data of a player as a string
pretty sure you can shade nbt api
it tells you this
maybe its not a problem if i just want to stringify it
im sending it to another app
FoodComponent powderFood = meta.getFood();
powderFood.setCanAlwaysEat(true);
meta.setFood(powderFood);
// effects are handled using PowderConsumeEvent
powder.setItemMeta(meta);
im doing this yet I cant eat my item?
also im not sure if this means, if im using the paper api or if the plugin is runnning on a paper server
that just sets that you can eat it even though your hunger bar is full, you need to set some component i think, not sure what its named exactly or how to set it
Paper server
is FoodCOmponent not enough
theyve changed this part of the API a lot
this worked in 1.20.6
but in 1.21.4 it is not...
check the nbt of the item and compare that to a working one
(that you can get with commands)
needs the consumable component too
yeah just figued it out
you can't really do that 'cause normal items have "inherent" components that are not visible via commands
For data components, just check the wiki
will player consume event be called when consuming this itemstack?
try and see but my guess would be yes
also are there any examples on effects when bundling with consumables
because I gave up on that and just have an event
chicken
again, the wiki shows you all the things it can do
the API should be nearly the same, if it exists that is
Great now im looking into intergrating my plugin with papi so I can work with the betterhud plugin lol. Ty for the rabbithole 😂
Getting this error. Anything I may be doing wrong?
"Could not find artifact org.spigotmc:spigot🫙remapped-mojang:1.21.8-R0.1-SNAPSHOT in spigotmc-repo (https://hub.spigotmc.org/nexus/content/repositories/snapshots/)"
did you run Buildtools with the proper flags ?
wdym by proper flags
so BT makes a remapped jar
let me double check
apparently --remapped
not sure how that looks in the GUI
yeah clicking it and rerunning build tools fixed everything
do i need to replace my server jar with the new jar it generated as well?
no the server jar is the same
but if you're building the plugin you gotta use some maven plugin
gotcha
I don't remember the bot command
all good
?nms
^^
for nms did ClientPlayerInfoPacket change to something else?
I see ClientPlayerInfoUpdatePacket and ClientPlayerInfoRemovePacket
yeah those are the two packets
oh did the blog go down 😢
@tender shard Did you shutdown your site? or did the url change?
Welp now we have a bunch of broken commands :p
Time to earn yoru keep and reproduce all teh content of those links 🙂
or scrape it and put it on the spigot wiki with a credit
how come
ServerEntity entity = new ServerEntity(level, npc, 0, false, packet -> {} , Set.of());
doesn't work?
doesn't work?
it's just returning an error saying some other type belongs where Set.of() is
wat u tryna do?
Compare different mappings with this website: https://mappings.dev/
1.21.8, aiming to make a player npc
Can you share the full constructor signature of ServerEntity you’re trying to call?
ServerPlayer then
public (ServerLevel world, Entity entity, int tickInterval, boolean alwaysUpdateVelocity, Consumer<Packet<?>> watchingSender, BiConsumer<Packet<?>, List<UUID>> filteredWatchingSender)
No set there
figured but when i search "new ServerEntity" I see everyone put a set there hm
import mojang mapped sources into your ide and life will be easier
already done, i'm just making my life harder lol
java.lang.ClassNotFoundException: net.minecraft.server.level.ServerPlayer :)
Guys I am using a custom structures plugin to place a structure with custom vaults
but when the structure is pasted into the world, if the world that the vault was created in was different to the current world
the vault appends server data to the block's data, specifically it adds: State_updating_resumes_at:394990284 or some large number like that, making the vaults impossible to open with their key item
they don't even activate when a player walks up to them
can someone help me prevent/mitigate this?
Looks like you forgot to remap with the special source plugin
I would've known to do that if the blog wasn't down :,>
Thanks, hopefully it comes back up
.
;/ forgot to disable the ping
finished the remap but now I'm getting this:
org.bukkit.command.CommandException: Unhandled exception executing command 'spawnnpc' in plugin Testing v1.0-SNAPSHOT
Caused by: java.lang.NoClassDefFoundError: bzm
Caused by: java.lang.ClassNotFoundException: bzm
Could you send your pom
and the output from /version
CraftBukkit version 4528-Spigot-7c52c66-37c783b (MC: 1.21.8) Implementing API version 1.21.8-R0.1-SNAPSHOT)
What jar did you place in the plugin folder?
Make sure you use the one without a prefix and suffix
also while you're messing with the pom I suggest updating all the maven plugins
since they're out of date
test-1.0-SNAPSHOT-remapped-obf
unless I wasn't meant to do that
Okay everything's fine now, sorry for the trouble and thanks for all the help
The rest of the generated jars are intermediary steps
Now I'm finally getting NMS related errors that I can work out myself
hi, just curious about 2D Arrays, is every row in a 2D array matrix an array, or are the variables in the rows arrays too?
what variables are you refering to?
lets just say i have a 2d array composing of ints
Think of it as an array containing arrays of ints
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
so all the numbers in there would be arrays
1,2,3 would be one array
Each group of numbers inside {} is an array
and every group is then surrounded in {} making that an array
Now wait until you have to work with biome placement which is basically a 6D array
Ovilo Are you sleeping at night? I see you online 24 hours lol
I got papi expansion (for my plugin) and betterhud working together 🥹
ok
ty for the rec 🙂
biome placement isnt that bad. Its actually pretty intuitive once you watch a video about it. Makes sense
does anyone know of a way to accurately get a players body rotation yaw and pitch? the NMS class for LivingEntity does have yBodyRot which seems to work when you rotate your body through looking around, but not when moving around. i also need the pitch for when the player is swimming or gliding
idk how detailed the information is that gets sent to the server
maybe this is just a limitation
other players see this information too though so surely its there somewhere
like i dont mind if i have to read some packets to get it
unless its calculated on client side
How do you change rotation or pitch without looking around?
idk ask md5, he knows about spigot
your head rotation/pitch won't change, but your body will turn in whichever direction you're moving
it's clamped to some 45 degree angle from where your head is looking, other than that it can essentially rotate freely
i'm still not sure after all of these years whether that information exists serverside, or if clients just infer it from movement and head rotation
that said it shouldn't be too difficult to infer from the latter
i'm guessing that it exists in the protocol at least, since mythicmobs somehow manages to fuck it up consistently, with the body spinning 360 degrees despite the head looking straight, or the head snapping 180 degrees from where the body is rotated
I saw body rotation in the code somewhere
In the server
Hi! Are there any real advantages to creating multi-module plugins?
you can have multiple modules rather than just one
as for why you'd want that, in a single module you can't, for example, depend on multiple versions of a single library as that'd introduce class conflicts
for plugins, the most common use case of a multi module plugin is to be able to build against multiple versions of nms and then at runtime load the module that corresponds to the version of the server
separating api from implementation is another use case, which is what spigot does with spigot-api and spigot
platform agnostic projects that are expected to run on forge/fabric/bukkit/whatever also typically use a "common" module for most of the business logic and then adapters and bootstrapping logic for each targeted platform in its own module
or, if you're talking about the "plugin-plugin" style modules as in e.g. bentobox where the main plugin loads extra plugins from its own "addons" directory, no, that is profoundly terrible and there are zero advantages to it, only problems
Thanks so much for the explanation! I wanted to create a factions core, but I didn't know if it was really useful to separate the various functions into modules.
the client only sends head yaw/pitch, 99.99% certain the body rotation is calculated by the client
I believe that's correct, yes
Server jar hasn't stripped client fields/methods for a long while now
What should I use then? Nothing on the docs that say what to use or that its even depreciated
Looking for developers for a Minecraft survival server, dm me your portfolio if interested (paid)
?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/
Thank you
you must be using paper
its not deprecated for spigot
declaration: package: org.bukkit.event.player, class: AsyncPlayerChatEvent
use the AsyncChatEvent or something on paper
Ohhhh oops. I accidentally set the project as papedr
if you look at their docs rather than spigot's, the deprecation note should probably show the replacement event
My fault - sorry
👍
Kts AsyncChatEvent on paper
well hello there fase
hi ray
e
When I do
for (Player player : Bukkit.getServer().getOnlinePlayers()) {}
for raytraces, it doesn't seem to work for all players, am I doing something wrong?
that returns all online players
I know but then why doesn't it apply to all players when I use the for loop to create a raytrace for all players
it sure does
like, based on that code alone all i can say is "you're doing something wrong"
it's like asking "i have this but nothing prints System.out.println("foobar")"
nvm i figured things out
Is there a packet to control when a decorated pot is shaken? I looked at https://minecraft.wiki/w/Java_Edition_protocol/Packets, I didn't see anything though
it uses the block event packet
Is that possible with the API?
doesn't look like there is api for it
What's the name of the packet ? Is it called block event?
Trying to Ctrl F for it on the minecraft wiki page I sent
Since you're writing a plugin you're probably more interested in the nms class https://mappings.dev/1.21.8/net/minecraft/network/protocol/game/ClientboundBlockEventPacket.html
version: 1.21.8, hash: 9194eaabf7
Thx, I'm not super knowledgeable on packets, this is a kind of packet you send to the player, right ?
Clientbound packets are bound/sent to the client, yes
https://minecraft.wiki/w/Java_Edition_protocol/Packets#Block_Action here's the wiki link if you want it
How do I send titles? I found a Player#showTitle() method but it wants a title object and some weird stuff
I'm using this code and getting this error
player.showTitle(title(mm("<dark_red>+1 Fracture"), mm("Last Rune: " + lastRune.getOrDefault(uuid, "")), 0, 40, 0));
you are running paper so you want to head over there for support
sorta, was just old paper server version
does CraftItemEvent also run when a crafter crafts an item?
I think it might, but easy enough to check
There is however https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/CrafterCraftEvent.html
declaration: package: org.bukkit.event.block, class: CrafterCraftEvent
I want a generalized event handler
but thanks much
also is there a way to make an itemstack non stackable
without NMS
(im aware of nbt data but not sure if I can directly change it without NMS)
you can just change the item's max stack size
either that or add some random pdc so that it doesn't stack with anything
I this is is prolly the best method since I have a pdc for my item which stores when it was made because its a temp item
we don't have nbt data anymore
?
items are no longer nbt data in memory
except i suppose for the CUSTOM property/component
looking around is one way, moving around is another. like if you press f5 and walk around without moving your head you will still see your body rotating. a weird quirk about the (nms) LivingEntity yBodyRot property though is that it only updates based on eye direction, but not movement. so looking around will update it, but when you move around it will not match the direction returned
the mechanics behind seem to be simple enough to just replicate though so ill do that
Im not able to move my screen with this packet
declaration: package: com.github.retrooper.packetevents.wrapper.play.server, class: WrapperPlayServerPlayerPositionAndLook
(It happens when im pointing a block for some reason)
what values are you using for it
PacketEvents.getAPI().getPlayerManager().sendPacket({_player}, new WrapperPlayServerPlayerPositionAndLook(0, 0, 0, {_yaw2}, {_pitch2}, 63, 0, false))
Deprecated.
The mask no longer fits in a byte since 1.21.2
try with a set of RelativeFlag's
the magic byte bitmask 63 you're passing is no longer the intended way of specifying the relative flags
ok so
use setRelative
Hiya, I'm trying to make a ban command in my plugin and I'm not exactly sure how I can kick them if they are online since it's targeting an offlineplayer. Any help?
String reason = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
if (playertoBan != null) {
BanList banList = Bukkit.getBanList(BanList.Type.NAME);
banList.addBan(playertoBan.getName(), banLayout.replace("%reason%", reason).replace("%staff%", commandSender.getName()),
(Date) null,
commandSender.getName());
playertoBan.kickPlayer(banLayout.replace("%reason%", reason).replace("%staff%", commandSender.getName()));```
rip playertoBan.getPlayer().kickPlayer
ah okay
maybe some other funky packet is interfering if it works on air but not on block
Hey chat, unrelated to spigot but nobody sent anything here in the past hour so:
I'm creating my own particle system and I am loosely following Minecraft Bedrocks particle specification
What are our thoughts on Molang in json ?
I find it a bit yucky, but my only other idea is something like "density functions" in minecraft worldgen
Which is... not the best.. :D
yeah I couldn't bother to maintain it for now, maybe it'll come back someday, idk
Who wants to move ?nms to spigot wiki for me :p
I see, it was really useful
Does anyone know if theres a good resource efficient way to send a like action bar to the player constantly if say they're in vanish or have god mode enabled?
?scheduling
So just a runnable that loops all players or am i missunderstanding?
loop the players that are in vanish or in god mode
Alright, thanks
im surprised that you still dont give up on this problem
i've seen you trying to solve this like a month ago already iirc
i envy your commitment
this inspired me to attempt do one thing
file based brigadier command handling
you declare commands inside datapacks but you register actions in specific namespaced registry
7-6 months* actually