#help-development

1 messages Β· Page 1096 of 1

grave lion
#

do i need to add solder to copper?

rough hinge
#

i have level-data on tutorial world but im not teleporting to tutorial world

grave lion
rough hinge
#

have eventpriority lowest

#

but only works if player enter on server more that 1 time

#

on first time isnt teleported

#

and level-data have tutorial map

eternal oxide
#

thats paper thin, be very careful if you solder to it

wet breach
slender elbow
#

paper ???

wet breach
#

then you can vary the voltage, but you also need to ensure you maintain the appropriate wattage as well

rough hinge
#

thing

#

i think

worthy yarrow
#

...?

rough hinge
#

im not teleported to my tutorial loc on first time

grave lion
#

hes doing it better than me

rough hinge
#

im not teleported to my tutorial loc on first time HELP

grave lion
#

can you show me anything?

#

like even the line where the player is teleported?

lost matrix
rough hinge
worthy yarrow
#

Could you show some code and perhaps we can help better?

rough hinge
#

if not i need scheduler player.teleport

rough hinge
#

ON FIRST TIME

worthy yarrow
#

Mk, forgot you knew everything my bad

grave lion
#

instead of on join try PlayerSpawnLocationEvent

lost matrix
#

^

grave lion
worthy yarrow
#

kek

grave lion
#

tbf i dont know where to get a 12 volt adapter, maybe goodwill

wet breach
#

you could just make your own

#

there is a couple ways of making one lol

grave lion
#

mcgyver an alarm clock

rough hinge
#

hey

#

network error?

stuck oar
#

is there any way i can do it then

worthy yarrow
#

(Theres probably a better way I'm not really sure) but you could model your own diamond for a custom item (any helmet or wtv) then just use that

chrome beacon
#

I believe the items do render

worthy yarrow
#

Hmm

chrome beacon
worthy yarrow
#

Must be something else then I'm not sure

rough hinge
#

how i see what plugin is using my cpu on velcoity

#

how i see what plugin is using my cpu on velcoity

#

how i see what plugin is using my cpu on velcoity

echo basalt
stuck oar
chrome beacon
stuck oar
#

yeah but thats in normal minecraft

#

mayb it doesnt work in code

worthy yarrow
#

I mean

#

I guess you could use the console sender to send this command

chrome beacon
#

If it works with commands it works with code

#

The commands are running code too you know

worthy yarrow
#

Well yeah, then something is wrong here

bright garden
#

hi

#

could somebody help me out in dms perhaps

#

or something

worthy yarrow
#

?ask

undone axleBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!

bright garden
#

i have a server and the raidfarms aint working for some reasons

#

like only 4 raiders are spawning

#

the rest aint

#

idk why

#

the server is paper

worthy yarrow
#

#help-server also, reach out to their plugins support channel

#

Also we're not paper

bright garden
#

my bad

#

i thought yall related

worthy yarrow
#

In the sense of paper being a fork of spigot sure

#

2 pretty different api's tho

bright garden
#

how do i check that

#

sorry

worthy yarrow
#

Well firstly I'd reach out to that plugins support discord if they have one, otherwise in paper, or #help-server and someone might be able to help ya

bright garden
#

im bad at this lol

#

ah okay

#

do u know where i could find the paper discord server invite

#

perhaps

#

nevermind

nova notch
#

google

bright garden
#

i got it

worthy yarrow
#

google probably lol

rough hinge
#

how fix duplicate world multiversecore

eternal oxide
#

wolds require different names, and don;t load a world twice

acoustic pendant
#

Hey, I'm having a problem really weird for me:
https://paste.md-5.net/eviwakibot.java

So i have this code that if the item is a rod it only detects when the click is left, however if the click is right into the air it is also opening the menu but it shouldn't?

I''ve tried many ways, comparing the items etc. Even one time I debugged into a return before the new ToolMenu ... (So the return should have been run) but the menu opened anyways, is there something off with Interact and rods?

chrome beacon
#

Don't compare items with ==

#

wait nvm

acoustic pendant
chrome beacon
#

yeah saw that too late

#

Do follow naming conventions

acoustic pendant
#

It's really weird idk why that happens

acoustic pendant
chrome beacon
#

Enum values should be be uppercase

torn badge
#

Your else statement looks off

acoustic pendant
#

Oh true

acoustic pendant
torn badge
#

Youβ€˜re doing if type == rod else still open it

chrome beacon
#

So both right and left click opens your menu?

acoustic pendant
#

Yeah

#

I have different tools but with rod i want to open with other click

acoustic pendant
#

but right only when air

chrome beacon
#

Make sure you're not using an old jar

acoustic pendant
#

I'm not

torn badge
#

What does it do and what is it supposed to do

peak depot
#

how can i do that stuff with bossbar and tp

acoustic pendant
#

But rod seems a little bit off

torn badge
#

Wdym by 'a little bit off'

chrome beacon
acoustic pendant
#

but right only in air

peak depot
torn badge
#

Did you debug if your getTool is working as expected?

acoustic pendant
torn badge
#

Also pretty sure PlayerInteract fires once for every hand

chrome beacon
acoustic pendant
chrome beacon
#

You have a character for background

#

and some negative space to move it in to place

torn badge
#

Debug if your code actually enters the last if statement

acoustic pendant
#

let me try

burnt oriole
acoustic pendant
acoustic pendant
chrome beacon
#

and make sure you added the Spigot repo

torn badge
chrome beacon
#

That too

burnt oriole
torn badge
acoustic pendant
torn badge
#

Oh wait nvm you said

acoustic pendant
#

and fired twice

chrome beacon
torn badge
#

Yeah one for main one for offhand

acoustic pendant
chrome beacon
#

?interactevent

undone axleBOT
#

The PlayerInteractEvent may be called once per hand. If you only want code to be executed once, you can check the result of https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/PlayerInteractEvent.html#getHand(), then decide functionality.

For example, only executing code if the main hand was used:

@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
    if (event.getHand() != EquipmentSlot.HAND) { // * if the hand used is NOT the main hand:
        return; // do not progress past this point  |
    }
    // provide functionality
}
acoustic pendant
#

So the debug should only be fired once right?

torn badge
#

What is the item variable

acoustic pendant
rough hinge
acoustic pendant
#

Isn't rod bugged or something?

rough hinge
#

wdym

acoustic pendant
#

Because it doesn't make sense to me that with one click it runs twice

torn badge
#

Show your getTool method

acoustic pendant
chrome beacon
#

yes

#

That's why we want to see it

acoustic pendant
#
    @Nullable
    public static Tools getTool(@NotNull ItemStack itemStack) {
        if (!isTool(itemStack))
            return null;

        String toolType = itemStack.getItemMeta().getPersistentDataContainer().get(toolKey, PersistentDataType.STRING);
        if (toolType == null)
            return null;
        return Tools.getTool(toolType);
    }```
torn badge
#

Yeah even though it shouldnt

acoustic pendant
torn badge
#

Not for offhand

acoustic pendant
#

Oh, true

torn badge
#

What is Tools#getTool(String)

acoustic pendant
#
    @Nullable
    public static Tools getTool(String tool) {
        if (tool.equalsIgnoreCase("hoe")) {
            return hoe;
        } else if (tool.equalsIgnoreCase("sword")) {
            return sword;
        } else if (tool.equalsIgnoreCase("pickaxe")) {
            return pickaxe;
        } else if (tool.equalsIgnoreCase("rod")) {
            return rod;
        } else if (tool.equalsIgnoreCase("all")){
            return all;
        } else {
            return null;
        }
    }```
chrome beacon
#

at least use a switch statement πŸ’€

acoustic pendant
#

yeah, I said not too yell at me πŸ’€

chrome beacon
#

i wasn't yelling

#

see all lowercase uwu

acoustic pendant
#

toLowerCase

#

I think when you right click a rod it fires twice

#

Could that be?

#

But not because of the offhand

torn badge
#

Did you register the listener twice?

acoustic pendant
#

uhm

#

don't think so let me check

#

No, only once

torn badge
#

Debug step by step

#

Print PlayerInteractEvent#getHand

#

Then print the item, print the toolType string

acoustic pendant
#

okay

acoustic pendant
#

But with other tool it only fires once?

#

Isn't click with rod bugged?

#

Maybe the swing is another click?

torn badge
#

Are you doing something to the item?

acoustic pendant
torn badge
#

No I mean in your code

#

Like removing or modifying the item after the click

acoustic pendant
#

No, not modifying

torn badge
#

Comment out your ToolMenu open lines and see if its still called twice

acoustic pendant
#

It is being called twice

torn badge
#

Or just comment out all code and only debug the hand

acoustic pendant
#

not OFFHAND

torn badge
#

Yeah ik, comment out all your code and see if it is still

chrome beacon
#

And if it is make sure Spigot is up to date

acoustic pendant
#

it is version 1.20.4

chrome beacon
#

And that you're actually using Spigot

acoustic pendant
#

using pupper, don't think the do anything tothat right?

chrome beacon
#

Test on Spigot

acoustic pendant
#

uh

#

1s then

acoustic pendant
#

Really, aren't rods bugged or something ?

#

Doesn't the swing animation do something?

#

Because it is the only tool firing twice

#

and maybe that is firing the left click?

#

and that's why it is opening the menu?

foggy cave
#

is there a way to do block PDC in 1.7 or do i just have to store locations in config

chrome beacon
#

1.7 πŸ’€

foggy cave
#

im trying to make a crafting table that opens my printing press gui

acoustic pendant
#

isn't PDC from 1.14 or smth like that?

chrome beacon
#

Yes

foggy cave
#

yeah i meant alternative to block pdc

acoustic pendant
#

Location or NBT

chrome beacon
#

You can write the nbt tags yourself

foggy cave
#

oh i didnt know u can gives blocks nbt

#

cool ty

chrome beacon
#

You cannot

#

You use the chunks nbt

foggy cave
#

ugh

#

what a hassle

chrome beacon
#

Shouldn't be on a 10+ year old version

#

That doesn't even have Spigot builds available anymore

#

And isn't log4shell patched

acoustic pendant
chrome beacon
#

You probably registered the listener twice

#

That would be my guess

acoustic pendant
#

No, i didn't

#

because only the rod is firing twice

foggy cave
river oracle
#

1.7 is wild as fuck

river oracle
foggy cave
#

127.0.0.1

#

yep just got a notification my mainframe was hacked and the firewall was bypassed

#

what should i do

tardy delta
#

download more memory

pine crest
#

yea you should download the gpu accelerated memory miner

#

it solves everything

foggy cave
#

now it says this incident will be reported

#

wtf...

tardy delta
#

try using arch

foggy cave
#

got banned from arch

#

debian is the way to go

stuck oar
#

what is an eular angle

foggy cave
#

angle of e

stuck oar
#

do i just put a number

#

or

foggy cave
#

yeah

stuck oar
#

thanks

foggy cave
#

eulers number

#

2.1

#

not just any number

#

sorry if i wasnt clear

#

eular angles are like 3 angles so you can know the orientation of something in 3d space

#

iirc

lost matrix
#

Just to be clear, euler angles are simply representations of rotations in 3D space. They have no correlation to the euler number.

foggy cave
#

yeah sorry for the minor troll @stuck oar

stuck oar
#

no worries

#

thank yu

blazing ocean
quaint mantle
onyx fjord
#

tabcompleter does the thing where it removes non matching text from complete right?

#

usually it did that but currently it doesnt seem to

#

is it because my list isnt mutable?

#

lets say you have a list of "test", "somevalue" and you start typing "t"
it should show "test" as suggestion

tardy delta
#

using StringUtil.copyPartialMatches?

#

@onyx fjord

buoyant viper
#

hey guys how do i make a sphere

worthy yarrow
#

I would assume using math :p

onyx fjord
#

yea the method fourteen suggested pretty much does that

past kiln
#

Any interested in a job? I need like 80 lines of skript turned into a plugin. should be pretty straightfoward

onyx fjord
past kiln
buoyant viper
pine crest
#

spherical coordinates be looking hot

mighty rivet
#

is anyone familiar with dynmap?

buoyant viper
# buoyant viper :(

i got a dumb idea on how to make a sphere that i cant wait to try when i get home

wintry dagger
#

why cant my intellij find Material class

#

im losing my mind

rough hinge
#

help

wintry dagger
#

Cannot resolve symbol 'PersistentDataType'

rough hinge
#

not finding bukkit api

wintry dagger
#

<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>

<dependencies>
    <dependency>
        <groupId>org.spigotmc</groupId>
        <artifactId>spigot-api</artifactId>
        <version>1.21.1-R0.1-SNAPSHOT</version>
        <scope>provided</scope>
    </dependency>

</dependencies>

#

what am i doing wrong lol.

rough hinge
#

try install buildtools

olive lance
#

can you have 2 eventhandlers for the same event?

onyx fjord
#

how would i go about filtering only Materials that are Ageable

olive lance
#

perfect ty

rough hinge
young knoll
olive lance
wintry dagger
rough hinge
rough hinge
#

sorry

#

error very weird wtf

empty comet
#

Hi, i'm getting a ClassNotFoundException and NoClassDefFoundError on class that i coded and are IN the plugin, they are not a dependency

Caused by: java.lang.NoClassDefFoundError: fr/vlxproject/primehardcore/utils/permUtils
    at fr.vlxproject.primehardcore.utils.itemUtils.aliensItems(itemUtils.java:1405) ~[PrimeHardcore-1.0-SNAPSHOT.jar:?]
    at fr.vlxproject.primehardcore.utils.guiUtils.AliensGui(guiUtils.java:183) ~[PrimeHardcore-1.0-SNAPSHOT.jar:?]
    at fr.vlxproject.primehardcore.PrimeHardcoreCommand.onCommand(PrimeHardcoreCommand.java:42) ~[PrimeHardcore-1.0-SNAPSHOT.jar:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
    ... 39 more
Caused by: java.lang.ClassNotFoundException: fr.vlxproject.primehardcore.utils.permUtils
    at fr.vlxproject.primehardcore.utils.itemUtils.aliensItems(itemUtils.java:1405) ~[PrimeHardcore-1.0-SNAPSHOT.jar:?]
    at fr.vlxproject.primehardcore.utils.guiUtils.AliensGui(guiUtils.java:183) ~[PrimeHardcore-1.0-SNAPSHOT.jar:?]
    at fr.vlxproject.primehardcore.PrimeHardcoreCommand.onCommand(PrimeHardcoreCommand.java:42) ~[PrimeHardcore-1.0-SNAPSHOT.jar:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
    ... 39 more```
#

oops, didn't meant to hit send already, so, it's IN the jar and everything, but when i load the server, sometimes some class doesn't load, it seems random, it's never the same, any idea what could happen?

rough hinge
#

not have depend on server

onyx fjord
#
Arrays.stream(Material.values())
                            .filter((material) -> material.createBlockData() instanceof Ageable)

seems to have something to do with thr filter line

crystal flax
#
java.lang.IllegalStateException: Cancelled ServerConnectEvent with no server or disconnect.
    at net.md_5.bungee.UserConnection.connect(UserConnection.java:320)
    at net.md_5.bungee.UserConnection.connect(UserConnection.java:301)
    at net.md_5.bungee.connection.InitialHandler$7.done(InitialHandler.java:689)
    at net.md_5.bungee.connection.InitialHandler$7.done(InitialHandler.java:679)
    at net.md_5.bungee.api.event.AsyncEvent.postCall(AsyncEvent.java:40)
    at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:414)
    at net.md_5.bungee.connection.InitialHandler.finish2(InitialHandler.java:694)
    at net.md_5.bungee.connection.InitialHandler.access$1300(InitialHandler.java:81)
    at net.md_5.bungee.connection.InitialHandler$6$1.run(InitialHandler.java:644)
    at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:405)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at java.base/java.lang.Thread.run(Thread.java:840)
``` Hi, I need some help?
viscid carbon
#

@crystal flax what are you trying to do?

near mason
# buoyant viper :(

check if the distance between the block and the center of the sphere is smalelr than the radius of the circle

#

if it is smaller place the block

#

oh i forgot

crystal flax
#

I have only made /clear on a server

viscid carbon
#

Okay, what does /clear do? and we need some code.

near mason
crystal flax
rough hinge
#

inventorycloseevent on spigot 1.8 is sync?

lost matrix
viscid carbon
#

So are you developing or this just came up?

crystal flax
vast ledge
vast ledge
rough hinge
rough hinge
#

then same thing

viscid carbon
#

The only information you're giving us is an error that points to nothing. we need information to help.

vast ledge
#

No it isnt

lost matrix
rough hinge
#

on spigot

blazing ocean
rough hinge
#

then yes

blazing ocean
#

java 22 with 1.8 is not normal nor the same

rough hinge
#

leave the chat

crystal flax
#

this is from spigot server you can use /minecraft:clear

vast ledge
#

A fork of spigot isnt the same as spigot

blazing ocean
#

so go to their support already

rough hinge
#

pls

#

what the problem

blazing ocean
rough hinge
#

on java 22

#

LOL

#

ahahahha

onyx fjord
rough hinge
#

NOW THE CRASH IS CAUSED BY JAVA 22

#

:CLOWN:

#

my qi is desincreasing

vast ledge
blazing ocean
#

my iq is decreasing by talking to you

vast ledge
#

Thats the second line

#

learn to read

rough hinge
viscid carbon
vast ledge
blazing ocean
rough hinge
#

now stop the thread

#

is pandaspigot problem?

blazing ocean
#

no

rough hinge
#

bro 🀑

vast ledge
#

Wia

#

wait

blazing ocean
#

what is bro saying

vast ledge
#

I cant say the r word

#

tf

blazing ocean
#

πŸ’€

vast ledge
#

"java.base@22.0.1"

blazing ocean
vast ledge
#

Sir

#

you're trying to run 1.8

crystal flax
#

THIS IS a BUNGEECOrd error because no error is output in the spigot logs, only in bungee record logs

rough hinge
#

brother

#

pandaspigot

#

support

#

java 22

blazing ocean
#

and we are not pandaspigot

vast ledge
#

tf is panda spigot even

blazing ocean
#

idk something something modern 1.8

rough hinge
blazing ocean
#

something something no updating

vast ledge
#

NOT Panda Spigot

blazing ocean
vast ledge
#

i swear

#

on god

blazing ocean
#

spigot is not paper

rough hinge
blazing ocean
#

spigot is not purpur

#

spigot is spigot

rough hinge
#

NOW U ARE PAID

onyx fjord
#

yea guys it seems like Material#createBlockData isnt in fact always NotNull as the annotation suggests

rough hinge
#

TO BE

#

SPIGOT SUPPORT?

blazing ocean
#

i'm sure @ivory sleet agrees with you

vast ledge
#

this dude thinks panda spigot is an abstract class, that is inherited by panda spigot and therefor is the same

young knoll
#

Wait we’re getting paid?

vast ledge
#

xD

young knoll
#

Hell yeah when do I get my check

rough hinge
vast ledge
#

I want one to

viscid carbon
rough hinge
#

only the rad

#

he is special

blazing ocean
young knoll
#

wtf @blazing ocean why do you get paid :(

blazing ocean
#

cus i'm better :)

young knoll
#

I’m going to write a strongly worded letter to md_5

onyx fjord
#

could u guys stop arguing with that person and help me instead

lost matrix
# rough hinge SPIGOT SUPPORT?

Again: Support for 1.8 was dropped almost half a decade ago. You can simply not expect any help for a version that is severely outdated and only used by a handful of players.

vast ledge
#

Are you paying?

young knoll
young knoll
#

Should probably do that

#

Material#isBlock

onyx fjord
#

but then Material#createBlockData should not be @NotNull

ivory sleet
onyx fjord
#

that implies all enum values give a non null output

blazing ocean
viscid carbon
#
for (Person p : Spigot.getHelpers()) {
p.givePaycheck(p);
p.sendMessage("YOU'VE BEEN PAID $0.00");
}```
crystal flax
# young knoll I’m going to write a strongly worded letter to <:md_5:728421309394059265>

xD can you help me ```00:37:35 [WARNUNG] A task raised an exception. Task: net.md_5.bungee.connection.InitialHandler$6$1@1ba5363a
java.lang.IllegalStateException: Cancelled ServerConnectEvent with no server or disconnect.
at net.md_5.bungee.UserConnection.connect(UserConnection.java:320)
at net.md_5.bungee.UserConnection.connect(UserConnection.java:301)
at net.md_5.bungee.connection.InitialHandler$7.done(InitialHandler.java:689)
at net.md_5.bungee.connection.InitialHandler$7.done(InitialHandler.java:679)
at net.md_5.bungee.api.event.AsyncEvent.postCall(AsyncEvent.java:40)
at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:414)
at net.md_5.bungee.connection.InitialHandler.finish2(InitialHandler.java:694)
at net.md_5.bungee.connection.InitialHandler.access$1300(InitialHandler.java:81)
at net.md_5.bungee.connection.InitialHandler$6$1.run(InitialHandler.java:644)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:405)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:840)

lost matrix
# rough hinge SPIGOT SUPPORT?

That being said: Im suspecting that you are closing an inventory in the player chat event, or opening an Inventory in the InventoryCloseEvent.
Either way we would need code for making any helpful statements about that.

onyx fjord
#

i'd appreciate if you guys could look into that and open a PR if its actually not supposed to be like that

#

πŸ‘‰ πŸ‘ˆ

pine crest
#

i might be him

#

how do you know

blazing ocean
#

yo waht πŸ’€

vast ledge
#

Bro tf is that name

#

You need help

pine crest
#

dw lil bro

#

i made it 4 years ago

vast ledge
#

Hell nah "lil bro"

pine crest
#

on skibidi

empty comet
vast ledge
pine crest
vast ledge
#

"lil bro"

#

πŸ’€

vast ledge
pine crest
#

well anyhow im dipping

young knoll
humble tulip
#

Hey I'm having a bit of a design issue atm. This is what I have so far.

public interface ShopItem extends Named {

    /**
     *
     * @return The shop within which this item is being sold.
     */
    @NotNull Shop getShop();

    /**
     *
     * @return The price required for a player to purchase this item. Returns null if the item is not buyable.
     */
    @Nullable Price getBuyPrice();

    /**
     *
     * @return The payout given to a player upon selling this item to a shop. Returns null if the item is not sellable.
     */
    @Nullable Price getSellPrice();

    /**
     *
     * @return Whether this item is free for a player to buy.
     */
    default boolean isFree() {
        if (getBuyPrice() == null)
            return false;

        return getBuyPrice().isFree();
    }
}

What I'd like to have is a way for different types of shop items to be made. The standard shop items are going to be itemstacks and executable commands. i'd also like there to be a way for future devs to create shop items. maybe a shop item that buys you some points or a custom plugin item.

empty comet
vast ledge
#

Can you show your pom.xml

#

and unlike our nice @humble tulip here use ?paste

#

?paste

undone axleBOT
onyx fjord
humble tulip
empty comet
#

sure, dw wasn't gonna send hundreds of code to discord lmao

onyx fjord
#

both 1.19.4 and 1.21 api had the same issue btw

young knoll
#

It used to throw an exception until someone (me) broke it

humble tulip
#

his pom.xml isnt gonna fit in a code block

echo basalt
#

Price should have a currency which can be items, vault etc

empty comet
#

it does have dependency, but i disable the plugin at startup if either isn't working, so it's not that.

humble tulip
vast ledge
echo basalt
empty comet
humble tulip
echo basalt
#

πŸ€”

#

Not a fan of that either

vast ledge
humble tulip
#

Easier to hook with

vast ledge
#

Once in Price and once in shop

echo basalt
#

I'd probably make a "PriceEntry" data class and have a list of entries

humble tulip
#

can we use thread?

humble tulip
echo basalt
#

Not exactly

#

Price in your case is a weird list of entries

#

but probably uses a map in its impl

humble tulip
#

it does

vast ledge
echo basalt
#

In short getCost(Currency) should be reworked into a "can afford" / get costs

#

It works fine as-is but it's a bit wonky

humble tulip
#

oh i see

#

good idea

empty comet
#

i'm starting to think it's not my fault and it's spigot / paperspigot bug 🧐

humble tulip
#
    boolean isAffordable(Player player, Currency currency);
    
    default boolean isAffordable(Player player) {
        for (Currency currency : getCurrencies()) {
            if (!isAffordable(player, currency))
                return false;
        }
        
        return true;
    }
#

added these to price @echo basalt

#

Also, I don't understand why ShopItem and Shop should be decoupled

humble tulip
dawn flower
#

also ignore the unused String innerStart, String innerEnd, String outer parameters, i forgot to add the code where i used them in the paste

pine crest
#

benchmarks...

dawn flower
dawn flower
humble tulip
dawn flower
#

no

#

but that reduces the amount of lines and makes it more readable

humble tulip
#

Uhhhhhh

#

More readable

#

It's like 5 lines

dawn flower
#

i mean

ivory sleet
#

Streams are really slow tho

#

like there’s so many objects that are allocated under the hood when using streams

dawn flower
olive lance
#

whats the best way to perform a task when a player enters a bounding box? Do i just need to check every movement or is there a better way

ivory sleet
dawn flower
#

oh

#

then use the loop ig

ivory sleet
#

I mean there’s some work w invokedynamic which is fast

#

Compared to loops yea

humble tulip
#

Lmaooo

dawn flower
#

same 😭

ivory sleet
#

Eh its fine if u dont need super performant code

#

on startup

#

Or other occasional tasks

#

Yea, I mean that’s always an option

dawn flower
#

how slower are they compared to loops?

#

2x, 3x or what

#

parse placeholders

#

(including nested)

#

no

#

similar to papi

ivory sleet
dawn flower
#

oof

humble tulip
#

Why would plqceholders be nested?

ivory sleet
#

mind u they also consume more space

dawn flower
# humble tulip Why would plqceholders be nested?

it's hard to explain, it's for a yaml-based language where you have a set amount of actions and placeholders and sections
if you want to for example calculate the player's damage multiplied by 2, without nested placeholders it would be almost impossible since arithmetic is a placeholder

so you would do something like this
%math:*player.damage& * 2%
inner placeholders start with * and end with &

humble tulip
#

Ohh

#

Why nit build them into objects

#

So you parse once

dawn flower
#

?

humble tulip
#

And just run code afterwards

dawn flower
#

wdym build them into objects

#

tokenize them?

humble tulip
#

I lied

dawn flower
#

damn

humble tulip
#

Idk what tokenize means

dawn flower
#

for example %player_health% would output the player's health, it's good because most plugins support it

humble tulip
#

Wait let me check something

dawn flower
#

k

lost matrix
dawn flower
#

i could design my own parser, but i will do that later on

#

actually now that i think about it

lost matrix
#

What do you even mean by "inner placeholder"
Explain that concept

dawn flower
#

no placeholder will be only numbers

ivory sleet
#

Nested placeholder i think they mean

lost matrix
#

I dont see how that makes sense. Semantically i mean.

dawn flower
humble tulip
#

Is this for placeholderapi?

dawn flower
#

no

humble tulip
#

Like some addon?

dawn flower
#

no

humble tulip
#

Ah

lost matrix
#

Alright but evaluating an expression is not a placeholders responsibility.

#

You can think about a placeholders as a commands with arguments. You have a start and an end for your placeholder, and arguments separated by another symbol.
For example:
#player_target;block#
The first parameter is your key, the second is an argument for that type.

dawn flower
slender elbow
#

crunch is epic

#

speed

dawn flower
#

for example if there's a placeholder that gets the target location x blocks infront of the player

#

you might want to put another placeholder as x

lost matrix
#

Yeah crunch is coolio.
But the problem here is that placeholders are being used like some uber expression.
Might as well write a scripting language and linter for it.

lost matrix
worthy yarrow
#

Bro who is that ola guy lmao

dawn flower
#

if there is a placeholder called %get-target (amount)% and you want to put (amount) as another placeholder, for example the player's health. without a way to input placeholders inside of another placeholders you won't be able to do that

#

unless i do something like String.format
%get-target $1% using %player.health%

rigid loom
#

https://paste.md-5.net/edehexixol.cs
i have 2 instances of minecraft running so i can test that code is compatible across multiple accounts. This code executes as expected on one, but on the other, it only displays line 165.

lost matrix
rough hinge
#

        byte data = this.getData();
        if (isOpen) {
            data = (byte)(data | 4);
        } else {
            data &= -5;
        }

        this.setData(data);
    }

 public void setOpen(boolean isOpen) {
        this.setData((byte)(isOpen ? this.getData() | 4 : this.getData() & -5));
    }```


this methods are equals?
dawn flower
#

format ur thing

lost matrix
#

?codeblock

undone axleBOT
#

You can use the discord code block format to display code or just text in a more pleasing way:
```java
public class MyPlugin extends JavaPlugin {
@Override
public void onEnable() {

}

}```
Becomes:

public class MyPlugin extends JavaPlugin {
    @Override
    public void onEnable() {

    }
}```
slender elbow
#

just compile java at runtime zzz

rough hinge
#

ok thanks

rigid loom
lost matrix
lost matrix
#

Just pls keep it like a strict parameter evaluation. No additional symbols or arithmetic expressions. Otherwise youll have to tokenize everything.

#

2 symbols for start/end
1 symbol for splitting into parameters

lost matrix
humble tulip
#

ooo

#

i guess i can add an amount as well to those methods

lost matrix
#

Sure

humble tulip
#

what about for buying from the player?

#

same thing?

viscid carbon
#

should i have a class that registers listeners/commands or just do it in onEnable?

#
    public void load() {
        Core.getInstance().getServer().getPluginManager().registerEvents(new UserDataListener(), Core.getInstance());
    }```
What i mean
humble tulip
lost matrix
humble tulip
#

just do it onenable

viscid carbon
#

theres going to be a lot

rigid loom
#

Code runs as expected on one account, but not another when hosting 2 instances at one time

rough hinge
#

@EventHandler(priority = EventPriority.HIGH)
public void onInventoryClick(InventoryClickEvent event) {

    if (!(event.getWhoClicked() instanceof Player player)) {
        return;
    }
#

i need check?

lost matrix
worthy yarrow
#

What case would a non player click an inventory

slender elbow
#

Player is the only HumanEntity type

lost matrix
#

Watch me implement the HumanEntity interface for my NPCs and let them click inventories

slender elbow
#

HumanEntity shouldn't even exist, it's just an API artifact from how Mojang organises their client vs server code

humble tulip
#

lmfao

rough ibex
#

πŸ‘½Entity

slender elbow
#

it's meant to mirror nms Player (and API Player mirrors ServerPlayer)
the only other subtype for Player is ClientPlayer.. in the client, not the server lol

dawn flower
slender elbow
#

definitely use separate delimiters for start-end

dawn flower
#

is < a special character in yaml

lost matrix
slender elbow
#

you couldn't tell otherwise whether the token is meant to be the beginning of one or the end of the current one

dawn flower
#

im just gonna change all of them to start with < and end with >

lost matrix
#

You could with semantic analysis if he has a parameter separator

#

#key.parameter.#key.param##

slender elbow
#

gross

lost matrix
#

Yes totally

rough hinge
#

public boolean isOpen() {
return (this.getData() & 4) == 4;
} this works on top block on door?

#

or only on bottom block?

blazing ocean
#

int block datas concern

dawn flower
#

doesn't door blockdata implement openable? and openable has isOpen

#

or something like that

young knoll
#

Not in 1.8

dawn flower
#

ah

#

i mean if the top is open on a door then the bottom is open as well, unless u did some πŸͺ² to do it

worldly ingot
#

Should never assume

dawn flower
#

you can test it by opening the bottom only and checking what it returns

rough hinge
#

If in inventoryclick the player clicks on the topInventory inv, will topinventory.getcontents return the updated items?

@EventHandler(priority = EventPriority.HIGH)
    public void onInventoryClick(InventoryClickEvent event) {

        Player player = (Player) event.getWhoClicked();
        Inventory inventory = player.getOpenInventory().getTopInventory();

        System.out.println("antes");

        if (!inventory.getName().equals("Backpack")) {
            System.out.println("TOMAA" + inventory.getName());
            return;
        }

        System.out.println("depois");

        Backpack backpack = plugin.getBackpackService().get(player.getName());
        updateBackpack(backpack, inventory);

    }```
dawn flower
#

no

#

there are very high risk ways like waiting a tick (pls dont) or updating the backpack when you close the gui (best way)

#

the 2nd way could prob cause a dupe if the server crashes and someone had the gui open, but u can fix that with afew stuff

#

is 90ms to parse 1000 placeholders with random depth upto 5 good?

worthy yarrow
#

Sounds fine to me

dawn flower
#

ok

rough ibex
#

players can rename inventories

dawn flower
halcyon hemlock
#

who tryna beat my nbt serializer

sly topaz
#

I'm surprised anyone is making backpack plugins still since shulker boxes are a thing

crisp sleet
#

I'm getting an error every time and I've tired reinstalling everything needed ti run the build tools

vast ledge
wraith dragon
#

?paste

undone axleBOT
crisp sleet
sly topaz
wraith dragon
#

Hello, this is an update to the post I made yesterday about trying to make a drill plugin. End goal is to be able to adjust the width, height, and depth all through config, but I am still struggling to understand how all of this works. The code is found below:
https://paste.md-5.net/apibilubot.cs

this is the video example: https://streamable.com/ifed72

halcyon hemlock
sly topaz
#

oh I thought you were doing it in java, I've used criterion before, it is nice

halcyon hemlock
#

i quit java

#

i like the peaceful nature of java, but im making my minecraft server framework to beat spigotmc

#

you can actually do shit on other threads frfr

#

and no inheritence bs

#

made my own ecs along with it, and now my own nbt library too

#

its just a hobby project though, for fun

worthy yarrow
#

Sounds like you love putting yourself through unnecessary torture

halcyon hemlock
#

itll be impressive for my uni application innit

worthy yarrow
#

You supporting components?

halcyon hemlock
#

if i say i rebuilt minecraft's server from scratch, networking, storage, state, everything

halcyon hemlock
#

ecs components?

crisp sleet
worthy yarrow
#

Chat componentes and what not

#

Like in paper

halcyon hemlock
#

right now im in early stages :p

worthy yarrow
#

Spigot has zip support for components so

halcyon hemlock
#

gotta work on chunks and shit

sly topaz
#

Java is wayyy more capable in the concurrency scenario than Rust, but Rust avoids a lot of common gotchas that only now with Project Loom are coming to a light in Java

worthy yarrow
#

Unless you do support em, not impressive! :p

halcyon hemlock
#

what are chat components

crisp sleet
humble tulip
#

Can u send the code as well as the code u used to test it?

halcyon hemlock
humble tulip
#

I'd like to play around with it

halcyon hemlock
#

pretty sure you can find it on their website

dawn flower
#

k 1 sec

humble tulip
#

See if i can optimize it more

crisp sleet
halcyon hemlock
#

the process

sly topaz
#

90ms is a tick and some so ehh

halcyon hemlock
#

im not sure, i havent done a lot of spigot recently

#

90ms is long asf

#

fr

worthy yarrow
crisp sleet
halcyon hemlock
#

perhaps some else error

halcyon hemlock
#

cuz with rust you can pretty much do anything

#

you can write python inside of macros

#

or script

worthy yarrow
#

Ehm if you wanted to, you could look at minimessage's impl

humble tulip
sly topaz
#

I would not look at MM, it is very general purpose and not focused on its performance

crisp sleet
# halcyon hemlock

I've also turned off all firewall incase something was getting in the way nothing
I have a pretty aggressive firewall it doesn't like anything running unless I tell it, it's allowed then I have to micro manager every port/folder that a program want's to use if it didn't make those said files

sly topaz
#

it's good, but if you are trying to make something fast then it is not a good measure

humble tulip
halcyon hemlock
halcyon hemlock
#

im tryna make it fast & mem efficient

halcyon hemlock
#

version 1.21.1

#

?

sly topaz
#

making something memory efficient most of the times makes it fast, it is all about getting the best cache locality

halcyon hemlock
crisp sleet
halcyon hemlock
#

all the components are stored in a dense array

crisp sleet
#

Spigot doesn't provide a download link anymore

halcyon hemlock
crisp sleet
#

as per their wiki says

crisp sleet
sly topaz
#

why not just, click the download button in the navbar

worthy yarrow
halcyon hemlock
worthy yarrow
#

I thought it's always been build tools

halcyon hemlock
#

πŸ’€

crisp sleet
#

but it was DMCAed

sly topaz
#

that was like, a thousand years ago

crisp sleet
#

by the craftbukkit guy

crisp sleet
halcyon hemlock
#

who made bukkit

crisp sleet
halcyon hemlock
#

dmcaing spigot is crazy

sly topaz
#

some guy named Wolf something if I remember correctly and some other guy

halcyon hemlock
#

dont y'all give credits or some shit

crisp sleet
worthy yarrow
#

dinnerbone was involved wasn't he?

halcyon hemlock
#

btw can minecraft sue me for making a minecraft server framework similar to theirs

sly topaz
halcyon hemlock
#

not code-wise

crisp sleet
#

crap

#

I can't post a screenshot here

sly topaz
#

yes he was involved code-wise, you can see a lot of his commits in the Spigot repo

crisp sleet
#

uhhh

#

where/how can I share a screenshot here?

worthy yarrow
#

?img

undone axleBOT
#

Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.

Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org

crisp sleet
worthy yarrow
#

sure!

sullen wharf
#

Is there anyway to disable vex block phasing mechanic?

sly topaz
#

jesus, spigot should fix their embeds lol

crisp sleet
#

also how did you remove it?

sly topaz
#

put the link between <>

crisp sleet
#

just hit the X button?

worthy yarrow
#

theres an x you can click

crisp sleet
crisp sleet
worthy yarrow
#

everyone

crisp sleet
worthy yarrow
#

Unless I guess if you're on a modified client but uh

#

idk why you'd implement that

sly topaz
#

same reason people implement custom whatsapp clients which save the deleted messages

#

people are curious

dawn flower
sly topaz
#

benchmarking 101

dawn flower
#

real

worthy yarrow
#

You'd implement a system that doesnt remove the embed when someone wants it removed?

crisp sleet
worthy yarrow
#

I mean the link is still there kek

crisp sleet
#

what was sent can never be unsent

#

I see everything

#

lmao

crisp sleet
ivory sleet
#

What exactly are you trying to do? Just run latest BT?

crisp sleet
#

it won't even build 1.21 spigot

ivory sleet
#

which java version?

crisp sleet
ivory sleet
#

Java

#

Not minecraft

crisp sleet
#

yep

ivory sleet
#

Also u got any error logs?

crisp sleet
#

these are my two versions

wraith dragon
crisp sleet
#

I just installed the top one which is version 22

ivory sleet
#

And still didnt work?

crisp sleet
#

and 1.20.4 won't build either

ivory sleet
ivory sleet
wraith dragon
#

basically allow the user to set their own offsets

#

but uh im struggling with making it work

crisp sleet
# ivory sleet This is odd

error code when trying to build 1.20.4

15286140 [main] bash 61 dofork: child -1 - forked process 22608 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
applyPatches.sh: fork: Resource temporarily unavailable
Error compiling Spigot. Please check the wiki for FAQs.
If this does not resolve your issue then please pastebin the entire BuildTools.log.txt file when seeking support.
java.lang.RuntimeException: Error running command, return status !=0: [C:\Windows\system32\cmd.exe, /D, /C, sh, applyPatches.sh]
at org.spigotmc.builder.Builder.runProcess0(Builder.java:1042)
at org.spigotmc.builder.Builder.runProcess(Builder.java:967)
at org.spigotmc.builder.Builder.startBuilder(Builder.java:679)
at org.spigotmc.builder.Bootstrap.main(Bootstrap.java:60)

#

same errors

#

it always fails no matter the version after WorldAccess.java

#

@ivory sleet ?

ivory sleet
#

Im trying to read some bt code

crisp sleet
#

I have no idea where to find 1.21.1 spigot build for the time being

ivory sleet
#

running it myself

#

rn

dawn flower
#

how would i check if a string is a valid crunch expression

ivory sleet
#

ExpressionCompilationException

#

iirc

dawn flower
#

k

#

can u evaluate a crunch expression into a bigdecimal

ivory sleet
#

i think its only double right?

#

im not sure tho

dawn flower
#

yeah i think so

crisp sleet
dawn flower
#

i just realized something, how can Double divide by zero without any exceptions

#

oh wait dividing a double by zero just returns infinity

sly topaz
#

dividing a floating-point number by 0 in Java returns either positive, negative or NaN for 0 / 0

dawn flower
#

yeah, i thought it threw an exception for any division by zero

ivory sleet
#

i think its some issue with ASLR after browsing around

#

well its quite extremely unfortunate you out of all ran into this

crisp sleet
tawdry shoal
#

hi, how can you hide an item in a player's hands when he is invisible?

dawn flower
#

packets iirc or remove the player from other players

#

(hides from tab)

#

or send equipment change

sly topaz
dawn flower
#

not in python

sly topaz
#

well, low level languages anyway

slender elbow
#

dividing a non-zero by zero results in Β±inf as per IEEE 754

sly topaz
#

right, I didn't remember which IEEE standard it was

slender elbow
#

python just chose to not follow it lol

sly topaz
#

I mean, makes sense for python anyway since it is interpreted

#

still kinda funny

crisp sleet
#

@ivory sleet yes it was ASLR

#

I disabled it

#

system wide

#

and it work

#

but after this I'm just gonna use a VM to do this

ivory sleet
#

😭

#

i feel bad for you

#

well u finally get ur spigot software now lol

crisp sleet
#

it's nice to know that you have to make your system more vulnerable to run a single program

ivory sleet
#

Hard to tell what exactly caused it to go off

crisp sleet
ivory sleet
#

Git? Or BuildTools?

ivory sleet
crisp sleet
#

and made sure it worked with this

#

time to reboot my pc again to turn it back on see you guys in 30-50 seconds

ivory sleet
#

Well proxies for one thing

#

Wouldnt be surprised if kubernetes/docker is used

sly topaz
#

more specifically, cygwin

wet breach
#

there is a variety of technologies that can be used

halcyon hemlock
#

what d'y'all think of this? made it myself

#

like the banner thing

wet breach
#

it really depends on ones expertise in the field really

#

for example most commonly believe you need bungee or something similar to proxy

#

but there is other kinds of proxying such TCP proxying

#

TCP proxying relies on no VM rather just networking hardware

#

which is more suited then some VM or dedi doing it

#

so if we move the proxying to the proper hardware of a switch and utilize vlans the sorts, you can simply setup VM's anywhere in world and make them all appear as if in the same network πŸ™‚

#

they appear in the same network because of vlan's and you can handle the proxying on the tcp protocol level

#

precisely its a man-in-the-middle

#

however given the updates to MC we technically don't need a proxy anymore though

#

depends on how you want to setup your network infrastructure or what is required

#

for example you may want load balancing since maybe too many players enjoy that game mode

#

not necessarily

#

but it could be part of it

#

basically you have load balancing for varying aspects, you can have load balancing due to resource restrictions on the Dedi

#

you can have network load balancing so you are not over saturating your bandwidth etc

crisp sleet
# sly topaz it is git though lol

yeah it only works with ASLR turned off system wide
@ivory sleet doesn't matter if I select every exe program that maybe used by/with BT

wet breach
#

Ideally you would limit the VM's resources otherwise you might as well just use the dedi itself lmao

sly topaz
crisp sleet
wet breach
#

so you would setup maybe 4-5 vm's on the dedi maybe more depending on hardware. Then you would assign that dedi to a load balancer, and you would have maybe 5-6 dedi's to a single load balancer maybe more, depends on your setup really but for sake of example we will go with this. Then in front of all your load balancers can be something like a proxy and all it needs to do is just over time pick a different balancer to send the connection to. This would be load balancing for the network, and then all the various VM's would be load balancing to ensure that to not be over whelmed as well as making sure there is enough open games

#

dedicated server

#

refers to the entire server box

crisp sleet
wet breach
#

simulate? possibly. VM's allow for such things

crisp sleet
#

op not anymore

#

now the server is crashing with version 1.21.1 spigot

wet breach
#

skill issue

#

linux is better suited but it doesn't mean using windows is impossible either

sly topaz
#

I mean, it is simply due to the amount of online resources you can find in self-hosting and whatnot in a linux environment

#

windows server solely depend on microsoft's personal tech support to know anything meaningful

#

it isn't impossible, but definitely not something I'd recommend to anyone

#

that is, for serious servers. For a friends server you can use whatever since that doesn't really require any advanced sysadmin management or knowledge in general

wet breach
#

and nor is it the reason why linux is better suited for VM's

#

however there is a type of VM that windows is more suited for that linux is not

#

when it comes to DE VM's windows wins

sly topaz
#

what does a DE have to do with a VM

wet breach
#

Desktop Environment

#

and plenty

sly topaz
#

I know what DE means, and no it doesn't mean anything

wet breach
#

why do you think thin clients can exist?

sly topaz
#

what is Windows Powershell smoking

#

I'd update to Powershell Core if I were you

crisp sleet
sly topaz
#

you can tell by the icon, PSC's icon is dark and WPS is blue

crisp sleet
#

gotta find the missing powershell

#

brb

sly topaz
#

anyway, try .\Add-Git-Exceptions.ps1 ""

#

@crisp sleet ^

wraith dragon
crisp sleet
crisp sleet
#

oh wait

#

I didn't know you could do that

crisp sleet
#

hated it again

#

more uptodate

sly topaz
#

of course, with the actual name

#

afterwards, execute .\Add... again

crisp sleet
#

are you able to VC to help me faster?

sly topaz
#

you are in the wrong folder

#

the file isn't there, probably in downloads

#

cd to it

crisp sleet
crisp sleet
sly topaz
#

I don't speak fluent english so I wouldn't be able to help in vc lol

#

rather, my accent just sucks

crisp sleet
#

same problem

#

I also ran Set-ExecutionPolicy Unrestricted

#

so it's unrestricted right now

#

it doesn't like it at all

sly topaz
#

do . .\Add...

worthy yarrow
crisp sleet
sly topaz
#

it is done now

wraith dragon
crisp sleet
#

it doesn't work

sly topaz
#

use build tools in the terminal instead of the GUI

#

java -jar BuildTools.jar --rev 1.21.1

#

you'll have to cd to the path that contains the BuildTools.jar, of course

sly topaz
#

did BuildTools generate a work folder or something?

crisp sleet
sly topaz
#

rather, just do ls or dir and send the output

crisp sleet
#

it's about 4 gigs

#

gimme a moemnt

sly topaz
crisp sleet
#

too late

#

gimme a moment

#

should only take a minute

sly topaz
#

well it doesn't matter, run BuildTools again and look for that file

crisp sleet
sly topaz
#

once you do that, open a git bash prompt (you can open one in the same terminal with the arrow function in the terminal tab)

#

cd to the folder where the applyPatches.sh is and do sh applyPatches.sh

crisp sleet
sly topaz
#

well, the file doesn't matter, I just wanna know what error it is throwing

crisp sleet
sly topaz
#

the terminal itself closes?

crisp sleet
#

it runs for a bit then closes

#

oh never mind I'm opening the SH file by itself

#

gimme a moment

#

I may have give you a heart attack

#

gimme a moment

#

sorry

sly topaz
#

also do git --version --build-options and send the output

wet breach
#

I recommend installing git for windows

#

and run buildtools using git bash

crisp sleet
sly topaz
#

wait what, that command does?

#

your git installation is borked if that's the case, reinstall it again

crisp sleet
olive lance
#

When will PlayerMoveEvent.getTo().getBlockX() be null?

crisp sleet
#

and it's already broken lovely

sly topaz
sly topaz
#

it is an int

olive lance
#

intellij is bugging then idk