#help-development

1 messages ยท Page 607 of 1

eternal night
#

or just git commands

#

sorry, thought you were looking for some automated thing on github

remote swallow
#

i would love if that existed but i wouldnt use it enough to make it

umbral ridge
#

If you press F3 and look at the top left side on 3rd line, there is your server name (eg. "Paper" server), you can modify these with packets? but how?

eternal night
eternal night
#

Yea, I mean that is litearlly open source

#

you can just look at it

umbral ridge
#

his code is a mess

#

I'll try to

thin isle
#

Can someone explain why "owner" is null?

public class CustomPet extends Sheep {
    private final Player owner;

    public CustomPet(Player owner) {
        super(EntityType.SHEEP, ((CraftWorld) Bukkit.getWorld("world")).getHandle());
        this.owner = owner;

        Location spawnLocation = owner.getLocation();
        this.setPos(spawnLocation.getX(), spawnLocation.getY(), spawnLocation.getZ());
    }

    @Override
    protected void registerGoals() {
        System.out.println(owner);
        this.goalSelector.addGoal(1, new TestGoal(this, owner));
    }
}```
terse ore
chrome beacon
thin isle
#

I also output the owner in the constructor and it was not null there

chrome beacon
#

or that super call, calls the register goal

umbral ridge
eternal night
#

I mean

umbral ridge
#

But if I do that, then I'll be stuck at the same version and will have to rebuild the jar each time there is a new major update

eternal night
#

yea

terse ore
#

yeah that's the downside

eternal night
#

this only makes sense if you actively think of maintaining a fork

remote swallow
#

whats the default volume and pitch of a sound being played

eternal night
#

which, easier than you'd think, paper has some pretty great tooling in place for that

silent steeple
thin isle
thin isle
thin isle
#

but i dont know how to fix that

eternal night
#

yea

chrome beacon
#

Not sure if goals are locked in some way

#

but you can try

umbral ridge
#

okok

ember estuary
#

In Java, how can i have a class with a superclass, where a function init of the child class is automatically called after the parent and child constructors are finished?
I do not want to explicitly call it in the child constructor. Instead, the parent should somehow call it, so that whoever writes another child class for my ParentClass doesn't have to remember that he must call that function himself.

In this init function i want to be able to use class variables and variables that were assigned in the child constructor:

public class ChildClass extends ParentClass {
    private byte WHITE = MapPalette.matchColor(255, 255, 255);
    private byte BLACK = MapPalette.matchColor(0, 0, 0);
    BufferedImage defaultButton;

    public ChildClass(Player player, ItemStack map) {
        super(player, map);

        try {
            defaultButton = ImageIO.read(Objects.requireNonNull(this.getClass().getResourceAsStream("/images/DefaultButton.png")));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Override
    protected void init() {
        // I want to be able to use BLACK, WHITE and defaultButton in here. This init function should be called after the constructors are finished. 
    }
}

How can i achieve that?

#

i tried making a setup function that is called before the init function, where you can put the stuff that is now in the constructor. But in Java, these lines in the class head

    private byte WHITE = MapPalette.matchColor(255, 255, 255);
    private byte BLACK = MapPalette.matchColor(0, 0, 0);

will only be called AFTER the parent constructor is finished. So when i call setup() in the parent constructor, that doesnt work.

eternal oxide
#

a parent class can not access fields in a child class unless explicitly passed to the parent

ember estuary
#

The parent doesnt need to access the child fields

thin isle
#

do you know how to clear standard goals

chrome beacon
#

Just leave the register goal method empty

#

So it won't register any goals

thin isle
#

ok

ember estuary
#

Maybe you misunderstood the question?

eternal oxide
#

The parent has no knowledge of your init method as that is only in the child class

ember estuary
#

you see the @Override?

#

the init method is also in the ParentClass

#

its an abstract method

eternal oxide
#

I didn;t

ember estuary
#

xD

#

So, in short: I want to call a function of my child class after the child constructor (and parent constructor) is finished. Without explicitly calling it in the child constructor.

eternal oxide
#

yeah not going to happen

ember estuary
#

Or after the parent constructor is finished. I wouldnt mind not even having a child constructor

eternal oxide
#

if you call it in the parent it will run before your child finishes

ember estuary
#

but that doesnt work either, because this

private byte WHITE = MapPalette.matchColor(255, 255, 255);
private byte BLACK = MapPalette.matchColor(0, 0, 0);

is only called after parent finished

eternal oxide
#

if you don;t want to call it in yoru child it will never be called

thin isle
# chrome beacon Just leave the register goal method empty

When I just leave the method empty, I get an error:

net.minecraft.ReportedException: Ticking entity
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1317) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3763-Spigot-7d7b241-5a5e43e]
        at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:388) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3763-Spigot-7d7b241-5a5e43e]
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1200) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3763-Spigot-7d7b241-5a5e43e]
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1017) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3763-Spigot-7d7b241-5a5e43e]
        at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:304) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3763-Spigot-7d7b241-5a5e43e]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "net.minecraft.world.entity.ai.goal.PathfinderGoalEatTile.h()" because "this.bY" is null
        at net.minecraft.world.entity.animal.EntitySheep.U(EntitySheep.java:137) ~[spigot-1.19.4-R0.1-SNAPSHOT.jar:3763-Spigot-7d7b241-5a5e43e]
        ...```
ember estuary
#

is there no way to do it? I heard spring has some @PostConstruct annotation, so how the frick did they implement that then?

#

there must be a way

eternal oxide
#

why are you so insistant you don;t want to put init() in your child constructor?

ember estuary
#

because i make this for other people, and they might forgot to put init in the child constructor

#

i want to make it as simple to use as possible

eternal oxide
#

ah

#

then remove the init all together

ember estuary
#

i wouldnt mind using reflections and stuff, if theres a way doing it with that?

#

and just have them put the stuff in the child constructor?

#

yea, that works ig

eternal oxide
#

yes, if you can;t trust them to call an init() at teh end of the construtor

vague mason
#

Does Spigot have an API?

#

docs

eternal night
eternal oxide
#

?jd-s

undone axleBOT
umbral ridge
#

?whereami

vague mason
#

no no, I mean for website

#

api

eternal night
hazy parrot
#

Also spigot api is opensource afaik

eternal night
vague mason
#

Thanks

#

wasting some time when I'm updating the same plugin on multiple marketplaces

#

so I would be good if I automate this process

eternal night
#

I don'T think there is upload apis

vague mason
#

Really?

eternal night
#

I mean, spigot doesn't maintain that product

#

its a third party app running that does not seem to have that function

river oracle
#

Bingo ๐Ÿ‘๐Ÿผ could probably get one would just need to pay someone to make it properly

vague mason
#

Will check if the same problem is with other marketplaces

thin isle
#

how can i convert player to livingentity

young knoll
#

You donโ€™t need to

#

Player extends LivingEntity

river oracle
#

Xeneforo 1 specifically

vague mason
#

Still don't know why so many marketplaces choose xenforo

#

you could get a lot more benefits if making your own

young knoll
#

Yes but that takes a lot of time

river oracle
#

Spigot ๐Ÿ‘ isn't ๐Ÿ‘ a ๐Ÿ‘ market ๐Ÿ‘ place ๐Ÿ‘

young knoll
#

Look at how long hanger took

#

(Not a marketplace either but still)

vague mason
#

Website for plugins?

thin isle
young knoll
#

I see

#

Youโ€™ll need to convert to the NMS player then

#

((CraftPlayer)yourplayer).getHandle

thin isle
#

How do I get the nms player

umbral ridge
#

spigot website is not a marketplace. It's more of a resource hub for minecraft server administrators, plugin creators, etc..

river oracle
thin isle
#

is there a mob goal that kills an entity only when it is attacked (similar to the iron golem)?

umbral ridge
#

Is there a free weather API?

#

I'm synchronizing the time and weather with the minecraft world

ivory sleet
#

I mean weather from the real world?

umbral ridge
#

Yeah

hazy parrot
#

I assume there are probably more then enough free weather apis ahahagag

ivory sleet
#

I doubt, maybe google maps api has sth, but else I highly highly doubt its gonna be free

umbral ridge
#

yeah a lot of them are free but they require registration and all of that bullshit xd

#
ivory sleet
#

Yea but that isnโ€™t a problem?

umbral ridge
#

"subscribe"

ivory sleet
#

As long as it does not cost?

hazy parrot
#
young knoll
#

Make your server start a game of Pokรฉmon go and then read the weather from there

ivory sleet
#

Oh look there, goksi found it

umbral ridge
#

thanks

umbral ridge
#

I haven't played that game in so long

young knoll
#

A plugin that syncs to real world time and weather would actually be kinda neat

umbral ridge
#

Yeah

#

1 million per month

young knoll
#

I imagine making it public would be hard

#

Unless you paid or you made users set up their own account

umbral ridge
#

Yeah I'll probably use it for myself

#

my server

#

But I could make it public too but that would require me to think through how api calls are going to happen and when

young knoll
#

I wish I had the money to throw at premium API keys for random stuff

vague mason
ancient plank
#

I was thinking about doing something akin to weather formations

young knoll
#

Could make a lot of cool plugins with that

ancient plank
#

Regional rain and whatnot for funsies

young knoll
#

Oh hey I did that

#

Kind of

umbral ridge
#

Yeah f them

#

their fault

young knoll
#

It was per biome

vague mason
hazy parrot
umbral ridge
#

Depends on the time of day they play

vague mason
#

and would be unplayable

ancient plank
#

Just float some numbers across the map in a shape and anyone in those x,z coordinates get rain

young knoll
#

I said it was a neat idea, not necissarily a good one :p

#

You could instead just make days much longer

#

say x10 to go from 20min -> 200min

umbral ridge
#

I could make it per-player time with packets

#

I'll think about it

young knoll
#

You don't even need packets

#

There is api for that

vague mason
#

yeah but what about monster spawning

#

phantoms...

umbral ridge
#

There is always a workaround

young knoll
#

mhm

#

The only thing about syncing to real world weather is that MC doesn't have many options

#

sun, rain, storm, snow

#

No fog or wind

umbral ridge
#

Maybe they'll add this in the future, I hope

#

wind maybe not but fog..

young knoll
#

I think you may be able to do fog in new versions

#

Since fog is controlled by the server view distance now

umbral ridge
#

Yeah

spare hazel
#

how to set the player exp level directly without repeat x: setPlayerExp(1.0);
im not using skript its just for showing what i mean

young knoll
#

iirc player.setLevel

umbral ridge
#

Was abt to type that

player.setLevel(expLevel);
player.setExp(0); // "0" xp at expLevel
spare hazel
young knoll
#

if I recall correctly

spare hazel
#

oh ok

onyx fjord
#

whats the diff?

eternal oxide
onyx fjord
#

ah nah i mean the top and bottom setters

eternal oxide
#

one is an OfflinePlayer, second is a PlayerProfile. You can create a PlayerProfile without needing an OfflinePlayer

onyx fjord
#

aight so they do the same thing to the skull?

#

setting its texture

young knoll
#

The profile version is for using custom textures

onyx fjord
#

yeah i only need actual players head so

#

i guess the first option is fine

young knoll
#

Then yeah offline player is fine

onyx fjord
#

wait will this throw some exception if the getter returns null?

#

or the SkullMeta will be just null

warm mica
#

It will be null

onyx fjord
#

epic

round finch
#

pls send more code

uncut needle
#

if 0x00000000 is transparent

#

what is perfect red?

#

255 0 0

echo basalt
#

Damn you hardcoding this?

#

Just make an overlay system and use pngs

uncut needle
#

no i need to code that

#

every pixel that is perfect red

#

changes to a colour that it needs

#

I cant tell why

echo basalt
#

xy moment

#

Then yeah just do a for loop

#

and check for awt's Color.RED

uncut needle
#

yes im all ready doing it

echo basalt
#

At work I just made this overlay system

uncut needle
#

damn you are so much better at coding than I am

austere cove
#

bois my ChunkGenerator#generateCaves(...) isn't called

#

all the other stages are, noise, surface, bedrock, ...

icy beacon
#

i've cloned MultiverseCore and for some reason i can't get intellij to properly index the project, inspection is disabled even though sdk is defined, and due to that the files are just seen as .java files, no separation between classes, interfaces, etc

#

anybody knows what this could have been caused by?

remote swallow
#

mark them as root classes

#

rick click > mark as

#

or something like that

echo basalt
icy beacon
#

oh yep, directory -> mark directory as sources root

#

ty

uncut needle
#

I have been coding for only 1 year

#

u look like 5+

remote swallow
#

i have a year in coding, technically on like 8 months and mines decent

short raptor
#

Guys I have this code right

#

I call berginscoreboards from somewhere else then it just loops until running doesn't return true

#

Works great on my server

#

But I put it on another server and it just doesn't run at all

#

The only difference between them is that my server is 1.19.4 and the other server is 1.20.1

echo basalt
echo basalt
chrome beacon
icy beacon
# uncut needle u look like 5+

i've technically been coding since i was eight (well if we don't count Scratch then since ten lmao) and i can tell you i don't know shit

#

some people with 2 years of coding experience are better than those with 5 years

#

it depends on the person

chrome beacon
#

There's always more to learn

icy beacon
#

true

uncut needle
#

that makes sensse

#

meta is PotionMeta

#

how to check if color is red

icy beacon
#

working with bytes is my cryptonite

#

i'll see myself out

uncut needle
#

help me

chrome beacon
#

Potions are RGB

uncut needle
#

pure red

#

255 0 0

uncut needle
#

23 50 231

chrome beacon
#

meta.getColor() == Color.RED

#

If you want pure red

uncut needle
#

color

#

is red

#

byte color = bytes[y2 * image.getWidth((ImageObserver)null) + x2];

#

this

remote swallow
#

convert it to a awt color or a hex then

uncut needle
#

how to convert byte to awt color

remote swallow
#

have you considered using google

uncut needle
#

Ok I will google

umbral ridge
#

you can use the and operation
(perform a bitwise and operation with byte value to remove the sign extension -> obtain the corresponding position integer value)

int byteValue = 123; // eg. byte value
int intValue = byteValue & 0xFF;

0xFF is a hexadecimal representation of the decimal value 255. its frequently used to work with bytes or integers when working with binary data/bitwise operations.

gray talon
onyx fjord
#

is it possible to give an item netherite item attributes?

#

so no burning in lava etc

split gull
#

ok so i want to spawn a display text and push it but display entities dont tick so i cant do that, i tried making it ride an armor stand and pushing that instead but the display text is positioned in the armor stand's head and i need it to be on the ground, what could i do?

livid dove
livid dove
split gull
#

display entities do have the translation but the issue is that when using the center billboard it follows the player's pivot in a weird way

livid dove
#

Or be big brain and disguise as am invisible silver fish

split gull
#

oh man

livid dove
#

Lmao

split gull
#

thanks

#

i'll try that

livid dove
#

Lmao good luck in ur bodge job journey

onyx fjord
remote swallow
#

?paste the whole error and class

undone axleBOT
remote swallow
#

can you send the class on a seperate paste, so line numbers match up

#

ur error isnt an issue with the command, its an issue in ClassRegistrationController

#

line 48

#

if possible

#

its issue is the constructor, im guessing its trying to make a new instance of the sub class too

#

could probably just add a blank constructor, or just make the runnable a different class in a different package

echo basalt
#

No

#

I've used textured blocks for that onc

young knoll
#

It would just be invisible I assume

remote swallow
#

hi coll

fresh timber
#

?paste

undone axleBOT
fresh timber
#

I am getting an error when trying to send this packet on a 1.19.2 spigot plugin. https://paste.md-5.net/lokudewacu.cpp

Anyone know how I can stop this error and make it work?

This is the error I get:

remote swallow
#

you have a 1.19.1 dep for 1.19.4 paper

worldly ingot
#

1.19.2 probably used revision 2

#

Oh, sorry, yeah, it is .4

#

Which was revision 3 I think lol

fresh timber
#

how do I make it 1.19.4

remote swallow
#

change the dep

worldly ingot
#

Update your imports

fresh timber
remote swallow
#

did you run buildtools for it

fresh timber
#

I tried changing 1.19.2 to 1.19.4 on here but it didnt work

fresh timber
#

should I do buildtools 1.19.4 again?

remote swallow
fresh timber
#

do I just needa do buildtools again as 1.19.4?

remote swallow
#

have you ran it once before?

young knoll
#

Run buildtools for 1.19.4, yes

#

And make sure to use the remapped flag if you are using that

remote swallow
#

josh

#

can you do me a canada check

worthy moat
#

Hey i want to have a player click a specific Item and then open a sign interface where the user can type some stuff into it

#

How do I open such an interface?

#

I already got a PacketListener to achieve reading this stuff. How can I open such a inventory

hushed scaffold
#

hii , is there a way to prevent an arrow from colliding with players? its an arrow used to just hit blocks , and i need it to not damage or interact with players at all. is that possible or should i just go for a raycast and do it that way

hushed scaffold
umbral ridge
hushed scaffold
umbral ridge
hushed scaffold
#

or will it bounce off/get stuck

umbral ridge
#

If the event is cancelled the arrow will bounce back yeah

hushed scaffold
#

oh okay

umbral ridge
#

You can remove the arrow manually right after you cancel the event with arrow.remove()

quaint mantle
#

when i use gradle to initialize a project should i choose "basic" or "gradle plugin"?

umbral ridge
#

basic

quaint mantle
#

alr, thanks

umbral ridge
#

I think

remote swallow
#

gradle plugin is most likely for making gradle plugnis

quaint mantle
#

ah okey

umbral ridge
#

gradle plugin is for when you want to develop a gradle plugin itself, rather than a project that uses gradle as a build tool

quaint mantle
#

oh i see

#

also is it fine to copy the build.gradle listed in the wiki guides? there is no docs for cli setup so im trying to set it up from there

#

(and changing the version of spigot, of course)

umbral ridge
#

generally its fine, depends on your needs..

quaint mantle
#

alright, thanks

tender shard
#

looks fine

quaint mantle
#

hm alright

tender shard
#

have you used gradle before? because for spigot plugins, maven is a lot easier once you'll need NMS

quaint mantle
#

i have used it in android app development

tender shard
#

alrighty

quaint mantle
#

but nothign really advanced

#

like basic apps like stuff that gets apis and lists responses, or just copies of websites

#

i make

tender shard
#

my suggestion is to always use maven when doing spigot stuff, imho it's much easier, and if you ever need NMS some day, there's only an official maven plugin, but no official one for gradle

#

but if you already know gradle a bit and don't need NMS, then gradle is fine too

quaint mantle
#

alr, thanks

#

In a ServerBoundPlayerDigThingy packet is there a way to tell if they break a block because it has the action as FINISHED_DIGGING when it breaks but when u instabreak the block with haste / efficiency it only sends the start digging thing

tender shard
#

do you mean it doesn't open at all, or it closes after one tick or sth?

#

how are you opening it? what does register() do / how does Menu.java look like?

quaint mantle
#

btw, is your spigot archetype fine to use? last update was 6 months ago so im not sure if its outdated or not

tender shard
#

yeah it works fine, just the additional dependencies might be a bit outdated

quaint mantle
#

alr

vivid cave
#

is there a way to know when a player has the click hold, and when he releases it?

#

(out of containers, just with his bare hand in the air)

orchid trout
#

no

vivid cave
#

ah shit

#

thx

#

is there a way to check when he clicks in the void at least ?

orchid trout
#

listen for the click event and check if the player's y level is lower than -64

vivid cave
#

what's the event?

orchid trout
#

?javadocs

tender shard
#

PlayerInteractEvent -> check if action is RIGHT_CLICK_AIR

orchid trout
#

maybe playerinteract event

#

sfuijsdahf

tender shard
#

erm

#

LEFT_CLICK_AIR

#

or whatever you need

orchid trout
#

I (<----) was helping him, please stop

#

i will go crazy mode

echo basalt
echo basalt
#

rule 1. don't give bad advice

orchid trout
#

sorry

quaint mantle
#

what is the difference between Server.getWorld(string) and Bukkit.getWorld(string). They both seem to have the same use, but what's the difference?

eternal oxide
#

Bukkit.getWorld is a static accessor. Server#getWorld is an instanced

quaint mantle
#

ah, i see

tender shard
#

tl;dr it's the same

hazy parrot
#

Bukkit.XY is mostly just calling Server#XY

vast ledge
#

Is there a way to bypass the excessive velo of an entity
'Excessive velocity set detected: tried to set velocity of entity #114 to (54.3273305427885,-22.52995691759456,29.93445357690365).'

austere cove
#

why would you want to give an entity a speed of >1k blocks/s in the first place

warm mica
warm mica
warm mica
#

I think the limit was 10? Just max it at that before you set it

vast ledge
#

cries in 1.8

warm mica
#

It's 4 not 10

quaint mantle
#

whenever i use a class from spigot

  1. my code editor gives me errors saying that "org.bukkit.x" does not exist
  2. when i run mvn package, i get errors saying "cannot find symbol" for every spigot class/type/method i use.
    i barely even wrote any code, the only thing i did was create a new server instance, get the configuration file using getConfig and get the world from the server instance... this is my code https://github.com/SupaSibs/chest-randomiser
    i used mfnalex's archetype to set up spigot plugin fyi
vast ledge
#

Cursed Java

quaint mantle
#

i think the > and ? are swapped...

#

Hello, I'm trying to run the plugin directly in the RAM memory, and I succeeded. However, the getResource function is not working properly, and I can't access anything. When I try to return the directory where it's located, it returns /tmp/<plugin_name>. Is there any way to access the resource through this directory and load the configuration in the root folder where the plugins are located, and so on?

#

oh wait that's the joke

#

wait what why is it a warning not an error

vast ledge
#

Its a cursed statement

#

it very much works

quaint mantle
#

WHA

vast ledge
#

but it looks wrong

quaint mantle
#

lol

vast ledge
#

its basically

if(health > 2048){
  setHealth(2048);
} else {
  setHealth(health);
}
quaint mantle
#

wth
whenever i use a class from spigot

  1. my code editor gives me errors saying that "org.bukkit.x" does not exist
  2. when i run mvn package, i get errors saying "cannot find symbol" for every spigot class/type/method i use.
    i barely even wrote any code, the only thing i did was create a new server instance, get the configuration file using getConfig and get the world from the server instance... this is my code https://github.com/SupaSibs/chest-randomiser
    i used mfnalex's archetype to set up spigot plugin fyi
vast ledge
#

You dont have spigot in ur .m2

austere cove
quaint mantle
#

oh i forgot to run mvn install lol

#

im big dummy

#

hold on wut the mvn install is giving me the same error

vast ledge
#

have you install maven correctly

quaint mantle
#

yeah...?

#

i followed the same steps as on the apache docs

vast ledge
#

mvn -v

#

in console

quaint mantle
#

ok one sec

weary prairie
#

How do I make a magic wand that throws bone meal when I click the left mouse button
I mean i saw this thing but i dont really know how to use it

vast ledge
#

Do you know the basics

#

of spigot/java

weary prairie
#

just started learning

vast ledge
#

Ok

#

You know abt events?

weary prairie
#

yes

vast ledge
#

Ok, theres an event "PlayerInteractEvent"

#

It returns the type

#

check if the even is rightclick block

#

thne check if the player is holding the wand

#

then get the block

quaint mantle
#

3.6.3, same thing as i wgetted

vast ledge
weary prairie
quaint mantle
#

alr

weary prairie
#

but i dont know what to use for bonemealing

vast ledge
#

get the blockstate

#

and you should be able to set it to be grown

#

for trees youd need the following

weary prairie
vast ledge
#

Then you can use

quaint mantle
#

this is the error part

#

after running mvn clean install

vast ledge
#

yeep

#

it cant find the bukkit package

#

show ur pom.xml

quaint mantle
#

why not

#

okay

vast ledge
#

?paste

undone axleBOT
quaint mantle
#

oh ok lme use that

vast ledge
#

oh

#

god

#

i see the error

quaint mantle
#

i used mfnalex's archetype to generate the project btw

vast ledge
#

oh

#

ok

#

no

#

you assigned the variable

quaint mantle
#

what

#

well the thing i assigned related to bukkit is the version which i chose 1.20.1

weary prairie
vast ledge
#

try putting the following in the dependency instead of the one already there

        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.20-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
vast ledge
#

i dont use blockstates

weary prairie
vast ledge
#

but you should be able to edit it now

quaint mantle
#

i want to use 1.20.1 not 1.20.01 tho

#

ig itd still work

vast ledge
#

its 1.20.1

#

....

warm mica
quaint mantle
#

idk if im dyslexic but it says 1.20.r0.1

vast ledge
#

r0

#

doesnt mean 0

quaint mantle
#

or is r0 part of the thinf

#

oh ok

#

lemme trh that then

young knoll
#

Is 1.20.1 a new version

#

Or is it sill under 1.20

vast ledge
#

1.20.1

#

i think

#

its patch

young knoll
#

You should probably use that then

#

If you want the latest api changes

vast ledge
#

ye then its 1.20.1-r0.1-SNAPSHOT

#

right

quaint mantle
#

nope exactly the same error

#

like exactly the same

queen niche
#

how do big servers handle time shown in f.e. scoreboards? Is it based on player's timezone? Or is it based on the server timezone?

#

and how would one get the players timezone?

vast ledge
#

probably timezone

#

You should be able to get the ip

#

with nms

young knoll
#

Server timezone usually

#

Itโ€™s server time on hypixel anyway

vast ledge
#

Hypixel uses

#

server time

hazy parrot
vast ledge
#

You can get with default spigot?

young knoll
#

But yes technically you could use ip to estimate the users timezone

vast ledge
#

Or you could ask them

young knoll
#

Have fun with that though, timezones are wack

vast ledge
#

Yea

#

screw timezones

#

their weird

queen niche
hazy parrot
#

Gl finding timezone of someone geolocated in Russia

hazy parrot
young knoll
#

Getting the country isnโ€™t hard

#

But that doesnโ€™t help much

hazy parrot
#

Yeah, Russia have 12 timezones

young knoll
#

You need reasonable accuracy

vast ledge
#

Guy in germany randomly has US timezone

queen niche
#

the thing behind is that we most likely want the ingame time to be the same as the real life time. But that means if f.e. our server is located in germany it will almost alwasy be night for the american players who join in the afternoon

quaint mantle
#

guy in france has same timezone as brazil

young knoll
#

Not much you can do there

#

Donโ€™t make the time synced with real life

quaint mantle
#

guy in britian has same timezone as newfoundland

hazy parrot
#

What are you talking about

quaint mantle
#

colonial empires led to timezones not working for many nations

#

britian and france still have many random islands

#

and france has french guiana

rough ibex
#

oh yeah

vast ledge
#

I ate ur butter

weary prairie
vast ledge
#

no

#

dont trigger the event

weary prairie
#

then what do i exactly do..?

#

me = confused

young knoll
#

Wait why arenโ€™t you using the method given to you originally

#

applyBonemeal

weary prairie
#

i mean i tried

#

but ya

vast ledge
#

Ok

#

you got the block

#

from event

#

then you can use block.applyBoneMeal()

young knoll
#

Just get the block and call applyBonemeal

#

The face shouldnโ€™t really matter, just use up

vast ledge
#

howd you get the toop blokcface?

#

oh

#

ye

weary prairie
#

how do i exactly write the face

vast ledge
#

its an enum

#

i think

#

BlockFace.UP

#

lemme check

#

Yep

#

BlockFace.UP

weary prairie
#

so

vast ledge
#

yep

weary prairie
#

lets go just tested it works! Thanks!

worthy moat
#

hey I am receiving an out of bounds exception if I want to read out the lines of a sign with a UPDATE SIGN packet

#

event.getPacket().getStringArrays().getValues().get(0)

#

Does anyone know a solution?

quaint mantle
#

exact copypaste of the same error

#

In a ServerBoundPlayerDigThingy packet is there a way to tell if they break a block because it has the action as FINISHED_DIGGING when it breaks but when u instabreak the block with haste / efficiency it only sends the start digging thing

orchid trout
quaint mantle
#

broooooo f meeeeeee

young knoll
#

I mean I know BlockBreakEvent is still fired when Instamining

#

So there must be some kind of packet

quaint mantle
#

yeah

worthy moat
vast ledge
#

You checking if the size of the sign

#

is inbounds?

worthy moat
#

No i want to read the lines

#

get the values

vast ledge
#

try getValues().size()

#

print that value into console

#

and check if its 0

quaint mantle
#

ok ima try tomorrow

worthy moat
#

getStringArrays and Strings is both 0

young knoll
#

Itโ€™s probably a component or something

#

Idk

vast ledge
#

i wanna cry

#

๐Ÿ˜ญ

worthy moat
#

why?

vast ledge
#

My vector launches the mob twoards the playe

#

on the floor

#

i want ti to fly up

#

๐Ÿ˜ฆ

worthy moat
#

hmm ok

#

I want to cry too

#

I cant read the f sign

vast ledge
worthy moat
#

The problem is , that sign is not a real sign

#

Its for a GUI yk?

#

It openes an sign ui

#

you type a name

#

and i receive it

young knoll
#

Huh according to wiki.vg it is strings

vast ledge
#

i think you might need nms

worthy moat
worthy moat
vast ledge
#

net.minecraft.server

worthy moat
#

wdym by that?

vast ledge
#

hear

#

its kinda old

#

but it should explain

worthy moat
#

nope i dont fully understand i am sry

vast ledge
#

Ah

#

found my solution

worthy moat
vast ledge
#

fun fact,

#

is there a location

#

wait

#

imma try this for u

#

might take a bit

worthy moat
#

thx

#

But why does this little thing need such a big solution

#

i dont get it

young knoll
#

Because sign GUIs are meant to be attached to a sign

#

So when they arenโ€™t thing are a bit weird

vast ledge
#

yea

#

you dont have a block

#

to which the data can be attached to

young knoll
#

Also signs got a big change in 1.20 which means itโ€™s a bit of uncharted territory atm

vast ledge
#

๐Ÿ’€

worthy moat
#

yeah i want to programm a minigame and I want 1.8 PVP like Hypixel

young knoll
#

Oh

#

Since itโ€™s for latest

vast ledge
#

here

#

did i already send that

#

idk

#

but its using protocollib

young knoll
#

Ah wait wiki.vg does have older versions

vast ledge
#

ye

#

isnt there like a history

young knoll
#

The fields are of type โ€œchatโ€ in 1.8

vast ledge
#

ye

#

ur gna have to use packets

#

idk why

#

but i just have a hate for packets

#

Theres nothing wrong with them

#

i just dont like them

#

My entire console rn:

[00:06:21 WARN]: Excessive velocity set detected: tried to set velocity of entity #172 to (0.7911693290430605,6.0,0.611597165445977).
[00:06:21 WARN]: java.lang.Exception: Stack trace
[00:06:21 WARN]: at java.base/java.lang.Thread.dumpStack(Thread.java:2282)
[00:06:21 WARN]: at org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity.setVelocity(CraftEntity.java:213)
[00:06:21 WARN]: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
[00:06:21 WARN]: at java.base/java.lang.reflect.Method.invoke(Method.java:578)
[00:06:21 WARN]: at co.aikar.commands.RegisteredCommand.invoke(RegisteredCommand.java:152)
[00:06:21 WARN]: at co.aikar.commands.BaseCommand.executeCommand(BaseCommand.java:577)
[00:06:21 WARN]: at co.aikar.commands.BaseCommand.execute(BaseCommand.java:513)
[00:06:21 WARN]: at co.aikar.commands.RootCommand.execute(RootCommand.java:99)
[00:06:21 WARN]: at co.aikar.commands.BukkitRootCommand.execute(BukkitRootCommand.java:81)
[00:06:21 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:146)
[00:06:21 WARN]: at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:666)
[00:06:21 WARN]: at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1189)
[00:06:21 WARN]: at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1001)
[00:06:21 WARN]: at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45)
[00:06:21 WARN]: at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1)
[00:06:21 WARN]: at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13)
[00:06:21 WARN]: at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
worthy moat
shadow owl
#

I'm trying to place a RUINS structure in my world using the built-in structure classes. However, it looks like none of the structures are being registered? I've tried registering the RUINS structure and viewing the loaded ones, but it's showing an empty map:

Bukkit.getLogger().severe(Bukkit.getStructureManager().getStructures().toString());
Bukkit.getServer().getStructureManager().loadStructure(Structure.TRAIL_RUINS.getKey());
        Bukkit.getServer().getStructureManager().loadStructure(Structure.TRAIL_RUINS.getStructureType().getKey());
        Bukkit.getLogger().severe(Bukkit.getServer().getStructureManager().getStructures().toString());``` (this prints empty maps)

Therefore, my placing of the structure is failing:
```        Bukkit.getStructureManager().loadStructure(Structure.TRAIL_RUINS.getKey()).place(getCenter(),
                true, StructureRotation.NONE, Mirror.NONE, -1, 1, new Random());```
Does anyone have any idea on what I'm doing wrong?
worthy moat
vast ledge
#

also what veresion

shadow owl
#

Spigot 1.20. When you say insert what do you mean?

vast ledge
shadow owl
vast ledge
#

try using

#

and tell it to register

worthy moat
#

GOT IT

#

thanks guys

shadow owl
# vast ledge try using

Ah interesting, now it's loading the rest of the minecraft structures, but the TRAIL_RUINS are not there. Even though that's the one I'm specifically asking it to load:

        Bukkit.getStructureManager().loadStructure(Structure.TRAIL_RUINS.getKey(), true);
        Bukkit.getLogger().severe(Bukkit.getStructureManager().getStructures().toString());```
shadow owl
worthy moat
#

ive got another problem

#

I saved an Object with the Spigot YML api and now this pops up:

vast ledge
#

theres nothing there

worthy moat
#

yeah i cant send my error

vast ledge
#

screenshot

#

or

#

?paste

undone axleBOT
tender shard
#

just get verified to send screenshots

vast ledge
#

oh hi mfnalex ๐Ÿ˜„

worthy moat
#

AH FUCk

#

it got deleted

vast ledge
#

LANGUAG

tender shard
mellow pebble
#

when im trying to put cusotm message when server is stopped in bukkit.yml i use ยง symbol for color codes but when message is displayed i get those smiling face symbols in the text

#

why is that happening

worthy moat
#

I am contacting you guys tomorrow

vast ledge
#

ok

worthy moat
#

thx for your help anyways

vast ledge
#

how does ยง turn into ๐Ÿ˜„

#

send msg

mellow pebble
#

i just closed mc

#

wait

vast ledge
#

the config

#

not client side

mellow pebble
#

?paste

undone axleBOT
vast ledge
#

@tender shard Can you tell me why my boss turns into a helicopter?

eternal oxide
#

you are subtracting a unit vector from a location vector to obtain the direction

vast ledge
#

yea

hard acorn
#

I'm making a custom item that's a smoke grenade, and right now I'm suffering from two issues:

  1. Through each "cycle" (the particles have to be reimplemented to get the desired duration) the radius gets larger, even though I assign the smokeRadius variable only once.

  2. If I were to throw more than one grenade at the same time, each grenade's smoke area would alternate with each other. I thought it would be because of variables I assigned outside of the else if statement, but it's not (to my knowledge)

https://paste.md-5.net/odilevazeg.cs

eternal oxide
#

your direction vector is wrong

vast ledge
#

wdym

eternal oxide
#

remove the normalize

vast ledge
#

I want to yeet the boss at the player

eternal oxide
#

oh ok

#

you normalize after subtracting. I didn;t notice

ornate patio
#

i can't read spigot docs because cloudflare thinks im a bot

shadow owl
# vast ledge try using

Hey Bedless, I've tried this:

Bukkit.getStructureManager().loadStructure(Structure.TRAIL_RUINS.getStructureType().getKey(),true);
Bukkit.getStructureManager().loadStructure(Structure.TRAIL_RUINS.getKey(), true);
Bukkit.getLogger().info("Structures: " + Bukkit.getStructureManager().getStructures());

But am still just getting an empty map: Structures: {}

eternal oxide
shadow owl
mellow pebble
#

so most likely it goes upwards

eternal oxide
#

thats what I'm guessing too, but he need to confirm

mellow pebble
vast ledge
#

It just quite litteraly turns into a helicopter

hybrid coral
#

Hey, has anybody got any idea how you can make it so that only one player can be in a multiverse world at one given time? Thanks ๐Ÿ˜Š

vast ledge
#

get the world

#

if another player tires to join

shadow owl
eternal oxide
vast ledge
vast ledge
eternal oxide
#

don;t setY, add to Y by a small positive value

vast ledge
#

ok

mellow pebble
vast ledge
#

do i still remove thenormalize?

eternal oxide
vast ledge
#

it wants a vector

eternal oxide
#

last value shoudl be 0

vast ledge
#

do i create a new vector?

eternal oxide
#

new Vector (0,0.1,0)

vast ledge
#

Who assaulted our usernames

#

why am i B...

#

heh

#

oh

#

streamer mode

#

burh

#

this is what i got now

eternal oxide
#

what speed are you setting?

vast ledge
#

1

eternal oxide
#

ok, it should now hop 1 block

vast ledge
#

yea

#

cus math

#

can i upload raw content here

#

or do i get banned

eternal oxide
#

you may have to decrese from 0.5 still

#

raw?

vast ledge
gaunt moss
#

Hi, could someone help me I try to config dependabot but it doesn't work when I want to update spigot-api. If I understood correctly I have to config maven central for this to work?

vast ledge
#

ex:
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.8.8-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>

#

thats 1.8

gaunt moss
#

It is already the case but as soon as I launch the search for update I have nothing

vast ledge
#

what is a dependabot

#

even

#

am i stupid

eternal oxide
#

did you add a repository?

gaunt moss
vast ledge
#

THATS PAPER

young knoll
#

Itโ€™s a GitHub bot that updates your dependencies

vast ledge
#

YEE THE CHILD

eternal oxide
#

isn't dependabot that annoying github bot that harrasses you if you use any dependency with a known exploit?

vast ledge
#

oh

#

that

#

yea

#

Hes still using paper tho

eternal oxide
#

?fork

undone axleBOT
#

SpigotMC maintains the Spigot server. If you are using a fork of Spigot (such as Paper, Airplane, Purpur, or other derivative works), you should seek support in the appropriate Discord servers.

gaunt moss
vast ledge
#

yea that log is useless

#

is there like an error?

eternal oxide
#

I can;t help with dependabot as I generally ignore it. Exploits are not really a thing for spigot plugins

vast ledge
#

never used one

#

dont like the one thats built into intellij for my maven dependencys

eternal oxide
#

99.9% of exploits in libraries require direct server access to exploit

gaunt moss
#

I have no error I just don't have the dependabot pull request while with the other dependencies it works

vast ledge
#

Is there a github page for the bot?

#

then ask there, theyd know more then us

gaunt moss
#

It can't detect if there is an update

eternal oxide
#

I got a PR from it yesterday

#

telling me I should update my h2 driver library

quaint mantle
#

quick question there is a mod thats bugging with guis with "softclose", any idea how i would check/detect this dont think its firing the InventoryCloseEvent

gaunt moss
#

This works with all other dependencies except spigot

vast ledge
#

no

#

i think its forge

vast ledge
#

or fabric

hybrid coral
#

Is it some sort of setting or something?

quaint mantle
#

fabric mod used for duping but it bugs with guis

#

using a softclose but it doesnt fire the InventoryCloseEvent

eternal oxide
#

Not to correct place to ask about fabricmods

vast ledge
# hybrid coral Wdym?

Use there api, when a player tries joining a world, check if the player count is higher than 1, if so send them back to world of origin

quaint mantle
vast ledge
#

Use the mod

#

and have an eventlistern

#

have it send a msg

gaunt moss
#

Thanks anyway

ornate patio
#

How can I get a player skull

vast ledge
#

Get a player profile

eternal oxide
#

I don;t talk to bots ๐Ÿ˜‰

vast ledge
#

oh

#

y

#

neither do I

ornate patio
#

bro

eternal oxide
#

lol

ornate patio
vast ledge
#

Get the player profile of the head ur trying to get

#

then get texture

#

apply to head

ornate patio
#

Idk the exact methods to do that

eternal oxide
#

what spigot version?

ornate patio
#

I canโ€™t even look at documentation

ornate patio
eternal oxide
#

you already know how to create a normal skull I hope

ornate patio
#

Yes

eternal oxide
#

get teh meta, cast to SkullMeta. That has a setOwner method which takes an OfflinePlayer or a PlayerProfile

ornate patio
#

ah ok

#

skullmeta was the name i was looking for

wet breach
eternal oxide
#

he can't look at javadocs as Spigotmc thinks he's a bot ๐Ÿ™‚

wet breach
#

probably using a vpn

eternal oxide
#

or he's a talkative bot

wet breach
#

but, I don't remember the api docs being behind the cloudflare either o.O

ornate patio
ornate patio
#

yeah i cant access that either for some reason

#

it just doesnt load

#

but its not cloudflare

wet breach
#

seems like you might have some kind of connection issues

eternal oxide
#

dns issue then

vast ledge
wet breach
#

ElgarL beat me to it

#

either flush your DNS or try changing dns servers

eternal oxide
#

open a command prompt and /dns flush

ornate patio
#

hmm ok

#

im on windows

vast ledge
#

ye

wet breach
#

flushing dns will force your system to regrab the dns records

ornate patio
#

command not recognized

vast ledge
#

is it not smth

#

ipconfig

eternal oxide
#

yeah

vast ledge
#

ipconfig /dns flush

wet breach
#

ipconfig /flushdns

eternal oxide
#

do a ipconfig ? and find the dns flush

ornate patio
#

got it

#

ok i can access javadocs now

vast ledge
#

nice

ornate patio
#

but still not main site

wet breach
#

main site is behind cloudflare

vast ledge
#

yea

eternal oxide
#

may need to reboot to relase all cache

wet breach
#

but the api docs are not

ornate patio
#

yeah cloudflare isn't letting me through

wet breach
#

yeah the ip you have must have been flagged by cloudflare at some point

#

so not much can really be done for that

vast ledge
#

I need an efficeint way, of making a armorstand follow an entity, should i tp the armour stand or is there a better waay

ornate patio
#

i may have done lots of webscraping in the past lmfao

carmine nacelle
#

Can you modify entity behavior without the entity being an NMS entity..? bees are naturally stupid and just fly off without detecting flowers near them and I gotta lead them to a flower by going to them and holding a flower, then leading them to the flower 5 blocks from their hive ๐Ÿ’€

ornate patio
vast ledge
#

to change the ai

carmine nacelle
#

ugh.

wet breach
vast ledge
#

Is that more fficeint

#

wait

#

can i set the armourstand

#

to ride the entity?

wet breach
#

yes

young knoll
#

Yes

vast ledge
#

yay, integrated way to make it follow

wet breach
#

you will have issues with the riding if the entity goes into water though just fyi

vast ledge
#

why?

#

wil l it try to dismount

wet breach
#

because water causes entities to dismount

vast ledge
#

can i force cancle the event

wet breach
#

yeah but it glitches

#

so in the event of water just make it tp

vast ledge
#

yea

#

i cna just check if water

#

then start tp

#

reduce server lag ๐Ÿ˜„

#

What the difference between
and

#

does it even make a difference

wet breach
#

the reason that exists is for legacy reasons

prime epoch
#

how can i send block updates client side only? I know sendBlockChange exists but it seems to be deprecated.

vast ledge
#

How do i make an armor stand invicible

wet breach
vast ledge
#

I made it invisible

#

does it make it non die

wet breach
#

then nothing can kill it except the server if its invisible

vast ledge
#

cus in spawn command for normal mc, it doesnt make it invicble

wet breach
#

armor stands exist that way to allow holograms ๐Ÿ™‚

#

I know because I helped make holograms a permanent thing in MC ๐Ÿ˜›

#

but this is why we now have display entities in the most recent versions ๐Ÿ˜„

vast ledge
#

nice ๐Ÿ˜„

wet breach
#

Yep

#

that is the one I helped create and was the first

#

and then holographic displays came along, was so nice to compete against them and them against us

vast ledge
#

I wish to become something actually important :[

wet breach
#

ultimately holographic displays won out when armor stands came along because HoloAPI required 2-3 devs to maintain, and the other two left and it was such a large project that to do it by myself wasn't really feasible but it accomplished a goal at least and that was to make Holograms popular and it helped do so, so much that Mojang was forced to keep holograms as a feature ๐Ÿ™‚

prime epoch
wet breach
#

Indeed it is

vast ledge
#

Im still on 1.8

#

but i appreciat

#

the work

wet breach
#

originally before 1.8 holograms relied on horses for the horse age bug

#

and when mojang randomly publicly stated they were going to patch that bug, that is when everyone started messaging mojang about holograms were going to be ruined if they do

#

and so Mojang created the armor stand with the ability to be invisible lol

#

which is why the Armor stand is an entity

wet breach
vast ledge
#

Ye, im working on a T5 spider slayer for hypixel sb

wet breach
#

Also, holographic displays I think it was a year or two ago finally managed to implement all the features holoapi had

#

the last feature they managed to get implemented that HoloAPI had was touch holograms ๐Ÿ˜›

#

even though it was open source, many couldn't wrap their heads around how it was actually done

vast ledge
#

ye

terse pumice
#

What is the best way to tell if a player is in a specific gui? I want to make sure that no items can be taken from the gui and am currently doing this with a HashSet of players who are in the gui (adding them on open inventory and removing on close) but this doesn't always work

wet breach
vast ledge
#

its 1am rn and im writing spigot code

terse pumice
terse pumice
wet breach
vast ledge
#

wdym?

wet breach
#

have 2 different implementations I want to make

#

well the first one will implement the bukkit api, but the server code would for the most part just be custom except for a few things to maintain vanilla aspects

vast ledge
#

This is my custom event rn xD

wet breach
#

second one, is basically a true self load balancing implementation

#

second implementation would not be compatible with bukkit plugins, which is fine because it isn't for people who need to rely on such things anyways

vast ledge
#

What event get triggered when i stab smth with my fist

#

is it playerinteractatentityevent?

wet breach
#

interact event

#

and the entity one

vast ledge
#

ok

wet breach
#

if there is an entity you hit

trail coral
vast ledge
#

why only rightlcik

wet breach
trail coral
young knoll
#

If you want to detect attacking an entity

#

EntityDamageByEntityEvent

wet breach
#

a vector of 0 isn't going to go anywhere

vast ledge
#

that code yeets

#

an entity

#

to another one

wet breach
# trail coral do you still work on it

HoloAPI at the moment is defunct. Whenever I decide to update it, it will stay that way unfortunately. But its open source so you are free to fork it etc

#

might have issues with finding the related dependencies and all that

vast ledge
#

The player locaton

#

so the launching location

trail coral
#

i use holographicdisplays i think

wet breach
#

most of the dependencies can be found between the developers git repos in their code form ๐Ÿ˜›

trail coral
#

or decentholograms

wet breach
vast ledge
#

oh

#

thats simple

wet breach
#

I think what helped propel holoapi to being popular was that all the developers that worked on it

#

were also Bukkit Dev staff members at the time

#

including myself ๐Ÿ˜›

vast ledge
#

oh

#

forgor abt u

#

soz

#

target.setVelocity(target.getVelocity().setY(10));

#

wdym

#

the |

#

yea

#

it doesnt like existing

#

on scoreboard

#

my guy

#

target.setVelocity(velocity.multiply(5).setY(10))

twin venture
vast ledge
#

Im usign the same code

#

if it doesnt work, then vectors suddenly changed

#

and i dont think that happens quickly

twin venture
#

iam not sure , but i don't think you need to create a new Vector .. not sure but try it anyway

vast ledge
#

check console

#

it might be throwing errors

shadow owl
#

Does anyone have experience placing default structures using the StructureManager? I'm trying this but loadStructure returns a null Structure:

Bukkit.getStructureManager().loadStructure(Structure.TRAIL_RUINS.getKey(), true).place(getCenter(), true, StructureRotation.NONE, Mirror.NONE, -1, 1, new Random());