#help-development

1 messages · Page 980 of 1

sullen marlin
#

Doesn't get location require the == header

#

Print the location

covert pond
#

What do you mean by print the location?

glad prawn
#

just print your Location object?

ocean hollow
#

hi, could you help with velocity? I'm trying to use Redisson to transfer messages between servers, I added Redisson as a dependency, but when creating the Config for RedissonClient I get java.lang.NoClassDefFoundError: io/netty/resolver/dns/DnsCache. I tried to add io.netty as a dependency, and tried to shade it, but it didn’t help me; in the jar itself, if I open it through 7-zip, there is no such class.

trail coral
#

how do you do the animation where it counts up to a certain number? like if the number is 855 and it just counts up to 8 first and then 5 and then 5

lost matrix
lost matrix
trail coral
ocean hollow
#

i saw their config using cluster on their github

trail coral
#

most likely in GUIs with items

lost matrix
lost matrix
# trail coral most likely in GUIs with items

Im just gonna guess what you want then.
So given an int (eg 855)

  1. Convert it to String using String.valueOf(...)
  2. Get the characters on each index
  3. On each iteration step: Append one more character to your output
    Results in
    "8"
    "85"
    "855"
lost matrix
trail coral
lost matrix
trail coral
#

it does that in punching machines and some slot machines so thats what im trynna replicate

#

but youre right yes

lost matrix
#

Alright. In that case you want to:

  1. Convert your int to a String
  2. Get each character of the String
  3. Convert from character to numeric value
  4. assemble animation by starting with an empty String the length of your number " " or "___"
  5. Iterate each index of this empty string and append your characters accordingly
trail coral
#

thank you idk why brain froze on that one lmao

worthy yarrow
#

damn it's 2am 😦

lost matrix
#

And each index of that List is the next String to display

worthy yarrow
#

Hi smile, how are you doing?

trail coral
#

oh thats even better

#

thanks a lot man

worthy yarrow
#

smile hates me D:

lost matrix
#

Its 9 am here and he wants attention

worthy yarrow
#

My dog is sleeping on the couch alone... he doesn't like my room

lost matrix
#

f

worthy yarrow
#

Anyways you been working on anything cool

lost matrix
#

Currently this is only realized for stuff like images, music etc

worthy yarrow
#

That's pretty neat

#

The frog is so sad

lost matrix
#

Yeah he wrongly predicted the weather XD

worthy yarrow
#

I wonder what he needed the stool for

#

I'm still working on the seasons project, just fixing a couple concurrency issues... I pretty much wrote for 2 hours w/o testing

ocean hollow
worthy yarrow
#

I've got temperature system pretty much designed now with some fun little mechanics

blazing ocean
#

what's the event to disable explosion block damage

lost matrix
worthy yarrow
lost matrix
# worthy yarrow

Very nice. You could in theory use the biome temp as a baseline or modifier

blazing ocean
worthy yarrow
lost matrix
blazing ocean
lost matrix
blazing ocean
#

not a mutable list

lost matrix
#

How would you know?

#

java.util.List could be anything...

blazing ocean
#

it doesn't use mutable lists anywhere in the event..

worthy yarrow
#
case SPRING:
                    biomeTemperatureMap.put(Biome.PLAINS, new double[]{15, 22});
                    biomeTemperatureMap.put(Biome.FOREST, new double[]{12, 19});
                    biomeTemperatureMap.put(Biome.DESERT, new double[]{22, 31});
                    break;
                case SUMMER:
                    biomeTemperatureMap.put(Biome.PLAINS, new double[]{25, 35});
                    biomeTemperatureMap.put(Biome.FOREST, new double[]{22, 30});
                    biomeTemperatureMap.put(Biome.DESERT, new double[] {30, 45});
                    break;
                case AUTUMN:
                    biomeTemperatureMap.put(Biome.PLAINS, new double[]{10, 20});
                    biomeTemperatureMap.put(Biome.FOREST, new double[]{8, 18});
                    break;
                case WINTER:
                    biomeTemperatureMap.put(Biome.PLAINS, new double[]{-5, 5});
                    biomeTemperatureMap.put(Biome.FOREST, new double[]{-8, 2});
                    break;```

I feel like this system needs to be changed...
lost matrix
blazing ocean
#

yeah

lost matrix
#

-.-

blazing ocean
#

why do people hate on kotlin so much

lost matrix
#

Because its a borderline scripting language with atrocious features and questionable design concepts that are barely scalable

lost matrix
blazing ocean
#

sry i don't do java

ocean hollow
lost matrix
worthy yarrow
lost matrix
#

Ah makes sense

worthy yarrow
#

After I get these errors fixed, I gotta work on the temperature scale changing like in intervals rather than just 25-10

lost matrix
# worthy yarrow After I get these errors fixed, I gotta work on the temperature scale changing l...

Add campfires to your temperature sources.
And use a Map<Material, Double> for tracking them.
This way you dont need to stack if-else statements.
It would be more like

    public static double calculateHeatSourceEffect(Player player) {
        World world = player.getWorld();
        double heatEffect = 0.0;
        int searchRadius = 6;

        for (int x = -searchRadius; x <= searchRadius; x++) {
            for (int y = -searchRadius; y <= searchRadius; y++) {
                for (int z = -searchRadius; z <= searchRadius; z++) {
                    Location currentLocation = player.getLocation().add(x, y, z);
                    Block block = world.getBlockAt(currentLocation);
                    Material material = block.getType();
                    heatEffect += heatSources.getOrDefault(material, 0D);
                }
            }
        }
        return heatEffect;
    }

And you could load this Map<Material, Double> from a config to let people configure the heat and add other blocks as well (like GLOWSTONE or LAVA_CAULDRON)

worthy yarrow
#

Oh another cool thing about the temperature system, I've got a working theory on heat detection

#

That's funny

lost matrix
#

You could also maybe let the distance to the heat source influence the temperature. But thats up to you.

#

Will be slightly more expensive to calculate.

worthy yarrow
#

You've seen it

#

I'm cooked

worthy yarrow
mellow edge
#

is it possible to cancel taking items from armor stand?

lost matrix
mellow edge
#

PlayerArmorStandManipulateEvent

shy rock
#
    public void onEntityDamage(EntityDamageByEntityEvent event) {
    Entity entity = event.getEntity();
    double damage = event.getDamage();
    double modifiedDamage = damage + damageBoost * level;
    event.setDamage(modifiedDamage);```
Isnt this how we change a mob's damage?
#

It get's its base damage and multiplies it depending on level

worthy yarrow
# lost matrix Add campfires to your temperature sources. And use a ``Map<Material, Double>`` f...
public static void loadHeatSources() {
        ConfigurationSection heatSourcesSection = seasons.getConfig().getConfigurationSection("season.heat_sources");
        
        if (heatSourcesSection != null) {
            for (String key : heatSourcesSection.getKeys(false)) {
                double heatValue = heatSourcesSection.getDouble(key);
                Material material = Material.matchMaterial(key);
                if (material != null) {
                    heatSources.put(material, heatValue);
                } else {
                    seasons.getLogger().log(Level.WARNING, "Invalid material found in heat sources: " + key);
                }
            }
        }
    }

Does this seem alright?

lost matrix
lost matrix
# shy rock really now?

No idea where your damageBoost and level are coming from, but this will increase the damage of all entities to every other entity.
*Given that you registered the Listener

lilac vector
#

whats the difference between World#dropItem and World#dropItemNaturally

lost matrix
lilac vector
#

Ah

#

ic

#

huh, it seems like intellij isnt showing the javadoc is that normal?

lost matrix
lilac vector
#

how?

lost matrix
lilac vector
#

Ohh

#

well that makes a lot more sense than nothing having documentation

#

thank you sm!

paper crest
#

Why item flags are not working on 1.20.5? Are for removal? Or is just Spigot bug?

worthy yarrow
#

Goodnight everybody!

tardy delta
#

morning

ocean hollow
#

how can I quickly compile a plugin if I need it to have a shade. It just comes out through the artifacts without a shade.

remote swallow
#

dont use artifacts

#

use maven

ocean hollow
#

that is, should I constantly use mvn package, copy from target to the folder with the plugin?

remote swallow
#

yes

ocean hollow
#

😢

lilac vector
#

is there anyway to avoid learning how to use databases but also not have to store all my data in yaml

glad prawn
#

why?

ocean hollow
inner mulch
#

This is a framework thats helps devs work with sql

shadow night
#

will help you now and in the future

lost matrix
civic sluice
#

@distant forge did you solve your issue already? If not I can offer you to look into it via screen share or if the project is open source it'll be even easier.

distant forge
weak gust
sullen marlin
#

Sounds like an intellij issue with enums

#

As with the other user, make sure you're up to date

lilac zenith
#

Does someone know why could this happen?

distant forge
grim hound
#

how do I make the nms and bukkit api work?

kind hatch
#

Just depend on spigot

grim hound
kind hatch
#

Asks how to use both nms and spigot
Gets legit response
"That's not what I asked"

#

¯_(ツ)_/¯

#

Tf do you mean then?

grim hound
#

and thus this will solve my problem

#

I need to use nms

#

in my project

kind hatch
#

You can remove those two. The spigot artifact contains both craftbukkit and the spigot api.
Meaning it will have both nms support and the regular spigot api support.

kind hatch
#

As long as you have ran BuildTools for the version you want, you should be able to use it no issue.

grim hound
#

show

#

anything beside spigot api

#

in the editor

grim hound
#

this maven thingy requires that?

kind hatch
#

Yes, that's how you get access to nms in the first place.

#

The spigot artifiact just pulls that info from your local m2 repo once it's been installed with BuildTools.

grim hound
#

?buildtools

undone axleBOT
kind hatch
#

You literally just run BT for the version you want to develop against.
E.G. java -jar BuildTools.jar --rev 1.20.5

#

If you want nms mappings, just throw in the --remapped flag

grim hound
grim hound
#

do I place the jar somewhere?

kind hatch
#

Once BT is done, just reload your pom

grim hound
#

so

pseudo hazel
#

prolly doesnt matter

kind hatch
#

That shouldn't matter. BT installs all of the stuff to your local m2 repo.

#

Which intellij already has a default for.

grim hound
#

I'll give you an update once I run it again

brittle geyser
#

How to decrease amount of if’s?

private CommandAPICommand getGrantGiveSubCommand() {
        return new CommandAPICommand("give").withPermission("grant.command.give")
            .withArguments(new StringArgument("donate").replaceSuggestions(ArgumentSuggestions.strings("hunter", "warrior", "master", "king")),
                    new PlayerArgument("target"))
            .executesPlayer((player, args) -> {
                if (!isPlayerHasGrant(player)) {
                    player.sendMessage(PREFIX + "§cУ вас нет соответствующего доната для выполнения данной команды.");
                    return;
                }
                Player targetPlayer = (Player) args.get("target");
                if (targetPlayer == null) {
                    player.sendMessage(PREFIX + "§cИгрок не найден");
                    return;
                }
                if (isPlayerHasGrant(targetPlayer)) {
                    player.sendMessage(PREFIX + "§cУ данного игрока уже имеется высокий донат.");
                    return;
                }
                String donate = (String) args.get("donate");
                if (donate == null || donate.isEmpty() || isGroupHasGrant(donate)) {
                    player.sendMessage(PREFIX + "§cДанный донат не найден.");
                    return;
                }
                Record entry = database.fetchOne("SELECT " + donate + " FROM grants WHERE name = ?", player.getName());
                if (entry == null) {
                    insertIntoNewPlayer(player);
                    return;
                }
                InheritanceNode node = InheritanceNode.builder(donate).value(true).build();
                User user = getLuckPermsUser(targetPlayer);
                DataMutateResult result = user.data().add(node);
                if (result.wasSuccessful()) {
                    luckPerms.getUserManager().saveUser(user);
                    updatePlayerGroupPresentTime(player.getName(), System.currentTimeMillis() + 300000L);
                    updatePlayerDonateAmount(player.getName(), donate, entry.get(donate, int.class) - 1);
                }
            }
        );
    }
distant forge
#

@sullen marlin @civic sluice

weak gust
civic sluice
#

perfect

grim hound
#

nms still isn't shown in intellij

kind hatch
#

Yeeesh, 9 minutes.

#

Did you reload the pom?

#

And also update your dependency to 1.20.5?

shadow night
brittle geyser
shadow night
kind hatch
grim hound
#

thanks

kind hatch
brittle geyser
#

what is lnb4

kind hatch
#

in before

shadow night
kind hatch
#

Probably

#

Unless it's for tracking of some kind.

brittle geyser
#

grant command give user with top rank give small rank for noobs without rank

shadow night
#

I have a feeling that this (thing above) made more sense in russian than this is making in english rn

kind hatch
#

Sooo, users with the top rank can give regular users a rank?

brittle geyser
#

I am asking for decreasing amount of IF

brittle geyser
#

Top rank user’s can give friends or random people smaller ranks

grim hound
#

bruh I'm trying to find the invocation of this event but only this shows up

brittle geyser
#

For free or game money

kind hatch
#

I see

chrome beacon
grim hound
chrome beacon
#

Papers gradle plugin to depend on nms

grim hound
pseudo hazel
brittle geyser
pseudo hazel
#

yes but each one seems neccesary for the command

#

and to send a message why it went wrong if it does

shadow night
#

ig you could extract the if's to another method or something

pseudo hazel
#

maybe but that doesnt remove any ifs, it just moves them where you cant see them anymore

shadow night
#

or, well, the method

chrome beacon
grim hound
#

no idea what a template is

chrome beacon
#

I just mean a project you can clone and use

#

nothing gradle specific

gloomy shore
pseudo hazel
#

im not clicking that

solid zinc
#

Download it and open it as a administrator

pseudo hazel
#

what even is .sk

quiet ice
#

skript

pseudo hazel
#

oh right

solid zinc
#

Slovakia

pseudo hazel
#

xD

quiet ice
#

honestly I don't understand why lesser known formats decides to go with two-letter file extensions, but mkay

pseudo hazel
#

jeez are there no functions in skript or something

#

this hurts my eyes, I understand why you wanna turn this into a plugin haha

#

but yes its very much doable to turn it into a plugin

#

though youd need understanding of how java works and hwo to use the same events as in the script

stiff sonnet
#

is there a way to figure out the actual blocks that were blown up even if multiple tnt blow up one block in the same tick? If I just add up the exploded blocks in the event I get many, many duplicates. I'm not happy with what that event does

eternal oxide
#

yes

#

add them to a set and you get one of each block

stiff sonnet
#

I was hoping to be able to avoid that

eternal oxide
#

what are you doing with them?

stiff sonnet
#

I have to keep track of explosions that belong to certain players, so I have to have an array of sets or something, which gets really ugly really quick

tardy delta
#

any alternative to this, without messing with java.library.path?

        System.load(Path.of(".").resolve("libcounter.so").toAbsolutePath().toString());
stiff sonnet
#

or maybe you'd have to use toAbsolutePath too idk

#

ah getAbsolutePath() can be used instead of toPath()

tardy delta
#

new File("libcounter.so").getAbsolutePath()) seems a bit shorter already

#

surprisingly -Djava.library.path=. doesnt seem to do anything

#

wait

#

how does it suddenly work

stiff sonnet
#

very clunky but I'd save myself the set part

tardy delta
#

Map<UUID, List<Explosion>> or smth

#

dunno what youre doing

stiff sonnet
#

I incidentally explained that in the post that I replied to

eternal oxide
#

what is the purpose? for regen or something?

ruby sable
#

The event isn't run at the end of the tick though, it's run once per TnT is it not?

stiff sonnet
#

if I just take the list of exploded blocks directly I seemingly have a ton of duplicates

#

in the case of overlapping explosions

ruby sable
#

are you modifying the blocks at all or just reading?

stiff sonnet
#

just reading

#

keeping track of the blocks outside the event makes this many times more annoying

ruby sable
#

alright then guess the event doesn't work how I thought 🤔

eternal oxide
#

you get one event per explosion, but they can fire one after another in teh same tick, so they calculate teh exploded blocks as if the other tnt had not blown up yet

ruby sable
#

understandable

eternal oxide
#

however, if they blow in teh same tick its pure change which actually blew first

stiff sonnet
eternal oxide
#

as such you could store teh first events BlockList and add them all to a set. subsquent events you check against the Set, remove from teh new List any that are already in the Set and store that LIst. repeat until no more events

#

first come first served

stiff sonnet
#

the question is also, how do I determine when the last explosion has finished? do I just clear out the set every tick?

#

after processing it

eternal oxide
#

knowing when a tick ends is not going to be easy

stiff sonnet
#

agh why is this event such garbage

#

you can practically only use it to cancel the whole explosion it seems

eternal oxide
#

yeah its more of a List of Blocks its going to try to blow up

stiff sonnet
#

yeah I guess I'll have to do the one-tick-delay method

eternal oxide
#

you can remove blocks from teh BlockList

stoic tapir
#

currently creating an NPC using NMS, im very new and so i dont know what im doing.
help

eternal oxide
#

it mutable

stiff sonnet
#

right that seems somewhat helpful

#

thanks

chrome beacon
#

You don't have to reinvent the wheel

stoic tapir
#

can i... use their API?

#

somehow?

chrome beacon
#

yes

#

They have an excellent api

stoic tapir
#

i tried importing it but to no avail

chrome beacon
#

What did you try?

stoic tapir
#

is that... sarcasm?

chrome beacon
#

no

#

Are you using maven or gradle?

stoic tapir
#

none 😭

#

Intellij

chrome beacon
#

oh yeah that would make things harder

stoic tapir
#

can i fix it?

chrome beacon
#

I recommend moving your project to use maven

stoic tapir
#

k

#

would that change anything in my code?

chrome beacon
#

No

#

Just the way you import dependencies and the folder structure of your project

stoic tapir
#

ok...

#

so how would i import SPigotAPI?

pliant topaz
#

for IntelliJ I'd recommand the Plugin 'Minecraft Dvelopment'

#

It'll do all that for you

chrome beacon
#

^^ helps install other common dependencies too

pliant topaz
#

(now I want it too ;-;)

stoic tapir
#

thanks!

#

but uhh

#

oh i cant send images

chrome beacon
#

?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

pliant topaz
#

you have to be verified to do that

stiff sonnet
#

this image verification thing is so stupid. Where's the difference between sharing a link to an image and sharing the image? Both cases allow the image to be deleted off discord very easily

#

why make it hard for people when there is no benefit to that

eternal oxide
#

spam bots

stiff sonnet
#

they can spam links to images though?

#

they mostly send text anyway

#

or invites

eternal oxide
#

we don't have to view dick pics then though

stiff sonnet
#

has that ever even happened? If you can just delete the images where's the problem?

eternal oxide
#

yes, frequently

stiff sonnet
#

clicking on a link out of curiosity and getting a dick pick makes no difference compared to having it pop up on your screen when you see the message

#

my grammar is all over the place ;-;

eternal oxide
#

we don;t click on random img links here unless you have been helping the person

stiff sonnet
#

bruh

eternal oxide
#

bruh? You asked I answered. You didn;t like the answer?

stiff sonnet
#

I get what you said but why require such an annoying verification procedure then? Not everybody, including me, has a spigot account. Just verifying using a captcha bot would be much more pleasant

eternal oxide
#

why? bots can complete captcha

#

If you sign up on the forum it also drives traffic to the site

stiff sonnet
#

not really seen that happen before. While in theory possible nobody bothers with that. Also good luck having a bot solve a hcaptcha. These are getting more and more creative

eternal oxide
#

We can also relate a Discord account to a forum account, for punishment

stiff sonnet
#

you could just create a new discord and forum account if you wanted

eternal oxide
#

yes, and when found out you get banned

#

has happened before

stiff sonnet
#

who would notice?

#

in countries like germany your public IP rotates daily, good luck tracking that

eternal oxide
#

Speech mannerisms often give people away.

stiff sonnet
#

I have checked, you can ban evade like that easily

stiff sonnet
quiet ice
stiff sonnet
#

maybe only Telekom does that

eternal oxide
#

do you understand what "often" means?

#

These are all things which HAVE happened. These are not things I'm dreaming up.

stiff sonnet
#

if you were really trying - which anyone could do - then you could slip under the radar very easily

#

also Discord IP bans by default so any captcha bot could suffice

quartz basalt
#

is it possible to change the size of a hologram

eternal oxide
#

what do you mean by hologram?

stiff sonnet
#

armor stands + colored nametag or the new entities?

quartz basalt
#

yeah

#

or either idk

stiff sonnet
#

doubt since those are rendered client side

quartz basalt
#

what new entities

eternal oxide
#

new Entities have a Translation with scale

quartz basalt
#

would that change the size of their name if i made them smaller

eternal oxide
#

Display Entities

stiff sonnet
eternal oxide
#

a TextDisplay is scalable

quartz basalt
#

ohh ok thnks

shy rock
#

Do non hostile mobs not count in entitySpawnEvents? I made a plugin that adds a nametag to all mobs, it works but not for pigs,sheep,turtles,cows. While it works for every other mob. When I maunally spawn them with eggs, spawners, summon command or breeding the event works.

lost matrix
lilac vector
#

Is there a special event for obtaining an item from a crafting table?

#

Or should I just listen for inventoryclick

lost matrix
#

Just the click. And the CraftItemEvent which inherits from the click event.

lilac vector
#

unless im observing incorrectly craftitemevent is more like recipecompleteevent

#

and isn't for the moment you craft the item

quaint mantle
#

Hello Guys, i created a Server with Multiverse. Survial World and Lobby, if i die in the Survival World i spawn back in the main lobby, how can i fix that?

chrome beacon
lost matrix
lilac vector
tardy delta
#

only thing is that they might not be able to properly read their content

#

it was never about the captcha tho

lilac vector
#

hm

#

thats kinda weird

#

it seems like craftitemevent isn't called when you set the result via a preparecraftevent

#

that's probably what confused me

gloomy ocean
#

How can I get berock players to join a 1.20.4 server? I'm using paper and it doesn't have a 1.20.5 version yet

#

I have the latest version of geyser and viaversion + backwards and it's not working

chrome beacon
#

Sounds like a question for #help-server and/or the geyser discord

quartz basalt
#

how would i change the size of the textdisplay/size of the text in the textdisplay

kind hatch
#

Scale

eternal oxide
#

set the Translation

quartz basalt
#

i dont see a scale or translation method?

eternal oxide
#

Transformation

quartz basalt
#

ah i was using TextDisplay not Display, but i assume i can still display text?

eternal oxide
#

TextDisplay implements Display

quartz basalt
#

ok thanks

eternal oxide
zealous osprey
#

interface ServerOperator?

brazen hollow
#

Hi, I have a problem with gson. I'm trying to create a system that loads json files dynamically from a given directory so that subdirectories are supported and files can include a single / multiple entries. My method: https://paste.md-5.net/ritidulivi.cs. The problem is in line 34, on the runtime I get the following exception:

java.lang.NoSuchMethodError: 'java.lang.Object com.google.gson.Gson.fromJson(java.io.Reader, com.google.gson.reflect.TypeToken)'

However, intelij doesn't complain. I'm a bit confused as there are two TypeToken classes of gson. When I tried with the other one, the dezerialisatzion worked but it didn't parse it to my class but to a linkedhashmap. Any idea whats wrong?

chrome beacon
#

Probably depending on the wrong version of gson

#

and using a method not present at runtime

brazen hollow
#

I have the latest version of gson (2.10.1)

chrome beacon
#

and what version is the server using

#

or are you shading/providing gson on your own

brazen hollow
#

My server is on 1.19.2, im shading

chrome beacon
#

Make sure to relocate

brazen hollow
#

okay I dont know what went wrong but when I'm using var arrayType = TypeToken.getParameterized(Set.class, clazz).getType();, it works as then another method is used :)

chrome beacon
#

Did you relocate gson

crisp acorn
#

can someone help me to understand how the sleeping rotation work with the NMS packet ClientboundMoveEntityPacket.rot?

warm mica
#

What do you mean with "sleeping"

lilac vector
#

i'm actually getting tired so many bugs ive encountered with CraftItemEvent & PrepareCraftEvent I'm kinda considering remaking the craft ui

crisp acorn
lilac vector
#

I'm trying to make my own crafting system

#

to allow for shit requiring 32x stone for a recipe

#

I'm really struggling with the UI part though

lost matrix
#

Split it up into two parts. First make sure the recipe detection for your ingredients work.
After that you need to handle the actual crafting of the ItemStack.

lilac vector
#

I do have the recipe detection working already

#

but as I said interacting with minecarft is a pain in the ass

#

I did manage to use preparecraftevent to set the result of the recipe

#
    @EventHandler
    public void onPrepCrafting(PrepareItemCraftEvent e) {
        e.getViewers().get(0).sendMessage("prep crafting");
        Recipe r = getRecipe(e.getInventory().getMatrix());

        if (r == null) {
            e.getInventory().setResult(new ItemStack(Material.AIR)); }
        else {
            e.getInventory().setResult(r.result().representation());
        };
    }```
#

but can't manage to make CraftItemEvent work properly

#

all it'd really need to do is just decrement the items from the matrix but fuck it's confusing

lost matrix
#

Let me try this brb

lilac vector
#

alr

craggy spade
#

my server has a few houses i need a plugin where multiple people can the same buy a house and enter the house but for everyone the inside is different because its their house and they can invite people to the inside of their house

lost matrix
lilac vector
lost matrix
#

?paste

undone axleBOT
lilac vector
#

also can you try it with the requirement being 32 items instead of 64

young knoll
#

Yeah shift clicking is the annoying part

grim hound
#

how do I

#

look for usages

#

of nms classes

#

in the server source code

lost matrix
lost matrix
grim hound
#

nothing happens

lost matrix
#

Might as well just open whatever BuildTools spits out

grim hound
#

and when I just throw then with build tools

#

intellij gets a panick attack

lilac vector
# lost matrix

weird. idk what I did wrong but it works really bad for me. i cant send the video but like, the first craft takes 2 items away the 2nd takes 32

grim hound
#

for context

lost matrix
#

?

grim hound
#

the packages

#

from buildtools' jar

#

and shoved them into a project

#

as if they were normal packages

#

and this shit

#

pops up

late sonnet
#

what are you try to do?

grim hound
#

or if you use it outside it's treated as a library

#

and isn'

#

t working either

grim hound
#

for usages of classes

#

in server code

#

I need precise knowledge

late sonnet
#

then BuildTools and navigate in the spigot result...

grim hound
late sonnet
#

You run Buildtools and nagivate to "Spigot\Spigot-Server"?

grim hound
late sonnet
remote swallow
#

buildtools/spigot/spigot-sever

lilac vector
late sonnet
# grim hound yes

then you need run BuildTools for generate the JAR server.. this make BuildTools generate directories for clone the repos from stash that repos you can use for search

#

this looks the directory when run BuildTools and with IntelliJ onlyy need open the Spigot\Spigot-Server for check code..

grim hound
#

I did

remote swallow
#

you have most likely used the jar

#

look in spigot/spigot-server

grim hound
late sonnet
grim hound
lilac vector
#

?paste

undone axleBOT
lilac vector
#

the recipe prep is great

#

it works

#

but when I craft an item with 64 on each slot

#

each item goes up to 126

#

and i also get the result

#

*and keeps doublin

nova quail
#

Hello! Can someone help please with spawn particles. I need to do wings like Angel Wings. I have made wings in butter fly shape but don't understand how to change it shape correcty
https://paste.md-5.net/wakamukike.cpp

lament hill
#

I'm making a plugin right now, and I use Ormlite (I hope it's okay to ask for help here)

I am wondering about what the foreignAutoRefresh = true flag accually does?
I know the foreignAutoCreate = true can be used instead of create() But the refresh flag I have no idea what accutally does.

lilac vector
chrome beacon
#

From the javadoc

#

essentially when you add that to a field and you retrieve the parent object it will auto refresh the field

iron spade
#

import net.minecraft.server.v1_18_2_R2.World; or net.minecraft.world ??

dawn flower
#

this isn't really development but idk where else to ask this, what unicode do server use for progress bars? they're usually abunch of lines but they look connected unlike abunch of minus unicodes which are seperated

lilac vector
#

box drawing characters prolly

clear elm
#

how can i spawn an zombie and edit him?

dawn flower
clear elm
#

ty

chrome beacon
#

You mean those?

dawn flower
slender elbow
#

why does it have to be a unicode codepoint?

dawn flower
#

idk

#

breh its just &m

slender elbow
#

it really isn't ...

#

they draw sprites

dawn flower
#

it really is

#

thats literally the same thing

slender elbow
#

they don't use the text renderer and strikethrough for it tho

#

they have actual sprite textures

dawn flower
#

it works without sprites for me so cool ig

prime reef
#

i'm guessing there is absolutely zero way to draw a spline without using particles

#

without writing a clunky homebrew solution, anyway

quiet ice
#

I have no idea what else could fit the description, but what were you thinking of anyways?

prime reef
#

just some way to represent an arbitrary spline in world space that doesn't involve using particles, since those are visually noisy (and some people just have them off)

#

i suppose i could divide it into line segments and just use something like a chain item in a display/armor stand

worthy yarrow
#

What if you did some fancy stuff with text displays

chrome beacon
#

If you want a smooth spline you could probably get a shader to do so

worthy yarrow
#

Or will it always rotate contrary to the players view

prime reef
prime reef
#

so that's not an option

worthy yarrow
#

Darn

prime reef
#

i mean it wouldn't be hard

chrome beacon
prime reef
#

you can just compute points along the spline for however many line segments you deem an appropriate approximation

prime reef
quiet ice
#

Resource packs I'd guess

prime reef
#

i don't recall spigot being able to execute shaders for the player

#

i guess, but

chrome beacon
#

Resource pack

#

core shaders

prime reef
#

oh, is that supported now?

#

that's actually awesome

#

i'm guessing they're GLSL, which sucks, but

chrome beacon
#

Yes it's glsl

#

not that bad to work with

prime reef
#

yeah i'm just used to HLSL

#

it's not that bad to translate ofc, just personal preference

#

should clarify, that sucks for me, not in general lmao

#

cool, I'll look into that, might be able to do something wacky with custom packets

worthy yarrow
#

Given a player has particles turned off (client wise) there's no possible way to send particles to the player correct?

prime reef
#

you can, they just won't render

worthy yarrow
#

That's what I mean

prime reef
#

i try to override this by using serverside settings that players can use

#

that way you can decrease the density of particles rather than disabling some outright

worthy yarrow
#

Hmm

prime reef
#

but ofc people won't always use the options presented to them, and to be fair, changing your particle settings just to play on a server is a little tedious

worthy yarrow
#

Yeah, but think about the visual effects offered by just one setting

#

Anyways, I'm just trying to figure out different weather conditions for my seasons... heavy, light, mid conditions as it were and wasn't sure if you could like force the rendering of particles

prime reef
#

you can't, but that would be pretty easy to do with postprocessing shaders now that i'm looking into them. maybe

#

as long as you're able to send some information to the shader lmao

worthy yarrow
#

I've not touched core shaders whatsoever, I am no help there

lilac vector
#

how do I hide the

3 attack damage```
thing from tools
#

the HIDE_ATTRIBUTES flag doesnt seem to work

prime reef
#

hmm

#

how are you applying that flag?

#

let's make sure you're doing that properly first

worthy yarrow
#

@prime reef how long have you been working w spigot?

prime reef
#

dunno, on and off since i was like

#

16?

#

i'm now 25

#

i'm no expert

#

but i work in rendering professionally so

#

i may not know the API inside and out but I do have some grasp of programming lmao

lilac vector
worthy yarrow
#

You are just very quick to your own solutions haha

slender elbow
#

does the item have attribute modifiers beforehand or are you adding them at a later point?

prime reef
slender elbow
#

it actually does

#

because cb is stupid

prime reef
#

does that reset them?

#

or just regenerate the item description heedless of the flags

slender elbow
#

if the meta doesn't have any modifiers by the time you give the item to the player, it will straight up ignore that hide flag

worthy yarrow
#

breh

prime reef
#

that's a little wacky silly

quiet ice
#

"performance"

prime reef
lilac vector
prime reef
#

yeah I gathered as much

#

do you give the player the item right after this?

lilac vector
#

lel

prime reef
#

is anything else changing the attributes?

#

^

lilac vector
#

By the time I give it to the player or by the time I add it to the meta?

worthy yarrow
#

By the time you give it to the player if theres no attributes it will ignore

#

So you should create the item (with the attribute flag) then give it to the player

lilac vector
#

right but these items are already cached in a hashmap

#

and then given to the player

worthy yarrow
#

So then it sounds like you have to give the item an attribute before caching it

lilac vector
slender elbow
#

maybe show more of the code? how are you creating the items etc

worthy yarrow
#

add them at the beginning

lilac vector
#

the attributes?

worthy yarrow
#

Yes

slender elbow
#

for the flag to be effective, the item has to have modifiers already

#

it's dum

lilac vector
#

that makes less sense than a donut flying

worthy yarrow
slender elbow
#

you can see it early returns if the modifiers map is empty, but the hide flag is added at the end

lilac vector
prime reef
#

it happens constantly in software

worthy yarrow
#

I thought 1.20.5 was the best thing to ever happen to items

slender elbow
#

and it is

prime reef
#

work for a publicly traded corporation and you'll realize that everything is profit driven

slender elbow
#

but cb is poo poo

prime reef
#

what happens in 1.20.5?

#

cb needs to fucking go

worthy yarrow
#

But it's still not the best

lilac vector
#

whats cb

prime reef
#

craftbukkit

lilac vector
#

ah

prime reef
#

legacy garbage from years ago

#

unfortunately it's still like

slender elbow
#

this is a bukkit thing because of itemmeta and does not naturally happen in vanilla

prime reef
#

the core of a lot of spigot

slender elbow
#

and still maintained for that reason

worthy yarrow
#

It goes nms > craftBukkit > spigot

#

And the respective api's for cb and spigot ofc

lilac vector
#

okay so rn it is

ItemMeta meta = itemStack.getItemMeta();
meta.addItemFlags(..);
..other stuff..
itemStack.setItemMeta(meta);

but it stilld oesnt seem to work

prime reef
#

add the flags at the very end

undone axleBOT
worthy yarrow
#

Show more code

prime reef
#

one of the worst things about plugins is if you decide you want to support NMS operations for multiple versions

worthy yarrow
#

^

prime reef
#

because then you end up mired in reflection

worthy yarrow
#

12 classes deep lol

prime reef
#

reflection is 90% of the reason my plugins work

prime reef
worthy yarrow
#

breh

#

That's just

#

alright

prime reef
#

You also don't have any IDE hints

prime reef
#

You can't import anything because that just runs counter to what you're trying to accomplish in the first place (not having to fix everything every version)

#

you can write "adapters" for every version you want to support instead, but setting that up is a chore

worthy yarrow
#

I'm having a panic attack from this paste

prime reef
#

why

river oracle
#

Probably the random init block

prime reef
#

...you mean the scope?

#

that's not an init block

worthy yarrow
#

I said show more code and he won't even give me the whole method D:

prime reef
#

i mean this is the full context more or less

#

i shit you not, put the item flags at the very end and see if that works

worthy yarrow
#

I want to see where he's calling this method from tho

prime reef
#

one thing at a time

worthy yarrow
#

sure

river oracle
#

Legit thought this was an initial block lol

prime reef
lilac vector
prime reef
#

at the very least it'll stop intellisense from grabbing variables it shouldn't

prime reef
river oracle
prime reef
#

"hol up lemme pass everything by reference"
imports 27 libraries, writes 3 lines of code

#

average java experience

prime reef
#

i'm mostly joking

river oracle
#

you're pretty much fully joking

prime reef
river oracle
#

besides by the passing by reference

prime reef
#

it's wacky

river oracle
prime reef
#

nah

worthy yarrow
river oracle
#

their are like 1 or 2 big libraries

prime reef
#

i don't do web dev

prime reef
worthy yarrow
#

Sure, but that's sorta niche

prime reef
#

they solve one random tiny problem with libraries lmao

river oracle
#

you've seen

#

its annecdotal

prime reef
#

it is anecdotal, yes, which is why I said I was mostly joking

river oracle
#

I mean I could make the same observation about any language kek

prime reef
#

eh, Clangs have the opposite problem

everyone stubbornly refuses to use libraries and writes hacky code with 0 consistent formatting/syntax

lilac vector
lilac vector
#

C & C++ people don't do this cos their build system sucks

prime reef
prime reef
#

but that's another conversation about compilers

worthy yarrow
prime reef
#

yeah this seems really basic and like it should work just fine

lilac vector
worthy yarrow
#

Erm we're probably all blind and it's a one line fix

prime reef
#

i have questions about why you do this with an array, but

lilac vector
#

hide_unbreakable seems to work fine

#

so idt its the issue with attributes

prime reef
worthy yarrow
#

So when are you creating this item?

lilac vector
#

at startup

prime reef
#

hold up

lilac vector
#

im holding

worthy yarrow
#

you might wanna give that a delay

prime reef
#

what are you doing with it

#

and why are you doing it this way lmao

lilac vector
worthy yarrow
#

yeah but

#

why

proud badge
#
BanEntry<?> banEntry = banList.getBanEntry(args[0]);
banEntry.setExpiration(expire);```
Anyone know why the ban expiration date does not change? The date object is correct
lilac vector
prime reef
#

this tells us nothing

#

what is "args[0]"

#

what is "expire"

worthy yarrow
#

Uh I feel like creating the item on enable might be an issue

prime reef
#

try everything I guess

lilac vector
proud badge
worthy yarrow
#

I don't think so

#

But like

prime reef
#

the problem with programming is that you never know for sure until you try

worthy yarrow
#

your code looks fine

lilac vector
#

cos if that's happening we gotta throw the whole api away

prime reef
#

i don't normally do plugin work nowadays, i was only looking into it for a friend

worthy yarrow
prime reef
#

and a big part of why i don't do plugin work anymore is

spigot

worthy yarrow
#

you gotta come back for 1.20.5

lilac vector
#

speaking of which

#

could it also just be a bug with 1.20.5

#

¯_(ツ)_/¯

prime reef
#

not even user error dumb

#

just a quirk that probably shouldn't be a thing

#

i have no idea what 1.20.5 does still

worthy yarrow
#

Itemstacks no are able to hold a durability for example : grass block (max stack size 1, durability 100) means you can place that block without it disappearing and it’ll just tick durability
Not only that, but a bunch of player attributes like scale and what not

lilac vector
prime reef
#

oh they rolled out armadillos

lilac vector
#

it literally feels modded

prime reef
#

pun not intended

worthy yarrow
#

lotta QOL stuff

prime reef
#

scale? that's interesting

lilac vector
#

no one cares about those

#

YOU CAN JUMP HIGH

#

and

#

gravity

prime reef
#

hey, now I don't have to manually do gravity

worthy yarrow
#

yup

#

Issue is that 1.20.5 runs j21 I'm pretty sure

proud badge
#

ah I need to .save()

lilac vector
slender elbow
#

"issue"

worthy yarrow
#

Yeah why would I want to update to better, newer technology when I can stick with what I know and live under a rock forever

prime reef
#

based

lilac vector
#

it's bigger... it's better... and it'll still disappoint you!

vestal pumice
#

is there api changes & additions for 1.20.5 somewhere?

prime reef
#

but for certain things

worthy yarrow
river oracle
#

read

worthy yarrow
#

ty y2

slender elbow
#

big md5

prime reef
#

oh thanks

prime reef
lilac vector
river oracle
#

I'm downloading Android Studio

prime reef
#

interaction range go brr

#

java combat test stuff still not in 😔

slender elbow
#

anticheats in shambles

sterile token
#

oauth2
openid

slender elbow
#

oauth2
openid indeed

river oracle
#

Great comments as always Verano

#

one of the great schollars of our time

sterile token
river oracle
#

yes

#

we are related

#

💪

sterile token
#

such a long time without seeing

#

hope to see you again

river oracle
#

You moved away from our home land at a young age

#

likewise

lilac vector
river oracle
#

no

#

Minecraft trusts the client too much

lilac vector
#

since now plugin devs wont be using janky ass methods to increase player range and can rely on the attribute

prime reef
#

probably

sterile token
#

i just can say that not even 0.1% of minecraft developers know how to correctly do anti cheats. Talking about efficiency, effectiveness and compatibility

prime reef
#

though it doesn't solve my need to hit everything in range 😔

quartz basalt
#

if im using TextDisplays how can i change the size of it? i know the setTransformation method but i dont really understand how it works (yes ive looked at the docs and still dont understand)

slender elbow
#

yeah so

#

you need to know math

#

or

#

use scale attribute now

prime reef
#

Wait, text displays don't billboard

#

That's neat

slender elbow
#

they can

#

you can toggle

quartz basalt
prime reef
#

sorry, I meant

#

they don't have to billboard

#

which is cool

worthy yarrow
prime reef
#

It still draws the background though

#

which

#

is not what I want, unfortunately

worthy yarrow
#

You can just turn the opacity down cant you?

prime reef
#

can you? that'd be neat

worthy yarrow
#

I'm pretty sure

river oracle
#

you can

young knoll
#

Text displays don’t have a scale attribute silly

river oracle
#

Coll here is our resident text display nerd

prime reef
#

you can modify the background color

young knoll
#

You have to use the transform

prime reef
#

so i guess you can just remove it lmao

quartz basalt
slender elbow
#

oh yeah it's only for living entities

#

despite the attribute name being generic

slender elbow
#

mojang in their infinite wisdom

prime reef
#

this exists

young knoll
#

Yeah because non living entities don’t even have attributes

slender elbow
#

dumb

prime reef
#

confusing thing about the transform stuff is just

slender elbow
#

i want a GIANt dropped item

river oracle
# slender elbow dumb

you literally work for paper as head CEO which is basically just mojang bro just add it smh

prime reef
#

i don't know what format they want for left/right rotation

slender elbow
#

scared i'll delete everything

river oracle
#

see at CabernetMC

#

we give write access to anyone

#

even that homeless guy you've seen around

slender elbow
#

damn

prime reef
#

that homeless guy? bill gates

lilac vector
remote swallow
river oracle
worthy yarrow
#

When it's storming in a world, can I cancel the rain / snow visual that goes along with that?

rotund ravine
#

Why

worthy yarrow
#

seasons plugin

rotund ravine
#

U can tell a player the weather is clear 🤷🏽‍♂️

river oracle
#

just lie just lie 🙉

worthy yarrow
#

I want the overcast

#

I should have been clearer sorry

young knoll
#

Fake a desert biome

#

Or any biome with precipitation disabled

prime reef
#

i still think shaders will be your best bet for that

#

oh no

#

wait, you're fine with the clouds/etc.

#

then yeah, fake an arid biome

worthy yarrow
prime reef
#

shold be doable with packets

worthy yarrow
#

Quite easy with packets

#

if world.hasStorm -> send fake biome

#

with some

#

exceptions

lilac vector
#

Is there some minecraft way to do those floating texts nowadays?

#

or are we still just rawdogging armour stands

river oracle
#

TextDisplays

#

are the main way now adays

#

using armor stands is def primitive compareitively

lilac vector
#

damn thats pretty is that a minecraft thing or a spigot

river oracle
#

minecraft

#

TextDisplays are a vanilla features

lilac vector
#

damn nice!

#

since when?

#

i feel like i just came out of my cavemen cave

river oracle
#

1.19.4

slender elbow
quartz basalt
#

yeah i did thats the thing

#

i dont understand it

slender elbow
#

which part

#

the scale vector tells it how much to scale in each axis

quartz basalt
#

what the method takes like why does it need 4 vectors? why isnt it just setTransformation(3, 3, 3) for example

slender elbow
#

because

#

maths

#

just pass zero for everything but the scale

river oracle
#

^ +1 Geometry is annoying i don't think anyone here is going to teach you

quartz basalt
#

alright then thanks

river oracle
#

maybe smile, but he is a rare gem

young knoll
#

You can’t pass zero

#

But you can pass the no args constructors of the types

slender elbow
#

which constructs them to 0

young knoll
#

Yeah but it’s not the same as 0

#

Also the quaternions are technically 0 0 0 1

#

:p

slender elbow
#

but you aren't dealing with quaternions with the bukkit transformation class

#

translation and scale are regular 3d vectors

#

to simplify it

young knoll
#

Yea but the rotations aren’t

#

Ah wait right you don’t have to construct the entire transformation

#

You just get the existing one

lilac vector
#

Y'all is there any docs on how to get text displays workin?

young knoll
#

Just give em some text

#

That’s all you need for the basics

lilac vector
#

yeah but like how do I create the textdisplay?

#

it's apparently an abstract class so

young knoll
#

Have you never spawned an entity with spigot?

#

You use world#spawn

lilac vector
#

oh

#

didnt think it was an entity

young knoll
#

Renamed to match what Mojang calls it

#

So probably just tnt

prime reef
#

is there a way to uh

#

send through shader values from the server

#

like let's say you send over a resource pack with a postprocessing shader

#

is there a way to tell an unmodded client to use that shader and give it a uniform or anything?

remote swallow
#

core shaders

young knoll
#

No

#

Shaders are fully client side

#

You can kind of communicate data to them with some hacks tho

#

Like text color

lilac vector
#

Is there any way to remove the DAMAGE_INDICATOR particles when attacking something?

#

It gets quite laggy with big boi damage

iron spade
#

getItemMeta not working

        ItemMeta meta = balloon.getItemMeta();
        // Set custom model data
        meta.setCustomModelData(1); // Change custom model data
        return meta;
    }```
young knoll
#

?notworking

undone axleBOT
#

"Does not working" is a useless statement. Please describe what exactly is not working, what you expect it to do, and what actually happens. If you get any console errors, also ?paste the entire stacktrace.

iron spade
#

?paste

undone axleBOT
quaint mantle
#

I suggest you to use display entities. The cost of no compatibility <1.19.4 versions

sullen marlin
#

you're trying to call .getItemMeta on an armor stand

lilac dagger
#

can i disable collision of an armor stand?

eternal oxide
#

you can make it very small is all setMarker(true)

lilac dagger
#

marker should do it i think

#

thanks

young knoll
#

That does disable collision

hollow oxide
#
if (command.getName().equalsIgnoreCase("forloop")){
  String[] cmds = Arrays.copyOfRange(args, 5, args.length);
  String commands = String.join(" ", cmds);
  cmds= commands.split("\\|");
  for (int i = Integer.parseInt(args[2]); i <= Integer.parseInt(args[3]); i+=Integer.parseInt(args[4])) {
    for (String cmd : cmds) {
        Bukkit.dispatchCommand(sender, cmd.replace(args[1], String.valueOf(i)));
    }
  }
}

what i'm doing is making a /forloop command to repeat stuff

my concern is that it's not in the right order
forloop MommyPlease_UwU var 0 5 1 execute as @s run say var

blazing ocean
#

MommyPlease_UwU is crazy

hollow oxide
#

i need to change it but i'm too lazy

lilac vector
#

id be ashamed to share dat😭

hollow oxide
#

i don't really care xDD i'm gringe and that's fine

subtle niche
#

Love the name

slender elbow
hollow oxide
#

i kinda like it since it's dumb but i also find it cringe

hollow oxide
stiff crown
lilac vector
#

well it might be sync but what I mean is that it's order isnt deterministic

hollow oxide
lilac vector
#

why not use

#

Player#performCommand

stiff crown
#

at least the outer for loop

prime reef
#

figured out the shader issue, you can use team colors

#

wacky

hollow oxide
hollow oxide
stiff crown
#

oh

#

() -> {}

lilac vector
#

unless theres a command to execute a command

#

and not dispatch it

#

your best option is scheduling the dispatchCommand call

#

and delaying each item by one tick

hollow oxide
lilac vector
#

huh

#

its not a horrible option

#

Hm

hollow oxide
#

it's hard for me to tell if it's even possible since everything is done in the same tick so idk

hollow oxide
remote swallow
#

plugin, () -> {}

hollow oxide
#

ok

small valve
#

Is there a way for a plugin on the Proxy to prevent certain players on a server from seeing chat messages?

For example; player1 and player2 are on the same server. player1 has some.permission.read, but player2 does not.

Is there a way to prevent player2 from seeing player1's message? Or does this have to be done via a Spigot plugin rather than a Bungeecord plugin.

remote swallow
#

cancel the chat ever and broadcast with Bukkit.broadcast(message, "permission") is the easiest way, youd most likely need to do that on highest priority to make sure to get all message mods

lilac vector
hollow oxide
lilac vector
#

i-

#

Bukkit.getScheduler().runTaskLater(PLUGIN, () -> { your stuff }, i);

hollow oxide
#

i'm trying to not delay it from a tick or it would be pointless but just a little

flint coyote
#

Is there something such as a 2D bounding box or do I have to make my own?

flint coyote
#

yes

lilac vector
#

yes there is a rectangle in java

flint coyote
#

Well I need to check if a location is inside of it. But I might base my own class on Rectangle then

lilac vector
#

sure-?

remote swallow
#

you should not be doing it

#

use a scheduler with runtasklater and a tick amount specified

hollow oxide
#

ok yeah i wont xDD

hollow oxide
remote swallow
#

you wont be able to tell the fact its a tick

#

its 50 ms

lilac vector
#

thats wrong

#

you will definitely be able to tell

#

but it wont matter

remote swallow
#

you can tell that theres a single tick delay

#

are you super man?

hollow oxide
#

yup but i'll since it's 50ms very itteration (can go up to 10/15 so... a lot of time )

lilac vector
flint coyote
#

The server does not tick more often either. What are you trying to do with your sleep?

hollow oxide
#

i mean... it really feels impossible xDD

young knoll
#

There’s not much you can do if the commands don’t send in the proper order without delay

hollow oxide
#

yeah that's what i thought

lilac dagger
#

no point in remaking the class

hollow oxide
#

but i wasn't really sure so i asked

young knoll
#

I don’t think the bounding box class checks for collisions on the edge