#help-development

1 messages Β· Page 205 of 1

echo basalt
#

mf bed wasn't going through the door so they yeeted it into the 1st floor window

mighty pier
#

forntite refrence

echo basalt
#

nope

mighty pier
#

accept my friend request babe

echo basalt
#

already denied it

mighty pier
#

bruh

hybrid spoke
#

but sadly there is no full version

echo basalt
#

I swear why are half of the people here german

hollow pelican
eternal night
crimson terrace
echo basalt
#

y'all can probably fill a stadium

crimson terrace
#

and we would be on time too

#

unless we go by train

echo basalt
#

only mf from my country here is my lovely friend magmaguy

hollow pelican
#

Well, there's 1,800+ verified users online currently, we probably could all fill a stadium tbf

echo basalt
#

I'd meet him if he didn't threaten to yeet me off a cliff every day

mighty pier
eternal night
#

understandable

echo basalt
mighty pier
#

i speak londonese

hybrid spoke
echo basalt
#

some of y'all probably live in the same neighbourhood

crimson terrace
echo basalt
mighty pier
#

\

#

burger

hybrid spoke
echo basalt
#

my knife is hella sharp, my finger can confirm

hybrid spoke
#

when the depression speaks

eternal night
#

if you aren't one

#

you'd make a good one

echo basalt
#

I accidentally cut myself don't judge me like that

#

the peppa pig bandages saved the day

glossy venture
#

still average brit

eternal night
#

peppa pig bandages prayHalo

echo basalt
#

they were cheaper than regular bandages and just as drippy

#

maybe even more drippy

eternal night
#

wait, this is help develop

#

wtf

glossy venture
#

more drippy

glossy venture
#

dora the explorer bandages absolute flex

echo basalt
#

it didn't hurt that much

hybrid spoke
glossy venture
#

true

echo basalt
#

the dora ones do seem drippy

#

why does walmart have mf 4k images for these

torn shuttle
crimson terrace
#

and its important, please indulge

echo basalt
#

Waiting for the SpigotMC lore book to this day

crimson terrace
#

yeah I wanna know if the craft bukkit death is canon

echo basalt
#

dedicated chapter for our war

misty current
#

i managed to register a custom item type using nms

#

i did it in 1.8 so you can register the item with the same id as a valid item (like a diamond pickaxe) but with a different string id (test_item), so the item can be rendered by the client without any modifications

#

not sure if that could be any useful

crimson terrace
#

I'm pretty sure this can break some things. not sure when it came into the api but setCustomModelData on ItemMeta and a resource pack does the trick without nms

misty current
#

i'm not trying to make items with different textures, rather making two identical items look the same from the user's perspective but different internally

crimson terrace
#

in 1.8 that may be necessary but PDC can do that in the newer versions

misty current
#

so i don't have to wrap around itemstacks and construct the wrapper each time i want to modify that item, or even worse run the checks each time for the type of wrapper i need to use for the item i want to wrap

wet breach
misty current
#

that's what i did if you look at the screenshot above but i am not sure whether that's a good design because 1) I'm not sure whether it will actually make my code cleaner and faster and 2) this could break a lot of things i haven't noticed yet

#

the items persist through restarts but if I ever load the server without my plugin all the items are gone

wet breach
#

Well I am uncertain if you can do it via api. So regardless that may be the only way

crimson terrace
misty current
#

spigot ain't forge

wet breach
#

Nope it isn't but the api is always improving

misty current
crimson terrace
#

being able to define custom items and mobs via api only would be a massive step

misty current
#

and also i have fun tryna break minecraft with NMS

eternal night
#

I doubt there is a point in custom item definitions on the server side unless the client is able to understand it

#

mocking a custom item type just to translate it back to a vanilla type when getting it out to clients seems rather meh

misty current
#

it was more of a proof of concept but if that proves to be helpful i might actually use it

eternal night
#

Yea, I mean a library for that would be fun

#

tho I wonder how much it would break in other plugins

wet breach
misty current
eternal night
#

well, the item type itself tho does not really give you anything beyond some identifier of a custom type

#

custom textures would still need custom model data

#

additional data would still be in NBT/PDC

misty current
#

that's what i need, i wanna get rid of my wrappers

quaint mantle
#

hey, how do I set a sign on the chest?

wet breach
#

Sign would be wall sign and you just need to ensure it faces the right way to attach

misty current
#

right now i have an hierarchy of wrappers and each time i want to wrap an itemstack i need to run some methods that try to invoke the constructor of the correct wrapper based on an nbt tag stored in the item

#

it's a mess

quaint mantle
#
    final BlockFace face = event.getBlockFace();
    final WallSign sign = (WallSign) event.getClickedBlock().getBlockData();

    sign.setFacing(face);
#

using PlayerInteractEvent

#

and it still doesn't seem to be working even with the WallSign

eternal night
wet breach
#

You would use blockstate unless blockdata lets you do the same

zealous osprey
wet breach
#

The facing would be the reverse of what you get from the chest if I recall

misty current
#

i am still figuring out how do the item internals work but i think it might be helpful

#

i'll do some testing

quaint mantle
#

getting a cast exception

#

java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_19_R1.block.CraftChest cannot be cast to class org.bukkit.block.data.type.WallSign (org.bukkit.craftbukkit.v1_19_R1.block.CraftChest and org.bukkit.block.data.type.WallSign are in unnamed module of loader java.net.URLClassLoader @759ebb3d)

#

[getting the blocks state in this scenario^]

misty current
wet breach
#

Should be able to cast blockstate to wall sign

chrome beacon
eternal night
#

similar to item meta implementations

quaint mantle
#
    final WallSign sign = (WallSign) event.getClickedBlock().getState();

the state Olivio

wet breach
#

Ah yeah can't cast the chest to a sign lol

quaint mantle
#

oh

quaint mantle
#

what do I do then?

eternal night
#

Yea so you'd still need your wrappers

wet breach
#

I will let the others help. Have work to do lol

eternal night
#

to have method contracts for the NBT data access

quaint mantle
#

Olivio, any idea?

misty current
#

it's also important that i have my wrappers used properly else you could add illegal data to items

#

i have a lot of edge case checks but it's getting messy

misty current
#

by making custom Item classes (which are basically nms' Material)

chrome beacon
#

Either by placing or locating one in the world

quaint mantle
#

so i just set the block infront of the chest as a wallsign?

chrome beacon
#

Yeah if that's what you want

misty current
fierce whale
#

Does anyone know where is pdc saved?
I wanna know pdc of block can be saved whenever I change world file.

quaint mantle
misty current
trim lake
#

Hello,
I need a plugin where the player can open someone's inventory, but not all slots should be visible. Do I need to clone that inventory or can I open and edit whit out making changes (hiding slots) in existing player inventory?
Idk, if someone can understand, I hope someone can πŸ˜„

tender shard
fierce whale
tardy delta
#

if you do player.openInventory(target.getInventory()) then changed are reflected in both ways afaik

misty current
fierce whale
#

Ahha...

misty current
#

i suppose that's what he meant

fierce whale
#

We can't apply pdc on block...

#

got it 😦

tender shard
#

well

#

you can with my library

#

it uses the chunk's PDC to store block data

fierce whale
#

WOW let me see πŸ™‚

tardy delta
#

i was using chunk pdc too to save locks for lockable blocks

trim lake
tardy delta
#

if you want that you can modify the target's inventory, then create another inv and copy all the slots yes

trim lake
#

To keep, that visible slots updated, can I run for ex. every 1 tick? Or do I need handle every inventory action?

tardy delta
#

running thro it every ticks and checking for changes would work ig

trim lake
#

Ex. If player pickup block and it is on visible slot, that slot should update in GUI

#

Ok thaanks!

tardy delta
#

ig

#

try and see what fits the best

trim lake
#

Should be pain to handle every inventory action at lot of work πŸ˜„ Mby would be more optimize to do that than checking inventory every tick. πŸ€”

fierce whale
#

How can I download Custom block data API. I can't find how to download it 😒

tender shard
#

you usually add the dependency to your pom.xml or build.gradle as explained

rough drift
#
<repository>
    <id>jeff-media-public</id>
    <url>https://hub.jeff-media.com/nexus/repository/jeff-media-public/</url>
</repository>
<dependency>
    <groupId>com.jeff_media</groupId>
    <artifactId>CustomBlockData</artifactId>
    <version>2.1.0</version>
    <scope>compile</scope>
</dependency>

As the post says

#

you could read the thread :D

fierce whale
#

I added It but I learned when I use API
I have to add depend to plugin.yml

rough drift
#

yes

#
libraries:
  - com.jeff_media:CustomBlockData:2.1.0
tender shard
#

that will not work, it's not on maven central

rough drift
#

oh wait

#

lmfao

#

noticed as I sent it

tender shard
#

you need to shade it yourself as explained in the thread πŸ˜›

fierce whale
#

lol everything is hard for english noob πŸ˜…

tender shard
#

are you using maven at all?

fierce whale
#

yeah

tender shard
#

then just add the <repository> and <dependency> and also add the maven-shade-plugin to your <build><plugins>:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.3.0</version>
                <configuration>
                    <relocations>
                        <relocation>
                            <pattern>com.jeff_media.customblockdata.CustomBlockData</pattern>
                            <shadedPattern>your.package.name.CustomBlockData</shadedPattern>
                        </relocation>
                    </relocations>
                    <minimizeJar>true</minimizeJar>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
fierce whale
#

ahha

#

Okay I got it. i gonna try

tardy delta
#

damn didnt know this existed in the spigot package

#

🌝

fierce whale
#

I still cant load CustomBlockData API
I write relocating code in pom.xml. But It doesn't work πŸ₯²
I added this depend code in plugin.yml too. what can be the problem?

depend:
  - CustomBlockData
tender shard
#

with that in your depend, the plugin will not enable at all

#

CustomBlockData is NOT a plugin

#

"doesnt work?" show the error pls

#

you must not add anything related to CustomBlockData to your plugin.yml

fierce whale
#

CustomBlockData-2.1.0.jar, TheGlacier-1.0-SNAPSHOT.jar define 3 overlapping resources:

  • META-INF/MANIFEST.MF
  • META-INF/maven/com.jeff_media/CustomBlockData/pom.properties
  • META-INF/maven/com.jeff_media/CustomBlockData/pom.xml
    maven-shade-plugin has detected that some class files are
    present in two or more JARs. When this happens, only one
    single version of the class is copied to the uber jar.
    Usually this is not harmful and you can skip these warnings,
    otherwise try to manually exclude artifacts based on
    mvn dependency:tree -Ddetail=true and the above output.
    See https://maven.apache.org/plugins/maven-shade-plugin/
knotty meteor
tender shard
#

that's not an error

fierce whale
#

umm... okay

#

I excluded depend code

tender shard
#

I don't really understand what the problem is

fierce whale
misty current
#

does the client make assumptions on how fast it can mine a block or does the server tell the client while it is breaking a block how far into the action it is?

tender shard
fierce whale
#

This is my plugin.yml

name: TheGlacier
version: 1.0.0
api-version: 1.18
main: me.rukon0621.theglacier.main
commands:
  //some commands here
misty current
#

is the main path correct?

fierce whale
#

yes its correct

misty current
#

classes should be TitleCase but anyways

#

show the commands too

#

or just read the stacktrace and see what went wrong

fierce whale
#

Here is it

commands:
  test:
    description: test command
    usage: /test
    permission: <plugin name>.oper
    permission-message: You don't have permission to use this command.
    aliases: [ν…ŒμŠ€νŠΈ]
  level:
    description: test command
    usage: /test
    permission: <plugin name>.oper
    permission-message: You don't have permission to use this command.
    aliases: [λ ˆλ²¨κ΄€λ¦¬]
  exp:
    description: test command
    usage: /exp
    permission: <plugin name>.oper
    permission-message: You don't have permission to use this command.
    aliases: [κ²½ν—˜μΉ˜κ΄€λ¦¬]
  money:
    description: test command
    usage: /money
    permission: <plugin name>.oper
    permission-message: You don't have permission to use this command.
    aliases: [λˆκ΄€λ¦¬]
  playerstatus:
    description: test command
    usage: /playerstatus
    permission: <plugin name>.oper
    permission-message: You don't have permission to use this command.
    aliases: [μƒνƒœκ΄€λ¦¬]
misty current
tender shard
#

then send the full stacktrace

#

plugin.yml looks ok

fierce whale
#

Jar.. does not contain plugin.yml ..? what? lol

#
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:178) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:159) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.loadPlugins(CraftServer.java:418) ~[paper-1.18.2.jar:git-Paper-379]
        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.reload(CraftServer.java:1014) ~[paper-1.18.2.jar:git-Paper-379]
        at org.bukkit.Bukkit.reload(Bukkit.java:909) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:54) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159) ~[paper-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.dispatchCommand(CraftServer.java:906) ~[paper-1.18.2.jar:git-Paper-379]
        at org.bukkit.craftbukkit.v1_18_R2.CraftServer.dispatchServerCommand(CraftServer.java:869) ~[paper-1.18.2.jar:git-Paper-379]
        at net.minecraft.server.dedicated.DedicatedServer.handleConsoleInputs(DedicatedServer.java:510) ~[paper-1.18.2.jar:git-Paper-379]
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:484) ~[paper-1.18.2.jar:git-Paper-379]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1456) ~[paper-1.18.2.jar:git-Paper-379]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1226) ~[paper-1.18.2.jar:git-Paper-379]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[paper-1.18.2.jar:git-Paper-379]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml
tender shard
#

do you have a resources block in your <build> thing?

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
misty current
tender shard
fierce whale
#

yes path is correct absoulutely

fierce whale
#

umm... let me check

echo basalt
#

for itself

fierce whale
#

That's okay...

echo basalt
#

the server then predicts the stages based on start and end time

misty current
#

yeah that's what i guessed

fierce whale
#

All things are in their location

misty current
#

that's too bad

echo basalt
#

and sends it to all other players

#

You can somewhat override these stages with negative mining fatigue effects

tender shard
misty current
#

i mean it would be worse if the client didn't because it would be painful to insta mine

tender shard
#

?paste

undone axleBOT
echo basalt
#

instamining is weird

misty current
#

or mine in general with high ping

echo basalt
#

the client sends a "start block dig" packet but not a "finish block dig" for instamining

misty current
#

mojang wtf

echo basalt
#

swapping items to your offhand is also a block dig packet for some strange reason

misty current
#

iirc

echo basalt
#

shoot bow might be item consume

tender shard
#

?paste it

undone axleBOT
misty current
echo basalt
fierce whale
#

I can't paste in one time

#

It's so long

#

You mean use paste command?

tender shard
#

that's what the website is for

#

?paste

undone axleBOT
fierce whale
#

ahha...

#

Sorry 😦

misty current
#

wtf why is the constant supposed to be called DIAMOND named EMERALD

#

that's so weird

#

the more i dig into nms the more i'm confused

tender shard
#

so your plugin.yml is eithe rin the wrong location or you'Re not using the correct .jar file

echo basalt
#

nms is great

#

and it is perfect

#

and there is nothing wrong with it

fierce whale
#

umm okay... Let me check it

echo basalt
#

only thing better than nms is craftbukkit

#

and their CraftEntity class

tender shard
#

it must look like this

echo basalt
#

ayy finally someone else with the default theme

#

mfs be putting gym pics in their ides

misty current
#

it's fun to break stuff and seeing what happens

echo basalt
#

like

#

nms isn't even difficult

#

mfs be scared of it for no reason

misty current
#

it's just that i get weirded out by some stuff

#

you just have to be patient and do a lot of research either in the code itself or on google

#

especially for advanced stuff

echo basalt
#

google won't help you

#

just decompile and reverse-engineer it

fierce whale
misty current
#

also you need a good knowledge of java to understand the code because obfuscation adds a layer of complexity but that's it

#

nothing else is hard about it

misty current
#

right now i'm digging into items and block breaking

#

the more i work with nms the more i understand how hard it is to make even a simplistic game such as minecraft

tardy delta
#

the packet impl is nms right?

misty current
#

what do you mean?

#

i guess yes, packets are not in the api

tardy delta
#

like i wanted to see the impl of PacketPlayOutBoss

misty current
#

you can do it yourself, sure

#

rn i'm working on 1.8 and that packet didn't exist back then

valid basin
#

Does someone know why checking items for lore doesn't work?
Here's my code. I'd appreciate help

        Iterator<ItemStack> i = list.iterator();
        event.setDeathMessage(null);
        while(i.hasNext()){
            ItemStack item = i.next();
            if(item.getItemMeta().getLore().contains("Bound")) {
            //if (item.getType() == Material.GOLD_INGOT) {
                i.remove();
            }
        }```
tender shard
#

because none of your lore lines is exactly "Bound"

tender shard
#

that's &dBound

#

not Bound

valid basin
#

oh

#

πŸ€¦β€β™‚οΈ

#

thx, lemme try

tender shard
#

btw you should use PDC to detect your custom items, not the lore

valid basin
#

PDC?

tardy delta
#

?pdc

valid basin
#

is that a thing on 1.8?

tardy delta
#

no

tender shard
hollow pelican
#

Does anyone know how to store data in a json file and then remove a specific value?

valid basin
#

I have a survival server too on latest so I'll learn it as well

tardy delta
#

is there a way to check if a plugin is reloading because someone called /reload or someone calling /reload and placing an more up to date plugin jar in the plugins/update folder?

hollow pelican
#

(Context: I want to store multiple values under another value.) (ex. Value1 is a string with a number labeled Value2 underneath)

tender shard
#

you can detect a reload using the "currentTicks" field

echo basalt
#

Does a static value get reloaded on a reload

#

Hmm

tender shard
#

should be

#

since every plugin has its own classloader

tardy delta
#

ik how to detect a reload, im trying to see if a plugin gets disabled due to its jar being replaced by a newer jar in the plugins/update folder

echo basalt
#

You can store a hash

tardy delta
#

if so some state of my plugin isnt reflecting reality anymore

tender shard
#

or read the plugin.yml version string

tardy delta
#

the thing is that my collection becomes empty when disabling plugin and placing a new jar

hollow pelican
#

I'm basically just trying to make my own IP ban list, how would I go about doing something like this?

hazy parrot
tardy delta
#

mye i think im close to find a solution cuz my collection only got renewed when a player joins and not when the plugin enables

hollow pelican
tardy delta
#

gson or jsonsimple

hazy parrot
#

Does spigot have gson included?

#

If so, it's very straightforward

river oracle
#

Yeye I'm like 25% sure

tardy delta
#

doesnt it only have guava?

river oracle
#

Cuz it has guava

tardy delta
#

oh well it does

#

guess ill do it like this now

hazy parrot
hollow pelican
#

I'm guessing there's a way to remove the object based on the property too?

hazy parrot
#

Also you can make different class with those fields

hollow pelican
#

Because I'd like to remove it by a string property.

hazy parrot
#

And just de/serialize

marsh burrow
#

Hey fellas, would anyone know of a quick way to send data from one server to another while over bungee? I heard that plugin messages get ignored if a player isn't online, any better way to do this?

tender shard
#

redis

eternal night
#

Usually some form of pubsub system

#

^ e.g. redis

marsh burrow
#

redis, I've heard of that before actually, I will read up on it

#

thank ya

sterile token
#

Spigot contains gson by default

#

Its include since Legacy 1.8 and havent been removed

knotty meteor
lofty junco
#

hello everyone :), can i check with the EntitySpawnEvent if a player spawned?

tardy delta
#

what are you trying to do?

#

theres a PlayerJoinEvent

late sonnet
lofty junco
tardy delta
#

heh whats that

#

:o

sleek oar
#

Is there any fix to the new feature of Minecraft 1.19 that makes all commands caps-sensitive?

robust sinew
#

how do I change the direction an arrow is facing?

#

I can't find a method for it

quaint mantle
#

Does anyone know the best antibot plugin?

tardy delta
#

lets not spam that

quaint mantle
tardy delta
#

when reloading the server, player objects do not longer remain valid right?

crimson terrace
tardy delta
#

well bossbars seem to be persistent as when reloading the server they are still visible to a player, i just looked into the impl and they hold a Set<EntityPlayer> and i think theres some confusion because calling BossBar#addPlayer with the new player object (after reloading) makes the player have that bossbar twice

#

just figuring some bug in my code out lol

crimson terrace
#

you have to manually remove the players from the boss bar

tardy delta
#

mmh ye thats what i thought then

crimson terrace
#

mostly onDisable()

#

thats what I do

tardy delta
#

have been implementing so many things just to handle reloads correctly XD

crimson terrace
#

I get that. you also have to be careful when creating a bossbar and completely restarting the server it saves some boss bars and persists them. gotta clean that out every so often

tardy delta
#

ye lets try smth

#

well seems to work

#

thanks

crimson terrace
#

np

tardy delta
#

just some other bugs smh

crimson terrace
#

there always are XD

#

I could also send you what I have on boss bars if you want... see if we can pool knowledge (and code) on those

tardy delta
#

sure

#

im like making a vanish command lol im at 300 lines of code already πŸ’€

crimson terrace
#

XD you working with packets?

tardy delta
#

no?

crimson terrace
#

just invis potion effect?

tardy delta
#

and some more things yes

crimson terrace
#

ah, the good way πŸ™‚

tardy delta
#

been refactoring my old code from ~450 lines

crimson terrace
#

?paste

undone axleBOT
hoary wing
vocal cloud
#

What

hazy parrot
#

Just don't cast it to player ig

#

Or at least check instanceof

warm token
#

Hi, I need to add an attribute modifier to an itemStack (add more armor points on an armor), but since I'm in legacy, I must use NBT but idk how to do it. If this can help, I'm using NBTAPI

warm token
#

@tardy delta can we cry together?

tardy delta
#

sure

warm token
#

( πŸ₯² )

tardy delta
#

no

molten hearth
#

lmao

warm token
quaint mantle
dim bronze
knotty meteor
warm token
warm token
marsh burrow
#

do ya'll know the best place to talk about Redis?

opal juniper
#

or whatever the command is

#

define not working

quaint mantle
knotty meteor
#

If i sit in the vehicle the w a s & d are not working ad it should be, in 1.12.2 it is working completely fine. But in 1.19.2 the only key that works is A but that moves it forward?

warm token
#

You have to change few things to make it better

dim bronze
hybrid spoke
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.

hoary sierra
#

Trying to make a way to copy Loka damage in a plug-in with it being togglable, how can I go about that?

#

Loka damage is basically normal vanilla damage with a 33% multiplier

quaint mantle
river oracle
#

Gonna need more of a stack trace than that

tardy delta
#

?paste the error

undone axleBOT
river oracle
#

Paste the whole error in the future and honestly if your working with spigot plugins your gonna wanna learn how to read stack traces. Java has some of the most readable errors so it's not very hard

tardy delta
#

rust has lol

hoary sierra
river oracle
tardy delta
tardy delta
#

ok lol solving a bug introduces another bug

chrome beacon
solemn meteor
#

i tried changing org.spigotmc:spigot to org.spigotmc:spigot-api and got a way worst error, so thats something

#

never mind i still dont know what to do

#
java: cannot find symbol
  symbol:   class EntityType
  location: package net.minecraft.world.entity
#

now its mostly this

quaint mantle
#

Anyone know how can I get mojang uuid from premium player on cracked server? .getUniqueId() returns randomly generated uuid.

tardy delta
#

api lookup?

twin venture
#

hello , can i use WorkloadDistribution for a heavy task?
lets say rotating [armorstands , 1 tick ] ..

#

i have been looking for a quite sometime ... if it will be better for performance i will deffently add it

kind hatch
#

?workdistro

twin venture
#

yes as i said i have been searching and reading , but i didnt get a full idea on how i can implement it for armorstand rotation

#

xd

hoary sierra
#

would this work in im trying to increase dammage by 20%?

misty current
#

multiply damage by 1.2

#

basic math

#

also remove that try block

#

it's useless

hoary sierra
misty current
#

why is the method static

hoary sierra
#

ok

misty current
#

and why is there no annotation

hoary sierra
#

im p new so yknow

#

trying from the API sight

misty current
#

remove the static modifier

#

and add the eventhandler annotation

hoary sierra
misty current
#

remove the second argument of the method

#

leave only the event

twin venture
misty current
tardy delta
hoary sierra
#

now my issue here is idk how to get the normal damage without the modifier

tardy delta
#

event.getDamage() probably

misty current
#
@EventHandler
public void onDamage(EntityDamageEvent event) {
    event.setDamage(event.getDamage() * 1.2)
}
kind hatch
hoary sierra
#

ohhh ok makes sense

#

ty

#

how would i go about making it togglable though?

kind hatch
#

An if statement?

misty current
#

a permission? add a permission check

rose ibex
#

hi

misty current
#

and so on

rose ibex
#

someone have a suggest for making plugins plz i want to learn

twin venture
kind hatch
#

Are they permanent? Also, again, what's your current implementation?

misty current
twin venture
misty current
kind hatch
misty current
#

i don't think workload distribution really fits your needs

#

also if you use packets you can use a completely different thread

kind hatch
#

^

twin venture
#

Armorstand spawning + rotation using WorkLoad.

twin venture
#

it was working only for 1.8.8 player's , if a 1.9+ joined , he will be kicked

#

and a error spam will appear on console

misty current
#

i have always used packets for animations and they have always worked fine

twin venture
#

protocollibs?

misty current
#

i usually use nms but either one works

twin venture
#

the thing is , my plugin is 1.8.8 based [ so i need to support 1.8.8++)

kind hatch
#

Yikes

misty current
#

then use protocollib

twin venture
misty current
#

the packet has not changed much, only difference is that it takes floats instead of bytes for rotations and such

twin venture
#

iam just testing for now , i didnt make up my mind

kind hatch
#

Well, I'm still wondering why a runnable wouldn't suit your needs?

misty current
#

spawning should be pretty straight forward

#

send a spawn packet then a metadata one

twin venture
#

i were stuck 7 days in the past , with spawning using packets

kind hatch
#

Like, you would need to spawn thousands of armorstands before it gets really laggy.

misty current
#

^

misty current
#

packets are the proper way

twin venture
#

maximum is 100-200 [depend on the map

misty current
#

if you want to make good animations

#

i'd show you some clips of stuff i made using packets but i've lost the footage

twin venture
#

alright thanks , but i have no experince with packets xd

#

that will take ages :=:

misty current
#

animations are not easy

kind hatch
#

Hmmm, I'm not sure what the performance disparity would be for 1.8.8 vs 1.19.2, but I don't think it would be that bad.

#

I think you might have other issues going on if you can't spawn in more than 200 armorstands without getting lag.

twin venture
misty current
#

stands are one of the heaviest entities in the game

#

spawning is not super easy, send a spawn packet and then a metadata one

twin venture
misty current
#

clicking is easy, listen for attack packets

twin venture
#

i have no lag what so ever with spawning , i checked like for day's ..

misty current
#

removing is even easier

hoary sierra
#

so would it work with just this?

#

is it good to export?

misty current
#

send a destroy packet

hoary sierra
#

oh these are the same images

misty current
#

you have a red underline so clearly something is wrong

hoary sierra
#

rip

misty current
#

also yes you have sent a duplicate image

twin venture
#

so i had to use normal ArmorStand

misty current
#

never had such problems

twin venture
misty current
#

it's hard to tell without code but anyways i suggest giving it another go

#

you'll also learn a thing or two about minecraft's protocol

#

which is useful to know imo

twin venture
#

yeah probbly

#

why , i wanted to use WorkLoad for animiation , is a friend of mine , use it for his armorstand animiation and its pretty fast

kind hatch
#

It's useful to assess your usecase. Maybe it's justifiable for older versions of the game, but in the newer versions, armorstands have been improved significantly. They are also less resource intensive when you use packets. There's also other workarounds to prevent massive amounts of code calls.

If you are using this for lootbox animations, then try and figure out your numbers. Lets say 25 players open one at once. Then your animation takes around 300 armorstands per animation. That's an easy 7500 armorstands that just appeared. Theoretically the number could be a lot higher if more players opened them at the same time, but a simple solution is to limit how many can be opened at once. Maybe one lootbox can only be opened at a time, then limiting the maximum amount of armorstands to 300 at any given time.

If you went with that approach, you might not need to go down the rabbit hole of workload distribution and just stick with a simple bukkit runnable.

#

That's of course if you use real world entities. You could get away with more if you use packets, but I think you get the point.

tardy delta
#

πŸ™

twin venture
#

everything is done and done , i just want to make sure that WorkLoad will be better for rotation

#

so the animation it rotate

#

every 1 tick

#

in 1 side , either left , or right

kind hatch
#

Ah, I see. Of course, it depends on what your approach is to lootboxes, as there are many, but my assumption was for lootboxes/crates that would be at spawn or one location.

In your case, you might still be able to work around the issue, but, again, it depends on what your setup is. Are your islands running on the same server, but in different worlds, or are they instanced?

twin venture
#

you can look it up ,

kind hatch
#

Oh, skywars lootboxes.

twin venture
#

yeah ..

#

this is an example :

#

when you click it , drop an item and dissaper

kind hatch
#

How long is that animation supposed to last?

#

Or wait.

twin venture
#

well , until player click on it , and it will be removed

kind hatch
#

Are you treating the armorstands as the lootbox itself?

twin venture
#

and spawn again

#

i can probbly make a check if there are no player's online , stop rotating

#

when players are online , start rotating but that won't fix it

#

so when armorstand spawn , start rotating , when player click on it , remove it from the Dqueue List or something?

eternal oxide
#

only rotate if a player is in range?

kind hatch
#

Hmm, I'm trying to think of a way to work around the issue, but I'm currently wondering if workload distribution would even help in your case. If you are using entity armorstands, then it wouldn't matter if you split up the rotation tasks since the presence of the armorstand itself would be contributing to lag. Which in turn could make the TPS worse. And since workdistro depends on the tick itself, you might lose the smoothness of the animation.

twilit roost
#
@Override
public void onPluginMessageReceived(@NotNull String channel, @NotNull Player player, @NotNull byte[] message) {
    ByteArrayDataInput in = ByteStreams.newDataInput(message);
    String identifier = in.readUTF();
    String data = in.readUTF();
    System.out.println("Identifier: " + identifier);
    System.out.println(data);
}

https://paste.md-5.net/mamuyuhexa.bash

but why?
$:32 is String identifier = in.readUTF();

eternal oxide
#

UTF can be multiple bytes

#

1-4

twilit roost
#

so shall I read line?

eternal oxide
#

what are you trying to read?

twilit roost
#

im sending Packet from Fabric Mod to Spigot

#

i just get these errors on server side

eternal oxide
#

it would depend on what you are sending and what you want to do with it

twilit roost
#

but im sending nemo_support request

eternal oxide
#

The error says you ran out of input

twilit roost
#

oh damn
I switched to readLine and it works fine...

#

1 hour of my time burned :))

hoary sierra
#

ok so i made the plugin and its in the plugins file but its not detecting it

#

wat do i do?

eternal oxide
#

?paste latest.log

undone axleBOT
tardy delta
#

register it

kind hatch
tardy delta
#

and use plugins logger, just doing getLogger()

twilit roost
#

when I read Plugin Message via readLine it also adds random characters like this one: ♀
any clues why?

#

I also got greece Omega and Beta

eternal oxide
#

because packets are not just text. they contain bytes

#

you need to read each part of teh packet as it was constructed

twilit roost
#

well Im writing 2x
and also Reading 2x from the packet

twin venture
#

its not 100% smooth , i want it be smoother ..

kind hatch
twin venture
#

no , iam using the normal way , no workdistro aproach used

kind hatch
#

Can you share your current code? I'd like to test it myself.

twin venture
#

i wanted to make it go up / down / sideways , but that will make allot of lag , so i decided to make it only go one way [rotate]

twin venture
kind hatch
twin venture
#

so i have a question about using packets for rotation , so i need to send the rotate packet , every 1 tick? would'nt that [sending to many packets to players] ?

twin venture
kind hatch
#

Ehh, not exactly. The rotation packets are small. Plus if the server wants/needs to send packets it will. The real issue occurs when it's the otherway around.
I mean, yes, you will be sending more packets to the player, but it's proportional to the amount of armorstands spawned.

grim ice
#

anyone knows gradle plugins for obfuscation?

twin venture
#

and period 1 tick?

kind hatch
#

Just for testing purposes. I didn't want it immediately running at startup.

sacred mountain
glossy venture
#

theres nothing you could do about that then

#

it will be better for players with a better pc who are not running a test server

hybrid spoke
#

just spawn more armorstands for players with a better pc so that they will lag equally

night mirage
#

hey sorry for the late reply, but could you give me some examples of said command frameworks or how this is implemented

verbal slate
#

Guys, who knows how I can get a list of available enchantments for a specific item? (default)

#

For example, for a pickaxe: SILK_TOUCH, LOOT_BONUS_BLOCKS, DIG_SPEED and DURABILITY

#

Because only on them can the pickaxe be enchanted

twin venture
#

its pretty smooth how xd?

lofty junco
#

does anyone know how to refresh / update the whole scoreboard?

wet breach
quaint mantle
#

Is there a way to load player head textures faster in chest guis?

verbal slate
#

I now have enchantments written in the config by categories, such as "sword", "pickaxe", "spade", but I would like to simplify it all in order to remove categories

twin venture
#

i dont think its fps lag

quaint mantle
eternal oxide
#

Textures are pulled from Mojang servers

eternal oxide
#

So prepare teh head before you need to display it

quaint mantle
#

How would I do that?

#

do I place it in some invisible chest?

wet breach
# twin venture

never said it was FPS lag, said it was render lag which isn't quite the same

#

in other words, the GPU displayed or rendered what it got immediately but hasn't had time to optimize to smooth it out. Doesn't mean the Frames per second drops

#

an example I can give that is a perfect analogy is if you were looking at an object and it started to suddenly move and continued moving. At first it would seem out of focus but as you stared at it your eyes were better at re-focusing. But you didn't stop seeing because that happened

tardy delta
twin venture
#

oh thanks for explaining , but do you think packets will be better for rotation armorstand?

wet breach
#

most likely as it would reduce the server having to do anything since it is mostly client side anyways

#

the only disadvantage is that the server stops tracking it so if you need the server to track its state or what have you, then you have to handle that appropriately

twin venture
#

[lootbox spawn , player click on it , it drop items , lootbox despawn , lootbox spawn after a cetrin time]

#

and lootbox keep rotate ..

twin venture
wet breach
lofty junco
#

does anyone know how to refresh / update the whole scoreboard?

quaint mantle
#

How can I load a skull with texture, and then reuse the texture without having to reload it every time I open an inventory? How would I store it

spice shoal
#

guys why didn't work?

#

`# made by sussolino#6969

command /tempban [player]
trigger:
create a new gui with virtual chest inventory with 3 rows named "JuiceStaff"
format slot 10 of player with red concrete named "&eCheating" with lore "" to close then run [make player execute command "/litebans:tempban %arg-1% 14d Cheating"]
format slot 11 of player with red concrete named "&eBug Abuse" with lore "" to close then run [make player execute command "/litebans:tempban %arg-1% 7d Bug Abuse"]
format slot 12 of player with red concrete named "&eTruffa" with lore "" to close then run [make player execute command "/litebans:tempban %arg-1% 7d Truffa"]
format slot 13 of player with red concrete named "&eBan Evading" with lore "" to close then run [make player execute command "/litebans:ban %arg-1% Ban Evading"]
format slot 14 of player with red concrete named "&aMinaccia" with lore "" to close then run [make player execute command "/litebans:tempban %arg-1% 30d Minaccia"]
format slot 15 of player with yellow concrete "&eAltro.." with lore "" to close then run [make player execute command "/litebans:ban %arg-1% %arg 2%"]
format slot 16 of player with black concrete named "&aDDoS" with lore "" to close then run [make player execute command "/litebans:banip %arg-1% DDoS"]
format slot 17 of player with red wool named "&aEsci" with lore "" to close`

glad prawn
#

Go skript discord for that question.

ancient plank
#

does skript really look like that

#

homie legit wrote english

kind hatch
#

It's like a weird hybrid of actual code and pseudo code.

twilit roost
#

I have ByteArrayDataInput which reads from array of bytes
Is there a way to do something like?:

while(byteArrayDataInput.hasNext()){
      stringBuilder.append(byteArrayDataInput.readUTF());
}
ivory sleet
#

i mean usually for array u define the size before the elements

glossy venture
golden turret
#

Any ideas for a concurrent List? I need to be able to use the add remove iterator get without getting a ConcurrentModificationException

#

also list.sort

eternal oxide
#

iterate and use iter.remove() to modify

golden turret
#

yea but

#

my case specifically

glossy venture
#

store to be removed and remove after loop

golden turret
eternal oxide
#

or use a copyOnWrite list

golden turret
#

an iterator would not fit it

eternal oxide
#

then lock access behind some synchronisation.

#

If you want it safe you have to either iterate or lock access

#

or CopyOnWriteArrayList

#

its not heavy lifting, but can become expensive if you do a LOT of add/remove

golden turret
#

well

#

it is a crates plugin

#

so I expect at least 50 players opening 64 keys at once

eternal oxide
#

thats not much

wet breach
#

how about read it

#

before you just assume

#

it has everything you are requiring

golden turret
#

but I need a List

eternal oxide
#

Why?

golden turret
#

specially for List#sort

wet breach
eternal oxide
#

or copyOnWrite. Both you can sort

wet breach
#

a list will not work for what you are wanting because it isn't concurrent

#

but a list is typically not strictly required in MC either

wet breach
eternal oxide
#

yep

#

however, he is quoting 50 people at a time using so not that heavy

wet breach
#

nope, but it would need to change constantly it sounds like

#

that method is expensive on the modification portion

#

but super optimal for reading

grim ice
#

Its so hard to deobfuscate, I dont need something exactly like that but something close to it i guess

eternal oxide
#

It sounds to me like he's only going to modify when a chest is opened.

golden turret
#

actually I just need to read

eternal oxide
#

it also directly supports his requirement of sort

grim ice
#

imma sleep now, so ill check answers tmrw!

#

gn

primal lake
golden turret
#

if I use List#toArray, will it throw a ConcurrentModification exception?

#

I dont think so

wet breach
#

you could use concurrentskiplistmap as well

golden turret
#

cool but

wet breach
#

it just sounds like you don't want to learn anything else

golden turret
#

now I think I just need it to be thread-safe only when reading the list

primal lake
wet breach
#

so if that is the case that you don't want to be bothered learning something, made no sense to come here for help when you are already dead set on using something that isn't designed for what you are wanting

#

it just wastes peoples time to try and help you when you are just denying all the various solutions that do indeed work.

#

you do realize you can have an array list still? Each thread can have its own array list that is backed by one of those api methods

#

in this manner, you are free to use your list like you are wanting but still benefiting from the concurrent api methods

#

but this is just a waste of resources over some arbitrary requirement

#

anyways, with that I am out

trim lake
#

Hello,

Im kinda stuck how to sync virtual inventory with player inventory. I just want only few slots from inventory to be visible in GUI.
Can I somehow loop true inventory ex. every tick or something like that?

Thanks for help.

wet breach
#

why would you do it every tick?

#

if you have a virtual inventory, its a matter of copying the contents from one to the other when the player opens their inventory listening to the playeropeninventoryevent

#

and then, to ensure they mess nothing up, listen for the inventoryclick and interact events

#

in all that, there was no looping required

trim lake
#

I was looking for an openinventory event, I don't know how I looked, but I couldn't find it πŸ˜„ Now I find that.

#

Can I somehow get witch action is done? Mby that cloud help me out?

#

I need monitor changes and then change second inventory to match the first one.

quaint mantle
#

InventoryOpenEvent?

trim lake
#

I already found it, I must have been blind or idk πŸ˜„

dire salmon
#

In Location, are the doubles counted as block? Like double y = 1.5 then it would be counted as one block and half?

#

Ok thx

golden turret
#

I have this to rotate the entities

#

The problem is that I want to spread the entities like this

#

Where do I change this?

wet breach
#

but if that is how you want to view it go for it I suppose

echo basalt
#

while having them rotating around?

golden turret
#

yea

#

my code already do this

#

but all entities are together

#

like this

#

I want them to have a equal space between them

#

I know I need to change the angle for each entity

#

but I dont know exactly how to do it

echo basalt
#

Okay

#

So

#

Your total angle will be 360 / entityCount

#

feel free to convert between deg

#

You can add some variation

#

like +-2%

#

or an initial angle

#

If you want it to look more natural

dim bronze
#

my beautiful image

#

with no explaination

#

did it in radians since the java sine and cosine function use rads

river oracle
#

Radians how it should be fuck the degrees

dim bronze
#

yeah I agree

#

just think people are more familiar with degrees

#

😏 gradians

#

Annoying I have to link spigot accounts to get embed perms

#

damn boosting doesn't work either

river oracle
#

Lol

quaint mantle
#

Hello guys, i have a problem i'm using i want to have a cooldown on a item but idk how to do it ? please i need some help

dim bronze
#

Bukkit.getScheduler()

#

that's a thing that works for items other than pearls?

river oracle
#

Make one yourself is pretty much the only option you could use the set cooldown but it does it for all of that material type

quaint mantle
#

im on spigot 1.8.8

river oracle
#

Lol good luck

sullen marlin
#

sucks to be you

#

?188

#

?1.8

undone axleBOT
sullen marlin
#

soon kids gon be playing 1.8 that weren't even born when it was made

dim bronze
#

mad

raw prairie
#

any idea how to make world gen using nbt structure files?

sullen marlin
raw prairie
sullen marlin
#

tried what

raw prairie
#

?paste

undone axleBOT
eternal oxide
#

Have you still not got that working? The issue is with your nbt file.

raw prairie
eternal oxide
#

you are taking the snapshot at teh wrong place.

#

have you checked the file to see if it contains anything resembling yoru structure?

fading spindle
#

will this piece of code kill the player if they touch sand?:

    @EventHandler
    public static  void OnPlayerMove(PlayerMoveEvent pm){
        Player player = pm.getPlayer();
        int x = player.getLocation().getBlockX();
        int y = player.getLocation().getBlockY();
        int z = player.getLocation().getBlockZ();
        Material block = player.getWorld().getBlockAt(x, y-1, z).getType();
        if(block == Material.SAND){


            player.setHealth(0);
        }```
eternal oxide
#

cant tell anything from that error. It looks like a crash not an error

raw prairie
#

IT did stop my server

split roost
#

can't apply potion effect to living entity

winged anvil
#

couldn’t you just subtract 1 from y and check the location

#

i think location has subtract method no?

eternal oxide
#
if (player.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.SAND)```
winged anvil
#

oh yeah

#

elgarl too nice with it

fading spindle
#

the best of code

#

i'm also new

#

so thanks :)!

glad prawn
eternal oxide
#

close, you have to get teh block below

glad prawn
#

Same

eternal oxide
#

Also e.getTo() can be null (I believe, without looking) so is inferior

wind blaze
wind blaze
#

yeah obv, but. iwant it to still fairly work like vanilla (mechanic 4 hp = 1 armor point) but just not as mch yk

#

if i setDamage to like 1 and i spam you then your armor also instantly breaks

raw prairie
#

?paste

undone axleBOT
raw prairie
#

@eternal oxide

eternal oxide
#

did you try to restart while chunks were being generated?

raw prairie
#

I just spawned in

#

then it crashed

eternal oxide
#

?stash

undone axleBOT
raw prairie
eternal oxide
#

that was for me

raw prairie
#

o

eternal oxide
#

this is confusing at org.spigotmc.RestartCommand.restart(RestartCommand.java:40)

sullen marlin
#

server hung

eternal oxide
#

Nothing in there has any mention of your plugin.

#

send me your structure file

echo basalt
#

would it theoretically be save to send 2k particle packets per second πŸ€”

eternal oxide
#

I doubt you have the bandwidth to send 2kper player

echo basalt
#

only to myself atm

#

localhost

eternal oxide
#

localhost should handle it but not over a network

echo basalt
#

Yeah I'm just trying to see if there's a way to visualize my abstract shape algorithm

eternal oxide
#

your client will not be happy but as a test it shoudl be ok

echo basalt
#

time to buy the new threadripper cpus to test this out

dim bronze
#

single core performance more important

dry forum
#

i want people to be able to register their own effects with my plugin, but where would i start with doing that? i need to get the methods of the class when someone registers their effect class which im not sure how to do (couldnt find anything online)

echo basalt
#

hm

#

I mean both are important

#

the algorithm runs multi-threaded

#

and we can send packets async

dim bronze
#

yours might

#

i didn't think about that

#

I was thinking more about rendering the 2k particles

dim bronze
#

you shouldn't need their actual implementation

echo basalt
#

Hmm I'm thinking on how I can improve this

#

Is there any paper or article about converting an abstract region into the smallest possible set of cuboids πŸ€”

dry forum
echo basalt
#

It really sounds like a machine learning moment but there could be a way

ivory sleet
golden turret
dim bronze
worldly ingot
#

(i.e. use T, not Class<T>)

tranquil prairie
#

I have tons of classes that use an instance of my main class. Normally I use use a constructor to get an instance of the main class but I feel like is there a better way. Is there a better way then using a constructor for lots of classes?

earnest forum
#

that is the best way

#

u can use a static instance but nobody here approves of it

tranquil prairie
hazy parrot
#

There are generally two ways, dependency injecting (the one you are using), or getting singleton instance

tranquil prairie
#

I heard some people use an interface for passing it to multiple classes but Ive never seen someone use that

hazy parrot
#

There is builtin spigot method for getting instance of main class

earnest forum
#

yeah

#

using the Bukkit class

#

i think you call getServer() and then getPlugin()

#

im not too sure tho

hazy parrot
#

Nah, it's JavaPlugin#getPlugin

tranquil prairie
#

Arent you not supposed to do that tho

#

or just the constructor method is better

hazy parrot
#

There is really no reason why it's better

#

Lot of people don't approve that here because it can really easily lead to static abuse

tranquil prairie
#

I see

#

Can someone explain what static abuse is? I used to overuse static methods but now I rarely use it

#

not sure if I am underusing it now

hazy parrot
#

You should Google what static var/function means

worldly ingot
#

static abuse has no real definition. Just don't use static where you shouldn't be using static

#

If something has no state or is a constant, declare it static

tranquil prairie
#

ok yeah I am definitely under using it then

earnest forum
#

is the plugin not a constant tho?

#

i dont see why its frowned upon to use a singleton

#

i find it much easier

river oracle
#

to each there own there has been many debates on this on the forums somewhere but i cbf to find them lol

dry forum
#
        classMap.put(clazz.getEffect(), clazz);
    }```

```public HashMap<String, T> classMap = new HashMap<>();``` ```Required type:
T
Provided:
T``` <-- from ```classMap.put(clazz.getEffect(), clazz);```
river oracle
#

public hashmap πŸ’€ wtf

#

anyways if your going to do something like this you should probably just add the T generic to the entire class

dry forum
#

i did

dry forum
river oracle
#

it made me isn't an excuse for a horrible design pattern

dry forum
#

if it works it works

hybrid spoke
winged anvil
#

why not public, just curious

hybrid spoke
#

you dont want to expose your internals.

#

encapsulation is the keyword

river oracle
#

while there are a lot I don't know the specifics of its clear that there isn't great design

winged anvil
river oracle
#

no thats the reason for any class field

winged anvil
#

yaya

river oracle
#

the whole point of putting it in the class in the first place is so you can be explicit with the uses for the field itself

winged anvil
#

use the getters

#

prolly not even getter for hashmap no?

#

just straight do this do that

hybrid spoke
#

well for collections i would go one more step and not explicit return the collection itself

winged anvil
#

yayaya

dry forum
#

i dont get it though

#

it says i need T so i used T but it still says it needs T

hazy parrot
#

What

hybrid spoke
river oracle
#

You probably should be learning more basic stuff generics can be complex

#

That or spend time reading up on generics

#

Before using them

timid berry
#

how do i convert this into a jar

fluid river
timid berry
raw prairie
#

Zip it

#

Then convert to jar file

timid berry
#

ok so like

timid berry
#

now what

raw prairie
#

Compress it

#

Then use a converter to convert it to jar

fluid river
quaint mantle
#

Om

fluid river
quaint mantle
#

Bm

fluid river
#

Cm

timid berry
#

bacailly i got a buildbattle plugin but it will disable it self if it detects that its running on a version of spigot taht it dosent support

fluid river
#

C major

quaint mantle
#

😭

timid berry
#

so i decompiled it

#

and edited a file

#

but idk how 2 compile it

quaint mantle
#

πŸ˜‘

fluid river
#

you need IDE

quaint mantle
#

Thats the magic of google

fluid river
#

copy paste files

#

and compile yourself

fluid river
timid berry
#

but ik it will work fine

#

i just deleted the line of code

#

that disables it

fluid river
#

cool now become a developer and compile it

#

good luck

timid berry
#

all the guides on compling it r confusimg

fluid river
#

sounds like YOU problem

#

FREE JAVA LESSONS

checkmybio

timid berry
#

bro out here self promoting

#

fine i added u

fluid river
#

71 time

#

74

timid berry
#

accept my freind req

#

need ur java lesson on how 2 compile

quaint mantle
timid berry
#

weeeeeeeee

glad prawn
glad prawn
timid berry
#

bruh

#

@fluid river which pom.xml do i copy the info off of for

glad prawn
#

Create your project first

delicate lynx
glad prawn
timid berry
#

now wat

glad prawn
#

@fluid river

timid berry
#

bro dipped

#

bro couldnt handel my problems

glad prawn
#

Xd

quaint mantle
#

Ew eclipse

#

Intellij > Eclipse

quaint mantle
#

It literally takes 2 seconds to get the answer

fluid river
glad prawn
#

Nah bro, more than 2 seconds.

quaint mantle
#

Im sorry, 5 seconds

#

To type it in

#

Boom

timid berry
#

confusion

quaint mantle
#

😭😭😭

timid berry
#

😭

quaint mantle
#

bruh.jar.src.rar tf happening over there

timid berry
#

i named that

quaint mantle
#

🀨

quaint mantle
#

It literally takes 15 seconds

timid berry
#

THE SOLUTIONS ON GOOGLE DONT WORK

remote swallow
#

why not

timid berry
#

i dont

#

fucking know

brave sparrow
#

What error are you getting

remote swallow
#

have you checked if theres a version of the plugin already that works with the spigot version you want

brave sparrow
#

How are you attempting to build it

#

Etc etc etc