#help-development

1 messages · Page 1435 of 1

sage swift
#

ohh

wraith rapids
#

read the dox

subtle vector
#

its player.getLocation() thingy

wraith rapids
#

yes, that returns a Location

sharp bough
#

what does the ? do

candid galleon
#

? is a ternary operator

#

it's basically a mini if statement

#

print(alive ? "You are alive" : "You are dead")

sharp bough
candid galleon
#

no, I mean ternary

muted idol
#

hey there so i just setup my redispubsub listener class and was wondering if there is any way that i could for example when 2 players are on server 1 run a public void on server 2?

candid galleon
#

you'd want to use Messaging Channels and Bungee Chili

sage swift
#

ternary means three (arguments)

#

it's like a little mini if statement

muted idol
sharp bough
candid galleon
#

correct, i guess sockets then would be an alternative

sage swift
#

if (first thing) then you use (second thing) otherwise (third thing)

#

you have to have both options

candid galleon
#

not exactly, ternary is only for assignment, not declaration

#

ie you can't do alive?alive() : dead()

sharp bough
#

oh

muted idol
sharp bough
#

its an if else

#

all together

sage swift
#

print(isTrue() ? "yes" : "no");

candid galleon
#

basically yes

#

but only for parameters

sharp bough
#

oh wow thats so nice

candid galleon
#

be weary though

#

it can get hard to read sometimes

sage swift
#

python's is fucking ugly

sharp bough
#

yea its not friendly

muted idol
candid galleon
#

return a == b ? a > b ? 1 : -1 : 0;

#

for example

sharp bough
#

lmao

candid galleon
#

would be a bit difficult to read

sage swift
#

you can nest em

#

a power to be wary of

candid galleon
#

very

sharp bough
#

but its worth it right

muted idol
#

so @candid galleon do you know how to work with jedis/redis?

sharp bough
#

once you learn how to read it

candid galleon
#

nope chili

muted idol
#

ah np man

#

ill try to get back to conslure

wraith rapids
#

you can do (alive) ? alive() : dead()

#

but both alive and dead must return something

sage swift
#

of the same type

#

unless you cast both to Object >:)

wraith rapids
#

that said it is still an operator so you need something for the value to end up in

sharp bough
#

im still trying to understand return a == b ? a > b ? 1 : -1 : 0;

#

lmao

#

it broke my mind

wraith rapids
#

it doesn't need to be assignment, though

#

it could be as input to a method as a parameter, or return, or switch, or whatever

sage swift
#

(a==b) ? (a > b ? 1 : -1) : (0)

#

one inside the other

wraith rapids
#
(a == b)
    ? (a > b)
        ? 1 
        : -1 
    : 0
#

indenting them helps

candid galleon
#

at that point though

#

just do if elses

sharp bough
#

lmao

wraith rapids
#

dunno, i think ternary is still cleaner in this particular case

#

if formatted legibly, anyway

candid galleon
#
if (a == b)
  return 0;
return a > b ? 1 : -1;
#

user preference ¯_(ツ)_/¯

wraith rapids
#

if (a == b) return 0; else if (a > b) return 1; else return -1;

candid galleon
#

so many elses

#

could get rid of them all couldn't you

wraith rapids
#

that's the if replacement for the ternary

#

1-1

candid galleon
#

who says it has to be 1:1

quaint mantle
wraith rapids
#

return Math.signum(a - b);

sage swift
#

ok but like does anyone know how to populate with loot and how to use LootContext

wraith rapids
#

yes

#

it involves having a fucking aneurysm

sage swift
wraith rapids
#

you need to use some builder somewhere to add the necessary elements to the context

#

and then use the context

#

and there is no fucking documentation on which ones are required for which kind of loot table

candid galleon
wraith rapids
#

you just have to go by trial and error until it doesn't explode with an illegible and impossible to decipher nms exception when trying to generate the loot

#

imagine if there was like API to programmaticly see which loot tables required which parameters

sage swift
#

i couldnt even get it to work lol

past glen
#

how would I go about making an item shoot a projectile? like if a stick shot fireballs, ik how to make the item do something when you click but I have no clue how to do projectiles

subtle vector
#

ok do u know the api on where to place a certain block in x,7,z location

past glen
#

nope

wraith rapids
#

new Location().getBlock().setType()

subtle vector
#

thx

wraith rapids
#

read the documentation in the future

subtle vector
wraith rapids
#

i'm not going to answer your every "how to do very simple thing" and "what does this method do" question

#

nor is anyone else

subtle vector
wraith rapids
#

yes, the spigot api documentation

#

there is also a forum with like a million beginner questions one search away

subtle vector
past glen
#

anyon know how to do projectiles?

wraith rapids
#

LivingEntity or something has a shootArrow or shootProjectile method, or something

#

ProjectileSource::launchProjectile

wispy fossil
upper vale
#

does anyone know the height at which a player's head starts

#

when they're standing normally

young knoll
#

Player.getEyeLocation?

upper vale
#

i think thats like the center of their head

quaint mantle
#

How do i get the directory with server.jar? I want to create a .yml there

young knoll
#

I mean you should probably keep files in your plugins own folder

#

But Bukkit.getWorldContainer.getParent should work

quaint mantle
#

ok thanks and this is just something for me im going to end up removing it

#

i just wanted to test something

wraith rapids
#

there is no guarantee that the world container is in the server directory

#

the user can set an arbitrary world container

#

there is no guarantee that the plugins directory is in the server directory, either

#

nor is there any guarantee that even the server jar is in the server directory

woeful moon
#

Hello, does anyone know how to send blank lines in chat? Couldn't find anything online sadly

young knoll
#

player.sendMessage(“ “)?

quaint mantle
#

player.sendMessage(null);

#

or ""

#

doesnt really matter

woeful moon
#

I'll try that, thanks

#

Yep, that worked

#

👍 thanks!

muted idol
#

hey there so recently i have been working on remastering my manhunt plugin. right now im working with jedis and i have just set it up. Right now i have a JedisListener class which extends JedisPubSub. The thing i want to do is for example when a player comes into server 1 it starts to run a public void on server 2. Im assuming i have to connect to server 2 using PubSub and then be able to send requests or run public void's on server 2 while the player is on server 1

dusk flicker
#

I think you are asking what you would do, if so you would send a string through publish and pick it up via sub and then once its picked up on the sub you would run the method with whatever data you provided over the pub

torn shuttle
#

anyone happen to remember off the top of their heads what's the best way of listening to when a block goes from a falling block to a solid block so I can prevent it from getting placed?

young knoll
#

The event

#

EntityChangedBlock event iirc

torn shuttle
#

that would be the only one?

amber basin
#

I don't know what channel to ask this in; is there a way to display color formats in the chat without the color format displaying? (sorry if that's hard to understand)

torn shuttle
#

thanks

young knoll
#

You can display stuff such as &6 normally

#

Not sure if it’s possible to display the colour character directly

#

Maybe you can escape it somehow

amber basin
young knoll
#

Just don’t run it through translateAlternateColorCodes

amber basin
#

Oh.. I am talking in the actual chat.

dusk flicker
#

Like you want to say &6Hi and in chat it will show Orange Hi?

amber basin
#

I just want the &6 to show no color.

dusk flicker
#

oh

young knoll
#

Then like I said

dusk flicker
#

Im confused

amber basin
#

Yeah I saw.

young knoll
#

Just send it directly without translating

amber basin
#

Sorry for the confusion.

dusk flicker
#

If it is showing and you dont want color you may need to strip the color from it

young knoll
#

player.sendMessage(“&6”) should stay as is

#

Unless another plugin is messing with it

dusk flicker
#

A lot of shitty chat plugins dont have stuff like that in lol

#

I always throw a ChatColor.stripColor in my chat method just for safety

topaz cape
#

im really trying to find out if a player is NOT in a specific schematic

#

i just don't know how to do it

#

i have 0 ideas/clues

young knoll
#

Do you have the coordinates of 2 corners

topaz cape
young knoll
#

Just invert a check if they are inside it

topaz cape
#

thats the issue

young knoll
#

Coordinates below the lowest x/y/z or above the highest

#

You can easily determine which is which using math.min and math.max

topaz cape
#

i'm still thinking of it 0_0

#

x&y dont depend or above or lower? right?

#

wait no im stupid

split panther
#

Y is height for mc

topaz cape
#

i know

rugged topaz
#

what's an optimized way to temporary grant something? such as a custom database variable, and then revoke that a month later or sum

#

only thing that hits my mind is a scheduler checking status of sum every so often

#

but what if i need it to expire at an exact moment

orchid yacht
#

Anyone here looking to be a dev I need one ASAP dm me for more info for spigot btw

young knoll
#

?services

queen dragonBOT
orchid yacht
#

K

young knoll
#

You could be able to check it fairly frequently async and then sync back to the main thread to do the actual removal

rugged topaz
#

hm

#

how do i transition between async to sync

#

o

#

call a method w a runTaskLater in it

young knoll
#

Mhm

#

Or just runTask

sage swift
#

have you guys ever seen ItemMeta null

#

there's a first time for everything

#

line 53 PersistentDataContainer itemPDC = evt.getItemInHand().getItemMeta().getPersistentDataContainer();

#

only nullable thing is getItemMeta

young knoll
#

Air

sage swift
#

that's what happens when you mess with nms

young knoll
#

Air returns null for item meta

unreal finch
#

Would anyone know how to remove the glow/glint from items without removing the actual enchantment? I understand I'll need to use NMS or Protocolib but I'm having trouble figuring out how to approach this.

hoary tiger
#

Is there a way to change a mob enough so that the player doesn't notice it but i can register the mob as a diffrent mob?

#

for example an nbt tag or something

unreal finch
eternal oxide
#

um, it shoudl also hide the glow

#

Seems I'm wrong, its a client side glow.

sage swift
#

you'd probably have to intercept the packets and remove the outgoing enchantments

young knoll
#

Yep

#

And you could add them to the lore I guess

pearl hollow
#

Quick question: how do I get the brewer for BrewEvent

young knoll
#

Short answer: you don’t

#

Long answer: store the last player to interact with the brewing stand in a map or something

eternal oxide
#

You could always see who takes the items from teh brewing stand

young knoll
#

That works too

#

Unless you are using hoppers

#

Also you need to consider they can put them back in again

hoary tiger
#

Is there a way i can make a costom mob the exact same in the out side but diffrenciatabe in the code?

young knoll
#

Yes

#

If you want simple stuff you can assign a PDC value to it and read that in events and whatnot

#

If you want something more complex you can make a custom entity with NMS

hoary tiger
#

ok Thanks I'll look in to that

sage swift
#

why tf is rayTraceBlocks nullable

#

in what case could it be null

eternal oxide
#

The javadocs tells you

sage swift
#

and why is it null when im looking straight at the ground

#

perhaps the most important question

eternal oxide
#

what distance did you set?

sage swift
#

5

eternal oxide
#

so, are you looking at a block within 5 range?

sage swift
#

yep

#

seems to be working now

#

i only raytrace in interact event with block

#

so it shoulddd be in range

young knoll
#

You raytrace the block you click on?

sage swift
#

yep

#

not sure why it showed null, seems fine now

eternal oxide
#

is there some odd reason you need to raytrace to a block you already have from the interact event?

sage swift
#

exact location

#

need getHitPosition

eternal oxide
#

ah

sage swift
#

although i just realized paper has getInteractionPoint

#

so i feel silly

young knoll
#

I’ve never used that

#

Wonder what could be done with it

sage swift
#

im doing some wacky nms shit

#

and regretting it currently

opal juniper
sage swift
#

bro you dont understand

#
        new PlayerInteractManager(world).a(player, world, nmsBlock, hand, 
                MovingObjectPositionBlock.a(new Vec3D(player.locX(), player.getHeadY(), player.locZ()), EnumDirection.valueOf(evt.getBlockFace().toString()),
                        new BlockPosition(location.getX(), location.getY(), location.getZ())));```
#

and best of all it makes the item in hand disappear for some reason

young knoll
#

What’s the goal

sage swift
#

place a block

#

as a player

#

it works in creative since the item doesnt get used up

#

but in survival the original item disappears

#

it all works, except for that

#

yep... even when i cancel the build event, the interacting removes the item

#

hmmm

#

outsmart life

eternal oxide
#

that seems crazy to use NMS just to place a block

#

I'm not exactly sure what you are trying to achieve

#

placing a block at distance?

sage swift
#

place a block naturally

#

how would you do it

eternal oxide
#

Funny you shoudl say that...

sage swift
#

let me show you what it's for

eternal oxide
#

?paste

queen dragonBOT
eternal oxide
summer scroll
#

Does saving a value in a static fields count as static abuse?

eternal oxide
#

hold a stick in hand and you can place blocks at range.

summer scroll
#

Basically I want to save a value from config

sage swift
#

nah i have a Config class and all the values are static

eternal oxide
#

Its just a demo class. I think right click to place dirt

eternal oxide
#

The place is just the last method in teh class

sage swift
#

sure thats fine

summer scroll
#

aight, thanks

sage swift
#

in fact, redlib provides some methods to make that easier

summer scroll
#

mainly I use enums, but you can only put one type i guess

sage swift
#

then i can have java @ConfigValue("rarities") public static Map<CustomEnchant, Double> rarities = ConfigManager.map(CustomEnchant.class, Double.class);

#

really nice

summer scroll
#

yea that's kinda cool

sage swift
#

like seeds on farmland

eternal oxide
#

teh code above raytraces to find the last air block

young knoll
#

Placing blocks from a shulker box

#

Neat idea

#

I suppose you could use the NMS method for said block to see if it can go there

sage swift
young knoll
#

No idea what it’s called on spigot

young knoll
#

But that method looks reasonably clean

#

An API for placing and breaking blocks would be nice

sage swift
eternal oxide
#

not needed, you only need the BlockFace from the Interact event

sage swift
young knoll
#

Indeed

#

As would breaking

sage swift
#

not exactly elgar

eternal oxide
#

or at range, as I said the target method

young knoll
#

Thankfully the breaking method is just one simple NMS call

eternal oxide
#

The code I showed is just a demo, but you could easily expand it to allow you to place a block at any distance. And it allows other plugins to cancel the placement

sage swift
#

but does it place torches on the correct faces?

#

and slabs on the correct halves?

eternal oxide
#

its only a demo, but none of that would be difficult, and it uses no NMS

sage swift
young knoll
#

Shame the client assumes block placing will succeed

sage swift
#

yeah

#

"java 16 will fix it!"

young knoll
#

Makes me wonder what else you could make usable from a shulker box

sage swift
#

interesting, i guess i need to manually do wheat/carrots/potatoes

#

especially since wheat has the same item name as the block crop so when i right click with wheat inside it uses up the wheat :P

#

same with sugarcane but that places correctly

#

oh it uses up the item even if the block fails

#

hmmm

young knoll
#

I want to be able to eat out of a shulker box

sage swift
#

stop it

#

no more shulker box

young knoll
#

Use tools from a shulker box

sage swift
#

with 1.17's tags, maybe

#

👀

#

damn they really removing everything from the update

#

kek

young knoll
#

Unless you use the datapack

sage swift
#

pls explain EnumInteractionResult

#

it has CONSUME, FAIL, PASS, SUCCESS

wispy fossil
#

me on my way to CONSUME enumerators

high turret
#

Hey everybody, how do I pass data from one class to another when there's multiple instances of the first class running?

#

I can't call the method from the second class from the first

blazing scarab
#

Get first class instance?

solemn shoal
#

yknow

#

imma write my plugin in C++

sage swift
#

ok you do that

solemn shoal
#

holy shit someone actually made a hacked client in C++ with JNI lol

sage swift
blazing scarab
#

CustomCustomEnchant

sage swift
#

mhm

blazing scarab
#

Btw are you using some lib for custom enchantments

sage swift
#

yeah just made a class that extends it

#

named it CustomCustomEnchant

solemn shoal
#

im sorry i ahve to try this

sage swift
#

join my server

solemn shoal
#

once i get ShrekClient compiled

#

ah yes nice embed

#

fun fact

#

the original name for realms was MinecraftOnline

cosmic fjord
#

How can I connect my plugin with my discord bot? Like the bot in #spigotcraft

solemn shoal
#

afaik its just discordsrv

cosmic fjord
#

So its a api for spigot?

solemn shoal
#

no?

#

its a plugin lol

cosmic fjord
#

Ah

#

So its a plugin I can insert into intelijj or eclipse?

#

Or what do you mean?

solemn shoal
#

no

#

its a bukkit plugin lol

sage swift
#

jda

solemn shoal
#

you download the jar, put it on your server

cosmic fjord
#

Ahh

#

Ok thanks ^^

sage swift
#

if you want to do it yourself use jda

solemn shoal
#

if you wanna do it from scratch, yeah go use JDA

sage swift
#

scratch

#

why would you use scratch

cosmic fjord
#

Ok

sage swift
#

ideally you would use java

solemn shoal
#

what

sage swift
#

haaaaaaahahahaha

cosmic fjord
#

xD

solemn shoal
#

how did you assume i meant scratch the kids ide?

#

lmfao

sage swift
#

yes

wispy fossil
solemn shoal
#

yes

sage swift
#

it has 9 stars too

solemn shoal
#

yo who remembers this

wispy fossil
#

when will we be able to create spigot plugins in scratch 😠

solemn shoal
wispy fossil
#

is that what 'snooper' always meant 🤣

sage swift
#

i dont remember that

#

maybe it was a one-time thing

solemn shoal
#

you know how it was made in 2019?

sage swift
#

i only started playing during 1.7.10

wispy fossil
#

what

solemn shoal
sage swift
#

he has 2 commits both called Initial commit

solemn shoal
#

that client was made in 2019, targetting 1.7.10

sage swift
#

thats what happens when you're set on no lag

wispy fossil
#

shuruk421

sage swift
solemn shoal
#

anyways it doesnt even compile

wispy fossil
#

lmao

#

genius

#

i wish the embed would say

sage swift
#

then it would become outdated

wispy fossil
#

oh true

#

hmm

#

gotta be a way

#

maybe it links to an image

wispy fossil
#

with a clock

#

oh yea

#

i remembe that

compact haven
#

Not in scratcb

wispy fossil
#

similar program

#

from edu edition right?

compact haven
#

But a similar thing yeag

solemn shoal
compact haven
#

No

wispy fossil
#

i would like to award them

compact haven
#

It's a tool, made by a skript dev iirc

wispy fossil
#

oh really?

#

thats neat

sage swift
solemn shoal
#

doesnt exist

#

a lot of those dont exist for some reason

#

anyways that must be expensive to host

compact haven
#

LMAO

wispy fossil
#

i wil lget anned

compact haven
#

Imagine needing to enter your credit card to see how long MC versions has been out for

sage swift
#

actually there was some site i went to that redirected me to one

sage swift
#

uhhhhhhhhh

compact haven
#

pog

solemn shoal
#

hm

#

shrekclient doesnt even compile

wispy fossil
#

im gonna buy a domain like pastethistopeopleusing1.8.net and it will route an embed to an image of a timer

#

8.net is probably hard to buy

wispy fossil
solemn shoal
wispy fossil
#

😭

#

cant use shrek client yeet on hypicle

solemn shoal
#

wait whwere is java 8

wispy fossil
#

been looking for years

sage swift
#

can you even join on 1.7.10

wispy fossil
#

never found him

#

i think so

#

i dont think ive booted 1.7.10 since when i first got the game

solemn shoal
#

and what version is jni.h from anyways

wispy fossil
#

check and lmk

solemn shoal
wispy fossil
#

im gonna main hypicon with shrek client yeet

solemn shoal
wispy fossil
#

at least they slightly evolved

solemn shoal
#

only 1.8 or 1.16

#

why cant i play on 1.12?

sage swift
#

i think thats for simplicitys sake

#

interesting

solemn shoal
#

lmao

wispy fossil
#

theres gotta be hope

#

Shrek Shit Yeet or whatever its called

solemn shoal
#

i give up

#

visual studio eats too much ram

wispy fossil
#

understandable

cold field
half bane
#

how do I get specific player's value in specific scoreboard?

violet depot
#

how do i increase Mobs Movement speed ? I tried the code below but its not working

violet depot
# violet depot how do i increase Mobs Movement speed ? I tried the code below but its not worki...

@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onEntitySpawn(CreatureSpawnEvent event){
LivingEntity entity = event.getEntity();
AttributeInstance attribute = entity.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED);
double baseValue = attribute.getBaseValue();
if(baseValue != 2.1){ //If basevalue is not 0.7 default, set it back
attribute.setBaseValue(2.1);
}
}

summer scroll
#

like 2-3 ticks

violet depot
summer scroll
#

i'm not sure.

#

usually adding a delay will works, for example if you want to change gamemode player on join.

#

and maybe set the EventPriority to HIGHEST if you want to result to always to be like that.

tacit drift
#

🤔

#

also what about forks that solve lots of problems?

carmine yarrow
#

So, I have a problem.

If I try building a project using the gradlew.bat file, it says it's complete but I can't see the "build" folder. Any way I can fix this?

spice hornet
#

Uhm, one second

#

Hmm well, that's weird. Mine is in build\libs

#

Maybe check your build.gradle and settings.gradle for a different output directory?

carmine yarrow
#

give me a sec

spice hornet
#

Try deleting your .gradle folder as well, can work wonders sometimes.

violet depot
#

@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onEntitySpawn(CreatureSpawnEvent event){
LivingEntity entity = event.getEntity();
AttributeInstance attribute = entity.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED);
double baseValue = attribute.getBaseValue();
if(baseValue != 2.1){ //If basevalue is not 0.7 default, set it back
attribute.setBaseValue(2.1);
}
Runnable runnable2 = new Runnable() {
@Override
public void run() {
try {
Thread t = Thread.currentThread();
System.out.println("Runnable: " + t);
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
Thread t = new Thread(runnable2);
t.start();
}

violet depot
spice hornet
#
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
    public void onEntitySpawn(CreatureSpawnEvent event){
        LivingEntity entity = event.getEntity();
        AttributeInstance attribute = entity.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED);
        double baseValue = attribute.getBaseValue();
        if(baseValue != 2.1){ //If basevalue is not 0.7 default, set it back
            attribute.setBaseValue(2.1);
          }
        Runnable runnable2 = new Runnable() {
            @Override
            public void run() {
                try {
                    Thread t = Thread.currentThread();
                    System.out.println("Runnable: " + t);
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        };
        Thread t = new Thread(runnable2);
        t.start();
    }
#

What is the runnable for?

candid galleon
#
        if(baseValue != 2.1){ //If basevalue is not 0.7 default, set it back
            attribute.setBaseValue(2.1);
          }
violet depot
candid galleon
#

why is the if statement there

#

why are you using Thread.sleep 😢

spice hornet
#

Just set it to attribute.setBaseValue(2.1);

spice hornet
violet depot
candid galleon
#

I know cstmth that's why I pointed it out

spice hornet
#

I just wanted to explain to Jackwasd why it's an issue 🙂

candid galleon
#

👍

violet depot
spice hornet
#

I don't know actually, haven't worked with Spigot in a long time. Hopefully someone else can help you with this issue.

summer scroll
#

@violet depot that's not how you add a delay.

molten hearth
#

so I'm trying to spawn an NPC with Citizens by using myNpc.getNPC().spawn(player.getLocation()) and the NPC is spawning like 20 blocks above the player on top of the tree, is there anything I can do about this lol

summer scroll
#
Bukkit.getScheduler().runTaskLater(plugin, () -> {
  // code here..
  attribute.setBaseValue(2.1);
}, 2L); // delay for 2 ticks
violet depot
violet depot
summer scroll
#

all good

molten hearth
#

my coordinates seem to be matching when I print them but the npc still spawns way up lol

dense kestrel
molten hearth
#

still didn't work rip oh wait, hold up

violet depot
summer scroll
violet depot
summer scroll
#

no problem

hushed halo
#

pls help

queen dragonBOT
summer scroll
#

your code

hushed halo
#

yay someone is typing

dusty herald
#

my god i haven't seen techsmith in agesS

#

what am i looking at

hushed halo
#

Yeah, idk what to use

dusty herald
#

show us console logs

hushed halo
#

start.bat console rigt?

#

right*

dusty herald
#

the console for your server

#

👀

hushed halo
#

ok

#

i will

dusty herald
#

logs/latest.log

summer scroll
#

i'm guessing indexoutofbounds

hushed halo
#

ok

#

let me send it

dusty herald
#

might be just the plugin is disabled 🤷 i can't watch that damn video is buffering too much

summer scroll
#

yeah man, same haha

hushed halo
#

wont let me send file too big

summer scroll
#

copy paste here

#

?paste

queen dragonBOT
hushed halo
#

i think i did it right

summer scroll
#

ah, i'm wrong xd

dusty herald
#

the item you are attempting to give yourself is null

hushed halo
#

and what does that mean?

dusty herald
#

that is is null

#

it doesn't exist

hushed halo
#

it does

#

or lemme check

dusty herald
#

apparently not

hushed halo
#

Here is one line of code

#

player.getInventory().addItem(ItemManager.wand);

#

here is where i add it private static void CreateWand() {
ItemStack item = new ItemStack(Material.STICK, 1);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName("§6Stick Of Reality");
List<String> lore = new ArrayList<>();
lore.add("§7This wand goes back in time. Into the times the villagers could talk.");
lore.add("§7They left this behind them for us to use. Be careful it shoots out tnt.");
meta.setLore(lore);
meta.addEnchant(Enchantment.LUCK, 1, false);
meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
item.setItemMeta(meta);
wand = item;

dusty herald
#

ItemManager.wand is null

hushed halo
#

it is?

dusty herald
#

don't static abuse 👀

hushed halo
#

abuse?

sage swift
#

hit women

dusty herald
#

istg gecko

sage swift
hushed halo
#

when i type ItemManager.W it reccomends .wand

#

recommends*

sage swift
#

what is it set to though

#

how do you define it

hushed halo
#

hold on

#

how do i define the wand?

#

is that what you are asking

#

ItemManager is a javaclass

summer scroll
#

you have the method already

#

to define the wand

sage swift
#

:|

hushed halo
#

if (cmd.getName().equalsIgnoreCase("givewand")) {
player.getInventory().addItem(ItemManager.wand);
}

#

that is what i put

sage swift
#

do you call the CreateWand method though

hushed halo
#

hmm lemme check

sage swift
#

best capitalization

hushed halo
#

i didnt mean to reply

#

oh no i didnt

#

this is confusing

summer scroll
#

make sure to call the method first before getting the item

hushed halo
#

ok

summer scroll
#

but call it just once, on plugin enable for example

hushed halo
#

i have been warned for saying ok

sage swift
#

no you should call it every time as often as possible

hushed halo
#

okay

sage swift
#

ideally on PlayerMoveEvent

#

and BlockPhysicsEvent

hushed halo
#

this is very very confusing

summer scroll
#

perfect 👌

hushed halo
#

ok

#

ill try

sage swift
#

when will he realize

hushed halo
#

realize what?

sage swift
#

you have to be using paper api for it to work

#

and your main class shouldn't extend JavaPlugin

hushed halo
#

but the tutorial said i should do it

eternal oxide
#

yes your main class should extend JavaPlugin

#

I have a feeling you are being trolled

hushed halo
#

by who?

#

the other guys

#

gecko are you trolling me

sage swift
hushed halo
#

yeah, im definetily getting trolled

#

the community on this server is trash

sage swift
#

yeah i suck

hushed halo
#

yes indeed you do

#

well, thanks for nothing i guess

onyx shale
#

Gecko bully👀

sage swift
#

just at some point the solution becomes more of "you need to learn java" instead of "here's how to fix this"

onyx shale
#

Oh i see.. well thats not rly bully

sage swift
#

but yeah, you'll want to create and set the item when the plugin enables so that when you add it to the player's inventory there's an item to add

summer scroll
#

i think he left the server already

#

lmao

sage swift
#

they couldn't handle my awesomeness ¯\_(ツ)_/¯

onyx shale
#

Indeed

sage swift
#

?services

queen dragonBOT
lofty mulch
#

guys, which jvm should i use, Hotspot or Openj9 (Java 16)?

eternal oxide
#

for plugins it makes no real difference

lofty mulch
#

for server

#

vanilla

eternal oxide
#

you still won;t notice a difference

lofty mulch
#

what's about graal?

eternal oxide
#

no clue

lofty mulch
#

ok thank you

hollow arch
#

How are offline/cracked uuids generated?

sage swift
#

should probably use java 16 now since 1.17 will be

eternal oxide
hollow arch
#

Offline as in, online-mode=false

eternal oxide
#

no, just the text, uuid from string

hollow arch
#

Sorry, I'm so confused lol

#

I want to generate the UUID they would get when using cracked/pirated

#

string -> uuid

lofty mulch
eternal oxide
# hollow arch string -> uuid
    public static UUID getOfflineUUID(String s) {
        return UUID.nameUUIDFromBytes(("OfflinePlayer:" + s).getBytes(StandardCharsets.UTF_8));
    }```
hollow arch
#

ah

#

I didn't realize it was literally the word offline player lol

#

Thank you! ❤️

quiet ice
lofty mulch
#

i just download adoptopenjdk 16

#

form arch repo

#

seems it doesnt show which jvm is it, may it's hotspot

eternal oxide
#

I have used both Hotspot and Openj9. No noticable difference and I've had no issues running anything

lofty mulch
#

Confirmed that Java 11 didnt have anything difference but 16

cinder thistle
#

unverifieds are generally treated as lesser

muted idol
wraith rapids
#

suckets

dire dune
#

i am trying use gwarps but when i use nobody can use says not enough perm

wraith rapids
#

you know what's beautiful

#

that twitter is full of liberals who are saying that hitler was right

cinder thistle
#

lmao

wraith rapids
#

turns out genocide is a double edged sword

cinder thistle
cinder thistle
#

thanos was right

wraith rapids
#

a holocaust

cinder thistle
#

no just a good ol movie-style purge

wraith rapids
#

come to think of it

#

has anyone written an anti dupe plugin that assigns an UUID in the pdc of each itemstack

#

and then uses protocol hacks to filter them out

#

and inventory listeners to merge stacks with differing uuids

#

because that would make dupes of any kind impossible

#

plugin or not

cinder thistle
#

@jade perch had that idea

#

don't remember if it ever panned out

wraith rapids
#

probably kind of annoying to implement

jade perch
#

Haha

wraith rapids
#

and costly with having to listen to hopper move events and shit

jade perch
#

That's my exact idea

#

Haven't tried to make it yet though

wraith rapids
#

seems kind of futile

#

well, for every item in the game, anyway

onyx shale
#

well beside the vanilla events

wraith rapids
#

for unstackables it'd be ezpz

onyx shale
#

you have to also consider plugins giving items

drowsy helm
#

weren't you going to dfo that Heretere

#

you said you would do that like 2 months ago

jade perch
#

I have a lot of ideas that I don't work on

drowsy helm
#

"I will get a working prototype by tomorrow"

#

something along the lines of that

jade perch
#

I lied then

#

Get rekt

drowsy helm
#

i trusted you

#

I've been waiting this entire time

jade perch
#

I will get a working prototype for you by tomorrow

cinder thistle
#

lol

dusty herald
#

tomorrow never comes

cinder thistle
#

tomorrow comes

#

the working prototype never comes

wraith rapids
#

yeah

dusty herald
#

Twitter is unholy ground do not enter that site under any circumstances

wraith rapids
#

or, well, liberal and conservative are overused and aren't really used to mean what they actually mean

#

I mean like the BLM and trans acceptance and all these progressive people

sleek pond
#

what are they saying about it

dusty herald
#

what the fuck

quaint mantle
#

yea

dusty herald
#

they're not BLM they're just stupid lmao 🤣

sleek pond
#

they just got with the trend of everyone gettign a BLM pfp

wraith rapids
#

being stupid and being blm isn't mutually exclusive

quaint mantle
#

does anybody have new spotify theme?

dusty herald
#

no

quaint mantle
#

weird just woke up to some new theme

wraith rapids
#

that isn't the only one for the record

#

twitter is full of em

tacit drift
#

Material#matchMaterial for 1.12? (to match material from string)

untold rover
#

does anyone with experience in Packets have 20 min to help me? I need to remove all players from the tablist, while still keeping them visible
because rn when I remove them, and they leave my render distance and re-enter it, they are just invisible
(which is normal behaviour, but I need to fix it)

quaint mantle
tacit drift
#

i need to have 4.0?

#

instead of just 4?

ivory sleet
chrome beacon
severe folio
tacit drift
#

double x = ishome.getBlockX();
double lvl1wallsloc1x = Double.parseDouble(config.getString("options.level-1.coords.walls.loc1.x").replace("%x%",String.valueOf(x)));

#

x: "%x% - 4"

ivory sleet
#

Parse 0.0 and -4 separately?

#

Or smtng

tacit drift
#

🤔

ivory sleet
#

The type double isn’t a mathematical expression of some sort

chrome beacon
#

Yeah it needs to be a single number it can't be an expression

tacit drift
#

idk, i thought it was like in c++

#

:))

chrome beacon
#

There is a math method for calculating expressions

cinder thistle
#

Alternatively you can use @waxen plinth's Crunch

ivory sleet
#

Fastest

#

Damn

#

Underrated

waxen plinth
#

Pog

#

Thanks for the rep @cinder thistle

cinder thistle
#

np

coral sparrow
#

Is there a way to get a users username

young knoll
#

player.getName

coral sparrow
#

oh

#

ok ty

eternal shoal
#

Is there any way i could place a sign on the face of a chest?

errant drift
#

shift

eternal shoal
#

i mean with code

young knoll
#

Yes

#

Just use block data to set its direction

eternal shoal
#

hmm

#

Is there a specific way to get the block in front of the chest? (where it's facing)

young knoll
#

You’ll have to get the chests block data to determine that

eternal shoal
#

Can't find anything ._.

vast quest
#

hwo can I make something

#

anything?

tacit drift
#

block.getData

#

@eternal shoal

#

and then, getFacing

#

here is a better explanation

eternal shoal
#

I know how to do that, I'm stuck at getting the location of where to place the sign

#

Since it has to be a block over

#

or it would be inside the chest

tacit drift
#

get facing

#

depending on the direction, do block location +- 1

eternal shoal
#

what would be the argument for that?

#

Ah

tacit drift
#

south: +1z
north: -1z
east: +1x
west: -1x

#

and you should set durability of the sign depending on the direction (at least that's how you do it in pre 1.13 i think)

#

@waxen plinth what version should i put in maven for crunch 🤔

waxen plinth
#

Damn, imagine had this issue too

#

Hold on a sec

#

Try this

#
    <dependency>
        <groupId>com.github.Redempt</groupId>
        <artifactId>Crunch</artifactId>
        <version>a53fb84a67</version>
    </dependency>```
tacit drift
#

works, thx

waxen plinth
#

Nice

#

Maybe try just -SNAPSHOT in the version too? @tacit drift

hoary tiger
#

How to find if a mob is left handed?

waxen plinth
#

I didn't even know that was a thing

hoary tiger
#

I mean I made the mob left handed I just need to get that information

#

with java this.isLeftHanded();

cinder thistle
#

I assume you created a custom mob via nms

#

Try casting

hoary tiger
#

What should I cast to though

#

?

cold field
#

hum, instanceof?

tropic moss
#

Hello, I'm trying to get the dycolor from a banner but I get NullPointerException and I don't know why. First of all the error isn't on the Banner class and second, when I sout the ItemStack I don't get the dyecolor into the metadata but when I set the item I receive it.

Banner banner = new Banner(DyeColor.WHITE, new ArrayList());

if (event.getCurrentItem().getType().equals(Material.BANNER)) {
                ItemStack itemStack = getInventory().getItem(49);
                BannerMeta bannerMeta = ((BannerMeta) itemStack.getItemMeta());
                switch (editingStage) {
                    case BASE:
                        this.banner.setColor(bannerMeta.getBaseColor());//Error on getbaseColor and i'm sure that the banner has a base color
                        editingStage = EditingStage.PATTERN;
                        break;
                    case PATTERN:
                        this.lastPattern = bannerMeta.getPattern(bannerMeta.getPatterns().size()).getPattern();
                        editingStage = EditingStage.COLOR;
                        break;
                    case COLOR:
                        //Do stuff
                }

            }```
eternal night
#

that line would only throw a NPE if either this.banner or bannerMeta are null

#

the base colour can be nullable

tropic moss
#

So how can I get the Banner BaseColor, the bannerMeta and this.banner are ok

#

And they don't throw error

#

The error is on getBaseColor

tacit drift
eternal night
#

because that is afaik the only material that gives a null item meta

tropic moss
eternal night
#

ItemStack itemStack = getInventory().getItem(49);

#

not the current item

#

you are fetching the item meta from item at slot 49

tropic moss
#

The slot is with a banner

eternal night
#

are you 100% certain the error is caused by the getBaseColor call ¯_(ツ)_/¯

tropic moss
#

Yes, I'll do some tests and I'll write it here

eternal night
#

or update to java 16 and get neat null pointer exception messages

wraith rapids
#

link the actual stack trace if you haven't already

eternal night
#

don't think he has ye 😭

wraith rapids
#

all discussion regarding an error is just juggling broken crystal balls until someone posts the stack trace

eternal night
#

I mean, an NPE prior 16 isn't gonna be helpful

wraith rapids
#

at least it has the line number

eternal night
#

true 😂 i mean if that failed it is rip

wraith rapids
#

i mostly just want it because i don't trust a random to actually be able to tell whether the npe is thrown because of something wrong in the internals or in their own code

#

and because I can then look at the source and see where it's blowing up if it is indeed an issue with the internals

red bolt
#

does anyone know where in NMS packets are received from the client?

#

I want to investigate a bug that may be affecting MV Inventories

vestal moat
#

how do i mark item as special? like wand

paper geode
#

with a lore

vestal moat
#

i dont want it visible

#

i want it so i can check it at any event

eternal night
#

it is implemented in the nms.PlayerConnection class

red bolt
#

awesome, thanks @eternal night

grim sage
#

Hey guys ! I’m trying to respawn the ender dragon but dragonBattle.initiateRespawn() don’t work :/

( dragonBattle is the battle linked to my end World )

quaint mantle
sage swift
#

pdc

upper vale
#

what is the best particle for drawing thin, straight lines

wraith rapids
#

redstone

#

you can color it

#

it's good for just about anything

#

and you can choose the size of the particle

quaint mantle
#

is there anyway to change a materials display name or use multiple of 1 itemstack in 1 crafting slot?

sage swift
#

the former can be done with RecipeChoice.ExactChoice, the latter is not possible

grim sage
#

Hey guys ! I’m trying to respawn the ender dragon but dragonBattle.initiateRespawn() don’t work :/

( dragonBattle is the battle linked to my end World )

quaint mantle
#

exactly xD

sage swift
#

what do you not understand

quaint mantle
#

what is the former and what is the latter

sage swift
#

first and last

#

your two part question

quaint mantle
#

ah

sage swift
#

not a coding thing

quaint mantle
#

ye no english isnt my first language

sage swift
#

if an item doesn't have a custom name set, the name will be determined by the client's translation

quaint mantle
#

alr

#

But how would i do this

#

recipe.shape(
" T ",
" T ",
" A "
);

    recipe.setIngredient('T', ItemManager.EnchantedGold);
    recipe.setIngredient('A', Material.STICK);
#

i want T to be like 32 of it

sage swift
#

cant

#

like i said

quaint mantle
#

can i change it in anyway so it is possible?

wraith rapids
#

can't

quiet ice
#

Events probably, but that is not a recipe

quaint mantle
#

hmm

sage swift
#

i made a little thing that's similar to crafting recipes but allows a lot more ingredients

#

it's not super efficient and i should probably convert it to RecipeChoice

quaint mantle
#

How does RecipeChoice Work?

wraith rapids
#

it's a choice in a recipe

#

f.e you can use oak wood or spruce wood to make barrels

quaint mantle
#

thats what it means not how it works

wraith rapids
#

how x works is a vague question

#

do you want me to cuntpaste the implementation at you

sage swift
#

lol

#

you can check whether an item works as a RecipeChoice with RecipeChoice#test(ItemStack)

wraith rapids
#

it's a glorified itemstack predicate

quaint mantle
#

ok

#

How would i use it?

sage swift
#
    public void onDispense(BlockDispenseEvent evt) {
        Dispenser dispenser = (Dispenser) evt.getBlock().getState();
        if (!dispenser.getPersistentDataContainer().has(plugin.compressorKey, PersistentDataType.BYTE)) return;
        String selectedRecipe = null;
        ConfigurationSection recipeSection = plugin.config.getConfig().getConfigurationSection("recipes");
        if (recipeSection == null) return;
        ItemStack dispensedItem = evt.getItem();
        for (String key : recipeSection.getKeys(false)) {
            List<ItemStack> requiredItems = (List<ItemStack>) recipeSection.getList(key + ".from");
            boolean valid = true;
            for (ItemStack requiredItem : requiredItems) {
                if (!dispenser.getInventory().containsAtLeast(requiredItem, 
                        requiredItem.getAmount() + (requiredItem.isSimilar(dispensedItem) ? 0 : 1))) {
                    valid = false;
                    break;
                }
            }
            if (!valid) continue;
            selectedRecipe = key;
            break;
        }
        if (selectedRecipe == null) {
            evt.setCancelled(true);
            return;
        }
        for (ItemStack item : (List<ItemStack>) recipeSection.getList(selectedRecipe + ".from")) {
            Task.syncDelayed(() -> ItemUtils.remove(dispenser.getInventory(), item, item.getAmount()));
        }
        evt.setItem(recipeSection.getItemStack(selectedRecipe + ".to"));``` semi-custom recipes with up to 9 stacks of items as ingredients
wraith rapids
#

depends on what you want to use it for

wild steeple
#

is there a way i can delay sounds ?

sage swift
#

scheduler

#

or do you mean vanilla sounds

wraith rapids
#

some sounds are clientside so you can't delay every kind of sound, but using the scheduler should work for most

quaint mantle
wild steeple
#

For example i'm tryna set delays between those.
p.playSound(p.getEyeLocation(), Sound.BLOCK_NOTE_BLOCK_IRON_XYLOPHONE, 1f, 1f); p.playSound(p.getEyeLocation(), Sound.BLOCK_NOTE_BLOCK_HARP, 1f, 1f); p.playSound(p.getEyeLocation(), Sound.BLOCK_NOTE_BLOCK_HARP, 1f, 1f); p.playSound(p.getEyeLocation(), Sound.BLOCK_NOTE_BLOCK_HARP, 1f, 1f); p.playSound(p.getEyeLocation(), Sound.BLOCK_NOTE_BLOCK_CHIME, 1f, 1f); p.playSound(p.getEyeLocation(), Sound.BLOCK_NOTE_BLOCK_HARP, 1f, 1f); p.playSound(p.getEyeLocation(), Sound.BLOCK_NOTE_BLOCK_HARP, 1f, 1f); p.playSound(p.getEyeLocation(), Sound.BLOCK_NOTE_BLOCK_HARP, 1f, 1f); p.playSound(p.getEyeLocation(), Sound.BLOCK_NOTE_BLOCK_IRON_XYLOPHONE, 1f, 1f);

quaint mantle
#

thats what i wanna use it for

sage swift
#

scheduler

#

:]

wraith rapids
#

you implement recipechoice and return true if the item is the one you want and the amount is more than 5 stacks

#

it will never return true of course since you can't put 5 stacks in a single slot

sage swift
#

implementing bukkit classes wtf

#

how dare you

wraith rapids
#

:fingerguns:

#

or implement Predicate<ItemStack>, literally the same thing

quaint mantle
#

But like if i wanna put a psesific amount in each slot

wraith rapids
#

listen to the events or whatever and just check the grid

sage swift
#

you could also have recipes to turn 7 gold blocks into compressed gold ¯_(ツ)_/¯

#

and then use 5 of those

wraith rapids
#

what you're describing isn't supported by the recipe system and as such has nothing to do with recipechoices

#

beyond you being able to use a recipechoice as an itemstack predicate

sage swift
#

also bukkit recipes 🤮

#

outsource it to the user's custom crafting plugin

#

no default recipe

wraith rapids
#

lol

sage swift
#

or make your own custom crafting plugin B)

quiet ice
#

without a bukkit recepies half of my CE plugin would be bork

wraith rapids
#

is your ce plugin shit

#

because I haven't been able to find a not shit ce plugin yet

quiet ice
#

It does not use NMS, so yes

sage swift
#

bro

wraith rapids
#

what is it called

sage swift
#

what are your requirements for not shit

wraith rapids
#

does it do retarded and heavy shit in the player move event

quiet ice
#

EnchantmentsPlus

wraith rapids
#

all of the ones i've seen to date are either super laggy or buggy

quiet ice
#

hah, I do not use that event!

sage swift
#

^ biggest plugin of my server tick B)

quaint mantle
#

i dont know how tf i would make a custom recipe with events

sage swift
#

dont

ivory sleet
#

Lol

sage swift
#

you dont need to make a plugin for custom items

quiet ice
#

100% 1 tick repeating tasks, been thinking of using PME instead though

quaint mantle
wraith rapids
#

giving up is an option

quaint mantle
#

im literally trying to learn

quaint mantle
#

giving up is not a option

#

also i wanna make my own plugin

sage swift
#

ok but dont do it for recipes

wraith rapids
#

maybe give up on the 32 items part

quaint mantle
#

alr whats a good thing to learn

wraith rapids
#

and make it a regular, normal recipe instead

quaint mantle
quaint mantle
wraith rapids
#

that's the spirit

quaint mantle
sage swift
quaint mantle
#

in java .-.

wraith rapids
#

write me a decent crates plugin

sage swift
wraith rapids
#

i'll give the enchants plus plugin a go

quaint mantle
#

in minecraft

quaint mantle
sage swift
#

it integrates into enchanting pretty nicely ^

wraith rapids
#

if it doesn't work exactly to my specifications, i will find you and burn your house down @quiet ice

sage swift
#

oh i have his ip i can help you with that

#

he's joined my server

quiet ice
#

Yeah I do

#

But the perf. is shit, don't try it

wraith rapids
#

didn't you say it's not shit

#

is this just a bootleg zenchantments

#

angery

quiet ice
#

It'S a full on fork

#

300 commits diff afaik

sage swift
#

zedly too lazy

#

also im stuck on 1.2.0 because when i updated everything broke

wraith rapids
#

what causes most of the performance issues

quiet ice
#

I do not know, noone sent me a Spark report yet

sage swift
#

you want one from 1.2.0?

#

lol

wraith rapids
#

:I

#

how do you know the performance is shit then

quiet ice
#

Because people tell me that, and honestly I couldn't imagine how it is not

wraith rapids
#

what does it even do that'd impact performance

#

clone every item in a player's inventory in every player move event?

sage swift
#

grab

wraith rapids
#

seen one ce plugin do it

quiet ice
#

It queries all slots of the inventory of every player at least once a tick and gets the PDC of it to then get other stuff

wraith rapids
#

uh, why

quiet ice
#

Speaking of that, I should build a safeguard against books for performance exploits

#

I use PDC to store enchantments

wraith rapids
#

yes but why do you access every slot in the inventory every tick

sage swift
#

remember when the fire enchantment bricked my server

#

good times

quiet ice
#

Because I have some enchantments that are passive

wraith rapids
#

maybe add an option to disable those and the associated slot lookups

#

so servers with more than 2 players can use the plugin

sage swift
#

we use it

#

1.16.5 had 60 players at one point

#

mspt only got up to 110

wraith rapids
#

also can't you just maintain a set of held enchants by listening to inventory/pickup/dispense events

#

checking every slot is redundant and should maybe only be used as a backup to ensure data integrity every few seconds at most

quiet ice
#

That could be possible but could be prone to exploits in combination with other plugins

sage swift
#

what enchants are active anywhere in the inventory, anyways?

quiet ice
#

I only query amour and the hands, nothing else

#

Sorry for the confusion

wraith rapids
#

alright that is significantly less retarded

sage swift
#

big difference

wraith rapids
#

build against paper and use armor equip event

wraith rapids
#

i guess i need to fork this and optimize it a bit before I can use it

#

at least it's open source

#

i already wrote a thing that maintains a set of items equipped by a player in the armor/hand slots so plugging this into it should be trivial

ivory sleet
#

Using Redempts text file events :0

#

/s

wraith rapids
#

absolutely haram

#

i'll need to finish up my impl of live-view itemmeta so I don't need to clone the itemmeta for every pdc get

waxen plinth
#

.-.

ivory sleet
#

Redempt what u think of Haskell?

quiet ice
#

Also if you can could you also drop in a spark report or similar? Would be really nice to have something other than timings report to use

waxen plinth
#

You make one thing that parses text and suddenly it's all anyone knows you for

#

Haskell seems cool

ivory sleet
#

Okay it’s confirmed

#

You’re Alex’s friend

waxen plinth
#

Alex?

wraith rapids
#

i'll send you screenshots of spark if I remember

ivory sleet
#

Brister mitten

quiet ice
#

k ty

wraith rapids
#

that's the best anyone'll be getting from me

ivory sleet
#

Knightzmc or whatever he’s called on GitHub

wraith rapids
#

don't want my super secret domains i use for my plugins being leaked

ivory sleet
#

Lol

sturdy venture
#

HEY