#help-archived
1 messages · Page 151 of 1
ya
What event is it you’re having issues with?
EntityDismountEvent is apparently not cancelling correctly.
According to the other Gizmo, it works in 1.15 but not 1.16.
I think Mojang made changes to dismount mechanics so that’s possible
choco so if I use this: (java -jar BuildTools.jar --rev 1.16.1) it's supposed to give me a spigot server right?
If you can provide a test plugin with a bug report and reproduction steps, would be super helpful
Yes
And check the BuildTools.log to see if it was successful
It will add it to your repository and give you a copy of the jar for your own use. I'm ashamed to say that I've been downloading spigot from illegal sources until yesterday because I was too inpatient to figure out the simple process for using buildtools.
It really isn’t super complicated especially after the first run
Back when I had tried it originally, it was like Mandarin Chinese lol. It sounded so complicated but it was just incredibly simple
I'm rather disappointed in myself lol
Will probably be making a video on how to use BuildTools to its fullest potential
Isn't uh
Yes
a restart seems to have fixed my water issue
Whup, sorry.
@harsh anvilokay, you are right, it uses heightmap in 1.14.4 for example, but not in 1.8.8 which I am using mostly
And I thought the bot would have auto deleted that lol
Maybe I forgot that in the list
yeah sorry i dont work on 5 year old versions 😉
@subtle blade the event issue?
No no the website
Sure.
@subtle blade i have a test plugin, im just running buildtools to make sure it's still broke then ill submit a ticket
I used to be the only one
Panicking
im the third one, 2nd is mia

There can only be one
np, thankyou
Yes that’s fine. All builds are “snapshot”
Build is outdated
use buildtools and git hub
i download the new version
the server works
i start today and it says build outdated again
;p
Unrelated but I have to ask Choco, is that handsome fella in your profile picture a husky?
Yes 🙂 We have a 1 day timeout while we’re still in active development
Give BT another run
I don't know what would be causing the issue I linked above, it's respecting level-type at least, https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/browse/src/main/java/org/bukkit/craftbukkit/CraftServer.java#996
That is one of three, gizmo!
Precious.
nice
@lapis plinth I just woke up, show me the code you're using atm
@opal bay managed to fix it, i fucked up a dependency in plugin.yml
bt means BuildTools
Just remember that 1.16.1 is receiving updates all the time for bug fixes, it's new so there are lots of changes being made.
No you’re fine to update without any concern to your world
Just don't downgrade
Okay.
We’re pretty adamant on testing stability before making changes
it still keeps the invalid version :)

I have no clue either
hey choco whenever I change my api version to 1.16 it says its not supported on my 1.16 server 🤔
Wish I could help a bit better but I’m at work about to finish up my lunch break. It’s possible md forgot to add in that flag
Or maybe to include 1.16.1
If you’re certain it won’t load and tells you you’re on an invalid version, JIRA is a good place to go 🙂
Remember it’s api-version: 1.16, not 1.16.1
Heh, imgur then please 😅 verified feature
I won’t be able to help, break is ending. Maybe someone else can pick it up
ty to everyone for the help, everything is up and running. But i do have 1 last question. Does anyone know how to change the ip to a domain or subdomain for free? i really dont want other people to join via my own ip.
@raw vale well, you'd need a domain. You can get free ones from places like freenom, but I don't recommend.
Then remember this, that doesn't protect your IP.
@raw vale you could use something like no-ip
hm? no-ip?
If i have a java server, do i just have to open server.properties and paste the domain i make now into the "server-ip: "
no, you can leave that how it is
and people can just join via the domain i make anyways?
yup, it will point to your ip
so as long as you've got port forwarding set up correctly, they'll be able to connect
Aight.
PS, that won't actually protect your IP, just mean they enter a domain instead of your IP.
Protecting your IP isn't easy or (that) cheap.
yeah, thats fine. as long as i dont have to give them my own ip to connect
Ok, just coz it sounded like you wanted to keep them from getting ur IP in the start 😆.
i meant it in a way that i dont have to give my ip to new players i dont know : )
@subtle blade https://hub.spigotmc.org/jira/browse/SPIGOT-5894
Keep in mind, it's fairly easy to retrieve the actual IP of a server if you're hosting from home.
Regardless of whether you have a domain or not.
Yh, they can get ur IP anyway Boris.
So if that's what you're trying to stop, that's not gonna stop it.
@raw vale
?
@raw vale you can ping urls to retrieve ip addresses easily
Using a domain doesn't necessarily mean your IP is hidden.
Use a VPN or if you've got the bingo banks you could use cloudflares spectrum, but it is very expensive.
Yeah, i get that. But isnt it better for me to use a domain instead? the bois im gonna invite are friends, and i know fairly all of them.
so isnt it better for me to get a domain just because?
ya, cuz it's easier for people to remember
I mean I guess from a security standpoint
and if your ip changes you can update the domain
but if someone knows what they're doing, they're gonna get your IP address.
hmph.
🤔 ok then
java doesnt like me evaluating lambda expressions in the Watcher apparently
looking at that generate-structures bug, I'm gonna have to say it's a Minecraft bug. I can't find anything wrong with Spigot
What are the paths of the directories for patches that BuildTools uses?
And also, would someone please guide me through these instructions:
Run build tools, get the source. remove the patches you don't want, rebuild the patches, build spigot and it should build without the patches you removed
im having a real hard time trying to find out why attributes don't work on my version of spigot... I downloaded the most recent version of BuildTools and ran the java..... --rev 1.16.1 code through git and my server is still nulling attributes...
How can i avoid a NPE? here ```java
for (String arenaname : ArenaManager.getArenas().getConfigurationSection("arenas").getKeys(false)) {
new Game(arenaname);
}
I have no idea how i can check if my ConfigurationSection has no keys.
hm maybe i can do a try/catch
🥳
It works
Hey, sorry if this is a stupid question, but i have a config file, and im creating this map as you can see below, and each value of the map is a config section... The first part works fine, but when i add the second part and reload spigot deletes it.... Anyone know why?
game-NPCs:
BedWars:
npc-skin: Roblocow6
npc-name: BedWars
game-id: 3
selector-mat: RED_BED
npc-location:
- 10.5
- 167
- 35.5
- 180
- -20
game-menu:
RED_BED:
- RED_BED
- Please go to www.example.com for more info
BLUE_BED:
- BLUE_BED
- Please go to www.example.com for more info
YELLOW_BED:
- YELLOW_BED
- Please go to www.example.com for more info
GREEN_BED:
- GREEN_BED
- Please go to www.example.com for more info
Survival:
npc-skin: Chestly
npc-name: Survival
game-id: 2
selector-mat: GRASS_BLOCK
npc-location:
- 20.5
- 167
- 35.5
- 180
- -20
game-menu:
RED_BED:
- RED_BED
- Please go to www.example.com for more info
@hot scroll is this your plugin. if not what plugin is it
yup it is
Not likely to fix anything, but try deleting that space before Survival.
Alright, ill try that
I typically use JSON for most things so I'm probably not the best person here to help lol
ya, lol i use JSON for world data for specific worlds, but rn spigot is easier to use!
yeah it is pretty nice lol
but for something that loads on say, a player join event, json is definitely a better option
in my experience yaml is very picky about strings and escaping, sometimes my motd yml breaks when a mod tries to add an motd that has grammar symbols.
Yep.
Try a YAML parser
Test.
lol
anyone knows a good trails plugin working in 1.16.1?
for(uwu) {
//code
}
``` is more readable change my mind
well, i like to keep it simple
i prefer c++ style braces actually
for(uwu)
{
//code
}
cuz it makes scopes easier to see imo
You know I used to do that, but then I somehow got into the habit of putting the bracket at the end
I can't not do that anymore lol
ya, it's fine either way, it's just how it was in c++ where i started coding so i got used to the convention
Define fully
cuz when I do --rev latest it gives me 1.15.2
and when I do 1.16.1 it give me snapshot
Because it’s still marked as unstable
I've had almost no problems with it but there are certainly some issues.
maybe its my buildtools? but I got it today from the spigotmc website
do --rev 1.16 I think
java -jar buildtools.jar --rev 1.16.1
ye thats what I put and attributes are still nulled
but im confused since people say on forums and here that it'S fixed
which attributes? i can see if attributes are working in my plugin
Weren't attribute mappings changed
I have custom items
I thought I heard about that in Mojang patchnotes
and even without custom items
I don't know about the actual mappings but the names of them were definitely modified.
Are you using a particular plugin to handle your custom items?
instead of generic.attack speed or something
attack_speed I believe it is now
hm
Yep ^
Imma try it out gimme a sec
how did you do it?
1 min, ill open up the project
p.getAttribute(attribute).setBaseValue(value);
for attributes and ill check modifiers if you need it
all good thanks for your help :D
np
no i don't, yaml and i don't get along very well, good luck though, i feel your pain
Hello, I'm sorry if I'm interrupting, but on our server we seem to have a problem regarding mob spawning in nether. It seems like it very rarely spawns anything there at all and I wonder if this is something that's known and easy to fix?
Did you try a yml parser
Hello, do any of you know of a plugin that supports 1.16.1?
Are there any other plugins like Sky Mines X (preferabbly for Prisons)? Pls @ me
Most plugins should support 1.16.1,unless specifically using NMS
Skins plugin
atm nope
The simpletpa plugin are supported in the last version ?
i think even essentials have a dev build for 1.16
If I were to make a website which shows a map of a minecraft world, which looks equivalent to the maps in minecraft, how would I extract the colors at each coordinate?
map each block to a colour?
is there a simple way to go about this or do I need to find the top most block of that coordinate and then map the color to that block
Hey, sorry if this is a stupid question, but i have a config file, and im creating this map as you can see below, and each value of the map is a config section... The first part works fine, but when i add the second part and reload spigot deletes it.... Anyone know why?
game-NPCs:
BedWars:
npc-skin: Roblocow6
npc-name: BedWars
game-id: 3
selector-mat: RED_BED
npc-location:
- 10.5
- 167
- 35.5
- 180
- -20
game-menu:
RED_BED:
- RED_BED
- Please go to www.example.com for more info
BLUE_BED:
- BLUE_BED
- Please go to www.example.com for more info
YELLOW_BED:
- YELLOW_BED
- Please go to www.example.com for more info
GREEN_BED:
- GREEN_BED
- Please go to www.example.com for more info
Survival:
npc-skin: Chestly
npc-name: Survival
game-id: 2
selector-mat: GRASS_BLOCK
npc-location:
- 20.5
- 167
- 35.5
- 180
- -20
game-menu:
RED_BED:
- RED_BED
- Please go to www.example.com for more info
it's probably in the data directory of the world
but the issue with extracting the maps from that is no one map can show the entire world, I want like a website showing all the explored areas of the overworld...
https://discordapp.com/channels/690411863766466590/690470011382267904/727225904518004878 doing this also sounds extremely inefficient
Dynamap?
oh that plugin seems to be exactly what I wanted, lemme dig the sourcecode and see how they are extracting the colors 😄
oh god, the codebase is so gigantic
anyone know why "Æ" is now "_____" in minecraft?
idk if its a client or server thing
what
@graceful silo got any plugins that mess with chat?
Perhaps thwart unicode characters?
Does it let you put AE in other text sources, like on item names?
I have a config file, and im creating this map as you can see below, and each value of the map is a config section... The first part works fine, but when i add the second part and reload spigot deletes it.... Anyone know why?
BedWars:
npc-skin: Roblocow6
npc-name: BedWars
game-id: 3
selector-mat: RED_BED
npc-location:
- 10.5
- 167
- 35.5
- 180
- -20
game-menu:
RED_BED:
- RED_BED
- Please go to www.example.com for more info
BLUE_BED:
- BLUE_BED
- Please go to www.example.com for more info
YELLOW_BED:
- YELLOW_BED
- Please go to www.example.com for more info
GREEN_BED:
- GREEN_BED
- Please go to www.example.com for more info
Survival:
npc-skin: Chestly
npc-name: Survival
game-id: 2
selector-mat: GRASS_BLOCK
npc-location:
- 20.5
- 167
- 35.5
- 180
- -20
game-menu:
RED_BED:
- RED_BED
- Please go to www.example.com for more info
Quick question, if I want the server to be updated to version 1.16 doing so removes every map that I had saved for instance, the spawn map. Is there anyway I can update the server and all the changes stay the same?
Is ChatBaseComponent the nms equivilant of TextComponent?
Perhaps thwart unicode characters?
@winged sparrow idk man everything worked fine pre-1.16 and its not the chat plugin because its the same way on signs ;-;
Is ChatBaseComponent the nms equivilant of TextComponent?
Pretty much, yes
It would be the equivalent of a BaseComponent but yeah, same idea
Ah ok.
I'm not a nms master by any means
I just want items generated by my plugin to not be italic (without using the chatcolor api to reset)
that way, if the item rarity changes due to say, enchanting
the name will persist
@hot scroll try this: https://pastebin.com/ejbcvf87
@zealous lynx K thanks! Im trying that now
accidentally pasted --- on line 1 just ignore it and dont paste it
@zealous lynx Just clears the whole file now... i really hate spigot sometimes...
Yeah the chat color thing is a bit annoying
I have to update my datatpacks so the items will stack properly with ones created through the bukkit API
idk, yaml sucks, i usually avoid manually editing them
Probably a simple solution, but I've found it impossible to track this down: Out of the following plugins, which one would you say is stripping periods out of chat links (i.e. https://www.google.com becomes https://www google com with spaces regex-replacing periods): DiscordSRV, Dynmap, EssentialsX, Multiverse, WorldEdit, WorldGuard?
I've tried finding that permission, found it, and yet...
Yeah, no nodes that are jumping out at me as something that would run this conversion from within the LuckPerms editor.
Can I get help my server has very low TPS, Idk why
was just fine the day before
essentials.chat.url is what I found
well what should I do about it
Huh, that worked. Thanks, Coll~
I can’t download the resource pack onto my server
It says it downloads but it doesn’t load
I'm going to try EssentialsX instead of Essentials
figured out my wierd issue with --world-container not working, standard AMP(CubeCoders) control panel settings for java args can't parse things needed after the -jar argument. soo had to use the 'custom' server option (if anyone else has this niche issue)
That and --world-container just doesn't work heh
Unless md patched it back in but last I recall, that broke in 1.16 and md didn't bother fixing it because he figured it was unused
If I want the server to be updated to version 1.16 doing so removes every map that I had saved for instance, the spawn map. Is there anyway I can update the server and all the changes stay the same?
hey
can anyone help me with a plugin?
pls contact me in dm
its not to make a plugin
just fix some errorst the plugin has .(
Is there a way to make it so CraftBukkit/Spigot's built in anticheat which Tps you back when you go at extreme speeds disabled?
Setting the allow-flight property doesn't work
I'm wondering if there's a method to check movements at those speeds and disable it?
@ Quantum, do you have your worlds in a 'worlds' folder? you'll need the --world-container worlds startup arg after the -jar argument
@ Choco, it works, has to be after the -jar though
"[Netty Epoll Server IO #2/INFO]: Your version isn't recognized, switching to fallback solution: "generic_v3", please update!" - does anyone has this with 1.16.1 ? 🙂
update on that issue I was talking about earlier today: it seems the server uses the generate-structures property from the main world, rather each world's own property. https://github.com/Multiverse/Multiverse-Core/issues/2310
you are 59 versions behind, update, it might help out
other than that, looks like ViaVersion is causing it
i update today the spigot with buildtools
or maybe not ViaVersion idk
Does anybody know how to run the /team remove for every single player that has ever joined?
or maybe not ViaVersion idk
@rich olive via version is causing the crash i think too
anyone know of a plugin to make mobs bigger?
Not possible in java edition
oof
Unless you mean mobs that have baby/adult versions or the zombie which has a giant version
But you can’t specifically manipulate model scaling
no I wante to make a big spider ;-;
Or the 3 mobs that actually can be scaled
Ah okay then 4
But yeah big spider not possible
Phantom can as well
Ah ok
oh black haired cock yo ween
Hey can you make it so in a row in an inventory there's the same item on every slot?
Without Setting every single one
Manually
you mean a persistent item?
for loops.
I have a question, what is the performance of a spigot server, no plugins, compared to a vanilla server?
well it modifies many things
I already tried for loops but couldn't figure out how to use them in this case
like ticks per mob spawning, despawn, etc
What have you got so far?
Who do you mean xD
you
the confusion was crazy
I should have used an @ mb
I tried it with the Contents in the inventory and just setting every slot that is air to a specific item but that didn't work
Yep
dev in what
Swift
in plugins
if you want to set a specific row, you could use a for loop, like this:
for int i = minRow; i < maxRow;i++
set Item at slot i to whatever
K thanks x
The problem is that I dont know a lot of plugin developing
a friend did a plugin for 1.15.2, but weirdly it does not work in 1.16
https://pastebin.com/G8F7ghPN Anyone know why it keeps saying this in my console?
And I think mojang didnt changue commands in the versions
So I dont know why it doesnt work
should I send it and you guys give it a look?
hm
or that isn't allowed or something idk
(1) Update your server if you haven't already
(2) If you have any items or entities in your world that made use of these attributes, they should just be one-off messages that will subside over time as they convert to the new format
Is that refering to me?
or to me?
@deep lion you got unknown attr
Beng
what plugin is that
@chilly eagle Is there any error? Explain deeper your problem please
Hmm say I forgot to add an @ SerializableAs() annotation when I first published my plugin months ago and now I want to add one, how would I make it so previous versions would get changed to the new Serialization D:
Says I am one version behind @subtle blade Should I update to the latest?
Oops sorry for the @
https://pastebin.com/avkyKp52
Crashed my server two times
@chilly eagle Is there any error? Explain deeper your problem please
the plugin just doesn't work, when you put custom commands it just sends a message to the chat with the command, when you die (the plugin makes your head in a pillar when you die) it doesn't do anything, no errors I think
I was thinking maybe its because I am not using paper, im using spigot
so I'll try it right now
No that's fine, Beng
So yeah, I'd say it's just vanilla trying to convert over some existing attributes
Lads, wondering which way to go here, working on a arena style gamemode, which involves players being able to fully interact with the world, break blocks, anything. To restore the arena, I could hook a bunch of events and restore blocks based on which blocks have been edited. But that seems like a lot of work, I'd much rather take a snapshot of the chunks the arena consists of and later overwrite that. But I understand that that's an expensive operation, but I suppose I could do only x blocks per tick? Any tips on how to attack this?
Are the chat changes in spigot finalized yet? Or should I wait before updating my datapacks
Dungeon loot :p
@clever bobcat i used the hook approach for my minigame plugin and it works pretty good, and it's fast, but it's def a lot of work
Alright, thanks for your input 🙂 Seems like the event way would be the way to go, even though it's more work
Feels like that'd be the proper way
i recommend doing it in passes, i found it safer because minecraft likes to pop stuff and update redstone and stuff oddly if you do the reversion all in one go
something like: redstone signal emitter blocks -> blocks -> redstone wires and components.
but observer blocks are evil, my code isn't perfect but idk how to tell the server to calm down and not worry
also, you really only need to store the original block state/data, and only for modified blocks, makes it quick to revert
Yeah, wrote a quick test, where I hooked BlockBreakEvent, and just saved state, to later use BlockState#update(force: true)
But then quickly ran into things like sugercane, break the bottom, and the top two blocks don't call BlockBreakEvent
ya, for multiblock things iirc i just crawled them and stored all the blocks of them when they broke, so for beds/double chests, etc.
Aight, thanks for this, I'll keep exploring 🙂
np
does anyone know if i should be worried about nashorn being deprecated in java 11?
one of my plugins uses javascript for scripting and i use nashorn to eval them, am i fine to stick with nashorn if i release my plugin or is everyone using java11 now?
My server is crashing when i go in the outer end (the portal in the end)
Update
on the newest
To manipulate horse speed, jump, health, etc. do we have to invoke nms?
or does the spigot api wrap around that now?
@frigid ember you can use Attributes https://hub.spigotmc.org/javadocs/spigot/index.html?overview-summary.html
No key position_predicate in MapLike[{location_predicate:{predicate_type:"minecraft:block_match",block:"minecraft:water"},output_state:{Properties:{level:"0"},Name:"minecraft:water"},input_predicate:{predicate_type:"minecraft:block_match",block:"minecraft:dirt"}}]; No key position_predicate in MapLike[{location_predicate:{predicate_type:"minecraft:block_match",block:"minecraft:water"},output_state:{Properties:{level:"0"},Name:"minecraft:water"},input_predicate:{predicate_type:"minecraft:block_match",block:"minecraft:grass_block"}}]; No key position_predicate in MapLike[{location_predicate:{predicate_type:"minecraft:always_true"},output_state:{Properties:{snowy:"false"},Name:"minecraft:grass_block"},input_predicate:{predicate_type:"minecraft:random_block_match",probability:0.1f,block:"minecraft:grass_path"}}]; No key position_predicate in MapLike[{location_predicate:{predicate_type:"minecraft:block_match",block:"minecraft:water"},output_state:{Name:"minecraft:oak_planks"},input_predicate:{predicate_type:"minecraft:block_match",block:"minecraft:grass_path"}}]
anyone uh
know why that happens
idk, i got those messages when testing stuff too, they didn't seem to break anything
good to know its not my issue lol
yea
they dont break anything
but there sure is a lot of them
def, massive wall, i thought i killed my test server
is stored broken and placed blocks and then reverting the changes the most efficient way for restoring like skywars maps?
idk but that's how i did it, if you scroll up a bit there is a convo about that exact thing
i was referring to that, i’ve seen servers revert to a base world file
That's probably a more elegant and secure solution
what? reverting to a world file?
I’d say the best way is to re-import a fresh world
help me pls staff?
You could look at how CoreProtect does reverts
my server barely has a plugin and even the map I explored is not in a small region how do I solve this?
1.16.1 is not stable
or is it more dependant in the changes to the world which would have been made? e.g a small arena where people have only built a bit, used a flint and steel once or twice in comparison to a whole map with people bridging etc.
my case was a small area, maybe 30 chunks max
if it's a whole world might as well re-import
i assume with storing block changes you could do a bunch of checks like if sugarcane is broken, while there’s sugarcane above, store it to the variable
lol we talked about that up above
1.16.1 is not stable
Is there a way to delete a key: value in YamlConfig?
set it to null
Oki ty
Could some give me an example of how to use spawnFallingBlock in the latest spigot API?
MaterialData is deprecated
And blockdata doesn't have a constructor
And I'm not aware of sub-classes
Material.WHATEEVR.getBlockData iirc
Ah great
Thanks
Do you mean .createBlockData?
getBlockData doesn't exist @lone fog
Also, how does the block data stuff actually work?
Having an issue with Shulker Boxes that were in any inventory [players/chests] in 1.15.2
Server switched to 1.16.1 and now when the chests are accessed the player instantly crashes out of the server.
If it's in the players inventory they simply can't join without instantly disconnecting.
hi
i'm 30 minutes trying to download spigot 1.16.1 and i'm not finding it on the site please help me, i'm brazilian and i don't understand any english, i'm using google translator
@pulsar osprey you need buildtools download, run to download
@pulsar osprey https://www.spigotmc.org/wiki/buildtools/
so for spigot it’s" buildtools"?
follow guide
Yeah it’s createBlockData
friend i'm very confused, i just wanted to start the server with 2 plugins but i don't understand anything anymore, i will use slimefun, i thought spigot was like bukkit
It is
?bt
The home of Spigot a high performance, no lag customized CraftBukkit Minecraft server API, and BungeeCord, the cloud server proxy.
it is like bukkit but you need to build it yourself
You can’t legally download craftbukkit anywhere either
You have to build it yourself
is that the plugin I want to use hasn't come out for bukkit yet (because of version 1.16)
Are you on 1.16 and the plugin isn’t?
I do not know how to explain
Hey, is there a known issue with the Structure generating in 1.16.1?
The new structures in the Nether are Not generating in spigot
Did you import an old nether or is it a newly created world
/locate
Lol
I took the same seed in SP and checked the coords where structures spawned
I explored about 3000x3000
What happens if you run /locate
like, the slimefun plugin can only be used with spigot in version 1.16.1,
And what version is your server @pulsar osprey
I'm using google translator
may have misspellings
And what version is your server @pulsar osprey
@nimble stump 1.16.1 vannila
vanilla*
Yeah you need spigot to run plugins
then I wanted to add this plugin (slimefun) but the one for version 1.16 only came out for spigot and I have no idea how to download
You can’t run plugin with vanilla
@nimble stump yes I know, that's why I'm trying to install spigot
The home of Spigot a high performance, no lag customized CraftBukkit Minecraft server API, and BungeeCord, the cloud server proxy.
@pulsar osprey
NMS guys, is therre any equivalent function to this.setSize(double, double) in 1.16?
@pulsar osprey https://translate.google.com/translate?hl=en&sl=en&tl=pt&u=https%3A%2F%2Fwww.spigotmc.org%2Fwiki%2Fbuildtools%2F
idk if this helps
last version I was devving for was 1.14
thanks people
@wheat mirage what is "this"
@zealous lynx I think a general entity, though could be any class derivative of that
I was using a Falling Block entity for this previously but many classes seemed to have it
Size of what though? Bounding box?
If so, it wouldn't affect much because the client has a hard-coded BB too
SetSize doesn’t necessarily do what you want it to do
Yeah
Plus the bounding box has no impact on the actual rendered model
Size of the server side collision
Can change the size of the server calculated collisions
Which is what I was using it for
Then yeah it’s just a matter of getting the bounding box and increasing it
Sounds glitchy lol
Yeah thanks Choco big help as usual
Lol
Ask stupid questions, get stupid answers. 
You musn't see me around much then
xD
.
Entity has an AxisAlignedBB called boundingBox
@zealous lynx Doesn't seem modifiable very easily
Is there a way to render a shulker box as opened without packets?
But there's definitely no API way to do so
just make the field accessible and adjust it
You have to use reflection yeah
Yeah, minecraft has a very weird function for accepting new bounding boxes
double minX = axisalignedbb.minX;
double minY = axisalignedbb.minY;
double minZ = axisalignedbb.minZ;
double maxX = axisalignedbb.maxX;
double maxY = axisalignedbb.maxY;
double maxZ = axisalignedbb.maxZ;
double len = axisalignedbb.maxX - axisalignedbb.minX;
if (len < 0.0D) {
maxX = minX;
}
if (len > 64.0D) {
maxX = minX + 64.0D;
}
len = axisalignedbb.maxY - axisalignedbb.minY;
if (len < 0.0D) {
maxY = minY;
}
if (len > 64.0D) {
maxY = minY + 64.0D;
}
len = axisalignedbb.maxZ - axisalignedbb.minZ;
if (len < 0.0D) {
maxZ = minZ;
}
if (len > 64.0D) {
maxZ = minZ + 64.0D;
}
this.boundingBox = new AxisAlignedBB(minX, minY, minZ, maxX, maxY, maxZ);
}```
@neon matrix there’s not gonna be
Well, we do have a PR to change the open state of a chest
Though that obviously doesn't affect shulker boxes
Could probably request that it be extended to do so
@subtle blade shouldnt this be a part of Container?
@wheat mirage why would you need to call a?
@zealous lynx I assume if there's code to accept a new bounding box, it should be used.
Or how about a new interface extending Container?
Not all containers have openable states like that afaik
Brewing stands for instance
interface StatefulContainer : Container {
var opened: Boolean
}
afaik only chests and shulker boxes do
@zealous lynx I think whoever wrote that probably understands more of the bounding box stuff than I do
Barrels
Though it would be abstracted away with an interface if that were the case
Yes, barrels too. Though that's just a texture change
idk everything looks like just checks, and the only important bit is:
this.boundingBox = new AxisAlignedBB(minX, minY, minZ, maxX, maxY, maxZ);
so just make sure you don't violate the checks and you should be golden
Will leave a comment on that PR and hopefully get it updated
Worse comes to worse, I'll hi-jack that PR and get it in
Definitely stuff it into a separate interface
Choco has connections
Seems interesting. As far as bounding box constructor if I want the bounding box centred just have each min and max be +/-size / 2?
@zealous lynx
ya
Alright, thanks!
and make sure the bounding box is between 0 and 64 length between adjacent corners if you want to do what a() is doing
(and make sure min is smaller than max)
Maybe I should use protocol lib to cancel the shulker close packet rather than resend an open packet
This should stop the sound from happening too right?
OpenableContainer?
All containers are by nature openable
They just dont have visible state
Thats why I had proposed a generic StatefulContainer
AnimatedContainer perhaps
But this could get confused with the animation present on furnaces and such
Yeah, "animation" should be left out of it
Just name the interface ThisThingHasALid
Ajarable lol
@zealous lynx Any idea why a() shrinks bounding boxes larger than 64 units on any axis by 64 units?
Just Lidded would probably work fine
Seems like a very weird bit of functionality
no clue
Fair enough haha, the mysteries of mojang
What packet is sent to close a shulker box?
you could try to put a bigger aabb in and see what happens
I could, but I don't care enough to test it 😛
lol
Time is tight anyway
What does a() map to
block action afaik. Take a look at World#playBlockAction()
Block Action
(nms.World)
You're not going to prevent the packet
hey Choco you didn't forget about my ticket right? just curious, it's one of the last things i need and then all my plugins are updated
I will prevent the closing animation
But you have a method in nms.World at least
I will use ProtocolLib to listen for the packet outgoing
Yours was entity dismounting, yeah Gizmo?
yep
Do anyone know how to start a scoreboard class ? Like just to start for the first time
Im new btw
:(
Bukkit.getScoreboard() I think
Will take a look now. I fixed up the other bug that someone reported to me...
Villagers & composters
interesting
Gonna write a test plugin to confirm. 1 sec
Okay I've just confirmed it.
Any Head or Shulker Box [and I'm assuming items with similar NBT] in an inventory prior to upgrading from 1.15 to 1.16, will now instantly crash a player when loaded after the 1.16 upgrade.
Is this known?
@zealous lynx
What entity were you trying to dismount? Mine works okay
OH no no, it was that you couldn't cancel it, right?
wat
oh yeah that's definitely bugged lol
Wiki.vg marks BlockAction as a clientbound packet but it appears that ProtocolLib has it as a serverbound packet
I can't even get back on the horse after it's cancelled
Oh wait I am on the horse
I relogged and I'm back on it
Hasn't that always been a known quirk of this event?
hey Choco, I don't mean to bug you, but did you see the issue I was talking about earlier?
Oh protocollib is just backwards I see
armor stands and minecarts
Uh don't think so, gamer
Wanna link me real fast? A buddy invited me to play Apex so I'm on that here in a sec, but I'll look at the issue first
ya i would cancel but the client got confused
Yeah I think that's just been a known quirk
Client and server disagree on that
details near the bottom
lol srry
Do you have a JIRA ticket for that nicegamer? I think that's definitely a bug
I haven't made one
Please? 🥺
ily ❤️
md will probably address it
I want to leave most world-related things to him because he updated it all, I have the damnest of clue what all is changed or where to even start lol
Does anyone know how protocollib encodes a 'Block ID' (VarInt in the protocol)
And what a Block ID can be read as?
Is this a Material ?
I tried looking into it but everything looked fine to me, so I wanting him to do it
for which packet @neon matrix
Block Action
Look at how nms.World.playBlockAction() does it
I know how the protocol is
I am asking what that varint refers to
Is it a Material?
It's going to want an internal block id. the block data
^
Can get it from one of the registries. Again, look at world.playBlockAction()
NMS does not use protocol lib
I understand that...
protocol lib has to encode it in the same way NMS does
Perhaps this is a question better suited for protocol lib folks
Because all I am asking is how to read that varint into a usable type
im trying to add a new crafting recipe but the recipe isnt showing up in game can anyone help
ItemStack fleshblock = new ItemStack(Material.NETHERRACK);
ItemMeta fleshblockmeta = fleshblock.getItemMeta();
fleshblockmeta.setDisplayName("Block of Rotten Flesh");
fleshblock.setItemMeta(fleshblockmeta);
NamespacedKey fleshblockkey = new NamespacedKey(this, "rotten_flesh_block");
ShapedRecipe fleshblockrecipe = new ShapedRecipe(fleshblockkey, fleshblock);
fleshblockrecipe.shape("***", "***", "***");
fleshblockrecipe.setIngredient('*', Material.ROTTEN_FLESH);
Bukkit.addRecipe(fleshblockrecipe);```
guys so what exactly changed with mc text...? all my non-english text is borked
@frosty cave that should work, is your plugin set to load: startup? if it is you need to wait until everything is ready
russian is borked, greek is borked... chinese characters still display somehow
im not sure what that is @zealous lynx
in your plugin.yml, do you have a line that says "load: startup"?
nope
uh oh, let me check my plugin again
russian is borked, greek is borked... chinese characters still display somehow
it's the resource pack
also idk why but this appears in console when the plugin is loaded
[WARNING] Legacy plugin GangSquadPlugin v1.1.01 does not specify an api-version.
That appears when there is no api-version in your plugin.yml
ah
it's the resource pack
@frigid ember i dont think any plugins use a res pack tho... i had bloodmoon that did but not anymore
@frosty cave in the plugin.yml you need to specify now (since 1.13)
i havent made a plugin since 1.12 so im not sure
api-version: 1.16
ah okay
It was added in 1.13 😄
lmao that explains it
Disable the resource pack and the letters will show fine, happens to me too with some smooth font packs
@subtle blade @nimble stump
I did not need to do anything else except container.getBlocks().read(0)
ya recipes work for me, maybe not having the api version was making your plugin only allowed to use the legacy enums
Are you trying to craft it or checking the recipe book
trying to craft it
NamespacedKey Gizmo_Elytra = new NamespacedKey(ME,"Elytra");
recip = new ShapedRecipe(Gizmo_Elytra, new ItemStack(Material.ELYTRA));
recip.shape("msm","m_m","m_m");
recip.setIngredient('m', Material.PHANTOM_MEMBRANE);
recip.setIngredient('s', Material.SHULKER_SHELL);
recip.setIngredient('_', Material.AIR);
Bukkit.addRecipe(recip);
idk what im doing that you aren't, "ME" is just my Plugin
[ERROR] Error occurred while enabling GangSquadPlugin v1.1.02 (Is it up to date?)
huh
What does it say after that
[ERROR] Error occurred while enabling GangSquadPlugin v1.1.02 (Is it up to date?)
java.lang.IllegalArgumentException: The embedded resource 'config.yml' cannot be found in plugins/GangSquadPlugin.jar
at org.bukkit.plugin.java.JavaPlugin.saveResource(JavaPlugin.java:192) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at org.bukkit.plugin.java.JavaPlugin.saveDefaultConfig(JavaPlugin.java:179) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at com.foxcqrn.gangsquad.GangSquadPlugin.onEnable(GangSquadPlugin.java:37) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugin(CraftServer.java:489) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at org.bukkit.craftbukkit.v1_16_R1.CraftServer.enablePlugins(CraftServer.java:403) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at org.bukkit.craftbukkit.v1_16_R1.CraftServer.reload(CraftServer.java:858) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at org.bukkit.Bukkit.reload(Bukkit.java:620) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at org.bukkit.craftbukkit.v1_16_R1.CraftServer.dispatchCommand(CraftServer.java:748) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
at net.minecraft.server.v1_16_R1.PlayerConnection.handleCommand(PlayerConnection.java:1702) ~[spigot-1.16.1.jar:git-Spigot-758abbe-3f0c333]
oh
oops
lol
i was messing around with configs but didnt fully delete it
@lone fog do all ingredients default to air if the char isn't specified?
ayy it worked
nice
Pretty sure they do
huh, good to know, ill try it some time
ty for the help
np
okay 1 more question
how do i have a recipe give you more than 1 item when you craft it
i.e rotten flesh block gives you 9 rotten flesh back
a stack with more than 1 amount or 2 different materials?
With the vanilla system, you can't. Though you can listen to PrepareItemCraftEvent
more than 1 amount
The result is changeable by setting the result item. (event.getInventory().setResult())
(there's a getter as well, obviously)
Is there a solution for this :)?
so i cant have it just give you 9 rotten flesh in the recipe?
if you just want to turn netherrack into 9 rotten flesh do new ItemStack(Material.ROTTEN_FLESH, 9)
I think you gotta talk to geyser about that one
Makes sens 😓 thanks
Oh you just want to change the amount
yeah sorry lol
Yeah that can just be passed through the item 😛
nbt ingredients when? :P
most of my plugins so far have been just chat based
RecipeChoice.ExactChoice
Only for shaped recipes but it works. We still have to get it to work for shapeless ones
I should try and tackle that one day
Isn't it still marked as deprecated
Just as a draft for that very reason
that sounds awesome
also how do i get the recipes to show in the recipe book? is that possible?
So it's safe to assume it will stay?
Yep! player.discoverRecipe(NamespacedKey)
ah
The key being whatever it is you passed for your recipe
You can also make a datapack to give it an unlock
ooh sh
so uh is there a way to only craft the block if the name is block of rotten flesh lol
Also yes that API is there to stay, Col
cuz i dont want people making flesh out of just netherrack
ya
Yes. That can be done with ExactChoice
is there something i can read about that
Yay no more checking for NBT myself :p
Basically instead of setIngredient() and passing an ItemStack, pass a new ExactChoice
(was going to say the dumb workaround with prepare craft, but it isn't needed anymore)
does it include persistent data on the itemstack?
exactchoice is depricated?
Like said above, it's a draft API
o
It will be un-deprecated when finished
epic
Does anyone know why when I update sign text (through the api), the text only changes for the player that interacted with the sign?
I logged on a second alt to look at it, and the sign had the same dark text, but the account that interacted with the sign could see the changes no problem.
Any idea?
You can ignore that deprecation for now, fox, yeah.
interacting player will have updated the block state for the sign
Not to mention it's Player#sendSignChange()
It will only change for the player on which you're calling the method
event.getBlock().getState().update(true);
@Override
public void onSignChange(SignChangeEvent event) {
event.getBlock().getState().update(true);
}
That what I want?
How are you modifying the state of the sign initially @frigid ember
I'm not sure what you mean
basically, I just want a player to come up, right click the sign (to buy their house), and I want the coloration & wording of the sign to change after that happens.
To demonstrate that the house has been bought.
For everyone, correct?
In which case you want to modify the sign state, not use sendSignChange(). That's a per-player sign change
I have a config.yml file, and contents in the file are being changed after reloading even though im not changing them in my plugin... Anyone know why this is happening?
Changed how
hello i need help and my host dont know what it is ? so i got this thing spamming my console since i upgraded to 1.16.1 anyone know what it is : [00:31:46] [Netty Epoll Server IO #3/INFO]: Your version isn't recognized, switching to fallback solution: "generic_v3", please update!
@nimble stump For example i have a list and the contents of it are being reverted back to 0
so [0, 0, 0, 0, 0]
@subtle blade That is correct, I want to update it for everyone
Sounds like whatever you put in there is invalid @hot scroll
Yeah so update the Sign BlockState instead
event.getBlock().getState().update(true);
isnt that what this does?
or are you talking about something else
No no, get the state, assign it to a variable
Cast it as a Sign (assuming it actually is a sign)
@nimble stump Firstly just to clarify, this is my plugin, secondly here is the config: https://pastebin.com/1VU5AB3m (thats what it changes too) This is what im trying to change it to : https://pastebin.com/jU3HSbcL
BlockState state = block.getState();
if (state instanceof Sign) {
Sign sign = (Sign) state;
sign.setLine(0, "Hello!");
sign.update();
}```
(org.bukkit.block.Sign, not org.bukkit.block.data.type.Sign)
ok so is there any way to only allow an item with a custom name in a shapeless crafting recipe or no
ah
how would i do it manually
PrepareItemCraftEvent
okay
@nimble stump Yup, and im trying to get a giant release out for my server today and this is the last thing holding me up 😦 But if you have any ideas id be happy to try it out
Any errors?
can advancements be turned off in spigot 1.16.1?
How did you do it then
@nimble stump Nope
advancements:
disable-saving: true
disabled:
- '*'
I have one saveConfig() but im pretty sure im not setting it... ill try removing that tho
What config was that in
sry but can anyone help with my question i tried asking my host but they said to contact spigot ?
It should still be there?
Are you on the latest version
couple versions behinds, dont recall seeing anything about advancements
ill update to latest and see whats up
Might be worth replicating it on latest and then filing a bug report
can anyone help me figure out the prepareitemcraft event thing with the custom block crafting recipe
lol
i have no clue what im doing
What part
How do I get the Container of an Inventory?
Inventory.getHolder()
Nice
how do i like
see when the block is in the table and then output the 9 rotten flesh lol
You can get the recipe key and check if it's the one you want
Though getKey() is only present on ShapedRecipe and ShapelessRecipe, so event.getRecipe(), check instanceof and cast accordingly
Not quite sure why it's not part of Recipe. Maybe MerchantRecipes aren't keyed...
@subtle blade he wants to make it so it only works with a named item
yeah
Although I guess that would work
Yeah that's how you'd know how to check for things
If you create the recipe normally and then just cancel it if the item isn’t named
Set the result to null, but yeah
i was thinking doing that yeah
When I used to do it there didn’t need to be an actual recipe to fire the event iirc
It may have changed now though
is there a way to set the result to null when its not the correct name?
I mean yeah
1 sec
Just check the input items and if they aren’t good then set the result to null
okay
lol
It still plays the god damn sound too
These are dynamic recipes
this is hilarious
No, I realize my mistake
hey choco do u have any idea what this error is my host said to ask -- [00:31:46] [Netty Epoll Server IO #3/INFO]: Your version isn't recognized, switching to fallback solution: "generic_v3", please update!
That's client-sided
I also have to time the sound packet with when the damn thing closes right?
Yeah
This game is an ugly bitch
Group[] group = user.getGroups().toArray(new Group[0]);
String suffix;
if (user.hasSuffix()) {
suffix = user.getSuffix();
} else {
suffix = group.length != 0 && group[0].getSuffix() != null ? group[0].getSuffix() : "";
}
return suffix;
}```
How to put user object in that?
Like wtf
It's not possible in event
You mean how do you call that method with a user?
What even is the User method?
At least sending the sound isnt bad
What even is the User method?
@opal bay uperms
What event
I zee
Adding it on scoreboard on join
is there any staff on ?
Surely there’s a method to get a user for a player
@nimble stump i cant even add this code to a event lol
why
It must be after / before it
after/before what
The event
Ahh one letter variables
just an example lol
I developed a plugin using a build of spigot 1.15.2. Instead of using spigot-api as a lib on my project I used the actual server build. I'm working on upgrading to 1.16.1 and am now trying to use the spigot-api lib's. The problem is that some of the classes I was using previously aren't in the api. I'm not sure why or how to work around this. The classes I'm referring to are TileEntityFurnace and CraftInventoryFurnace and they are coming from net.minecraft.server.v1_15_R1. Is there another class i should be using or what is the proper way to access these classes?
Hi I'm switching over from the basic 1.16.1 server to a spigot server and I tried moving the old server world file into the spigot folder and when I joined the spigot server the overworld was fine but the nether and end regenerated, I noticed separate folders for the nether and the end in the main folder, so I was wondering how I can fix this so the nether and end stay untouched? Thanks.
It would be v1_16_R1 now
Spigot should move the worlds automatically
There was a bug with it, but it should be fixed on the latest version?
How do I find the latest version because I got that pop up message when booting up the server
net.minecraft.server.v1_16_R1 is not showing up in my project with spigot-api as a depencency
I need to call the function 😔
of course that didn't work
Ok so I would need the actual spigot lib not just the spigot-api
why
I believe this shoudl work @wintry bison
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.16.1-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>```
UltraPermissions.getAPI().getUsers()
Ok so with that I wouldnt need spigot-api dependency correct?
what about UltraPermissions.getAPI().getUser() @hardy cedar
Chat being ``` RegisteredServiceProvider<Chat> chatProvider = Bukkit.getServer().getServicesManager()
.getRegistration(net.milkbowl.vault.chat.Chat.class);
if (chatProvider != null) {
chat = chatProvider.getProvider();
}```
what about UltraPermissions.getAPI().getUser() @hardy cedar
@nimble stump nope
There is nothing like that
With vault it should also work with any perm plugin
Ok imma test it
they may not all support vault though @lone fog
Uperms does
They should
then yes vault would work
Groupmanager, pex, luckperms all have
but i guarantee you there is a method to get a user from a player
Probably
even if you don't know what it is
Can anyone help me with trouble shooting a custom texture pack through dms or somethign?
i cant find it for you because their API isn't public anywhere
@frigid ember what do you mean
UltraPermissions.getPlayerFromUUID(uuid);
Like I did everything right and my custom texture pack isnt replacing textures
it selects and everything just doesnt actually replace them
so i got this thing spamming my console anyone know what it is : [00:31:46] [Netty Epoll Server IO #3/INFO]: Your version isn't recognized, switching to fallback solution: "generic_v3", please update!----sry for repost but got lost way up there
@nimble stump can i dm my issue?
im not really the person to ask about that, i have no idea @frigid ember
Oh aight npnp
Are you using bungee @cold solstice, and is it updated
we downloaded the latest version so yes but we only see one for 1.16 not 1.16.1
anyone know if citizens is 1.16.1 supported yet? cant seem to find it
Use the dev build @woven field
Chat being ``` RegisteredServiceProvider<Chat> chatProvider = Bukkit.getServer().getServicesManager()
.getRegistration(net.milkbowl.vault.chat.Chat.class);if (chatProvider != null) { chat = chatProvider.getProvider(); }```
@lone fog
where can I find that? on the github?
You'll need to declare chat as a variable obviously
yo
with this new hex-colours
would we be like able to add a small server-logo as a font and place it in our tab list?
Probably
Resource pack
Oh tab list
I was thinking server list
But then what do you do about people who refuse the pack
Kick them :p
Think you still need a resource pack
You need to declare chat first
Literally just look at the VaultAPI wiki, pretty sure there’s the code for a class where you can do getPermissions() and then get the player permissions and group prefix etc.
Nah chat.getPlayerSuffix works
Calc camera lmfao
You’re trying to access the “chat” variable before initialising it.
You’re also creating a Chat object within an if statement so you won’t be able to access it from there.
LOL
smh
You may want to learn java before tackling this
^^
You’re creating an object within an if statement. Create the object before the if statement, then initialise it in the if statement.
Also, why’s your IP sub domain www for your server?
can someone help me? details here https://www.spigotmc.org/threads/get-clicked-item.448488/
Also, why’s your IP sub domain www for your server?
@ashen stirrup i have alot .____.
Event.getclickeditem
^^


