Log for #paper-dev on SpigotMC - 2019/11/17

Topic -- Topic: Paper plugin/server development channel | Source: https://github.com/PaperMC/Paper/ | Maven: https://papermc.io/repo/repository/maven-public/ | Download: https://papermc.io/downloads
Topic -- Topic set on May 16, 2019 05:28:23 am by Z750
00:08:26 DiscordBot <~​Em​me​t_​v1​5~​> ayeee
00:08:27 DiscordBot <~​Em​me​t_​v1​5~​> https://www.spigotmc.org/resources/thunderbolt-lightning-fast-data-storage.3179/
00:08:28 DiscordBot <~​Em​me​t_​v1​5~​> ?
00:08:39 DiscordBot <~​Em​me​t_​v1​5~​> is this good
00:09:18 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> Thunderbolt operates almost exactly the same as Bukkit's YamlConfiguration
00:09:24 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> probably not
00:09:57 DiscordBot <J​Ro​y> It literally it just a org.json wrapper
00:10:27 DiscordBot <C​el​si​us​s> Use gson, very easy to use
00:11:10 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i guess you may want to use thunderbolt if you want to also get cancer from the configuration api when not writing plugins
00:15:35 DiscordBot <e​le​ct​ro​ni​cc​at​> wtf is that
00:15:47 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> lightning fast
00:15:50 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> did you not read the description
00:16:08 DiscordBot <e​le​ct​ro​ni​cc​at​> mfw uses a threadpool but blocks for the result
00:18:38 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> is there some kind of an avatar generator for these things or something
00:18:44 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> https://media.discordapp.net/attachments/555462289851940864/645417493200109568/5130957.png
00:18:51 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> like two thirds of people on github and bukkit forums use these
00:19:09 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> kind of offtopic but sort of related
00:21:01 DiscordBot <w​iz​ja​ny​> mfw lightning fast but thunder moves at .001% of the speed of light
00:21:33 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> that's still pretty fast though
00:22:13 DiscordBot <e​le​ct​ro​ni​cc​at​> I mean, dat is skury code
00:22:14 DiscordBot <w​iz​ja​ny​> i think i missed some zeroes
00:22:23 DiscordBot .0001%?
00:22:51 DiscordBot <~​Em​me​t_​v1​5~​> right
00:22:52 DiscordBot <~​Em​me​t_​v1​5~​> so no?
00:23:17 DiscordBot <w​iz​ja​ny​> the issue is
00:23:18 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> 299 792 458 m / s
00:23:29 DiscordBot <w​iz​ja​ny​> you shouldn't be doing config in performance sensitive areas anyway
00:23:34 DiscordBot <e​le​ct​ro​ni​cc​at​> No, that thing is just pointless dumb extra bloat for your plugin which offers literally no gains whatsoever
00:24:03 DiscordBot <w​iz​ja​ny​> so it doesn't matter if reading your config takes 1 ns or 100ms because you should only be doing it once when the server starts up
00:24:18 DiscordBot <w​iz​ja​ny​> or potentially off the main thread later if you need some delayed loading (like player sessions on login)
00:24:47 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> pretty much anything is lightning fast if the data is already in memory, unless something went horribly wrong somewhere
00:25:43 DiscordBot <e​le​ct​ro​ni​cc​at​> lightning fast compared to loading from the disk, sure
00:26:10 DiscordBot <e​le​ct​ro​ni​cc​at​> Bukkits configuration API is gross for performance, however
00:26:18 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i'm sure
01:04:51 DiscordBot <r​am​id​zk​h> why does spigot call the abstract registry class IRegistry but the registry interface Registry
01:29:09 DiscordBot <w​iz​ja​ny​> millenium problem #8
01:29:31 DiscordBot <r​am​id​zk​h> i love spigot mappings /s
03:31:50 DiscordBot <T​re​vo​r> Whats the max you can set player#setViewDistance to?
03:37:16 DiscordBot <w​iz​ja​ny​> int.max_val prob
03:37:27 DiscordBot <w​iz​ja​ny​> whether or not that has negative side effects... ¯\_(ツ)_/¯
03:38:41 DiscordBot <Z​75​0> its max capped to 32 iirc
03:38:43 DiscordBot <w​iz​ja​ny​> is it even implemented in 1.14 yet?
03:38:47 DiscordBot <Z​75​0> you can send it as high a value as you want though
03:48:02 DiscordBot <T​hr​as​il​ia​s> isn't it 64?
03:50:33 DiscordBot <Z​75​0> no
03:51:28 DiscordBot <Z​75​0> int playerViewDistance = MathHelper.clamp(distanceIn, 3, 32);
03:52:12 DiscordBot <Z​75​0> That should mirror what vanilla itself requires
03:52:24 DiscordBot <Z​75​0> though that may have changed since that was added (though I doubt it, and even if not the game will not handle it well)
03:52:53 DiscordBot <T​re​vo​r> So for example, if I set a players view distance to 32, that's still only as good as their client settings, or no?
03:53:04 DiscordBot <Z​75​0> your server will still send the chunks
03:53:15 DiscordBot <Z​75​0> doesnt mean the client will render it
03:53:25 DiscordBot <Z​75​0> that may be fine, it may not be
03:53:39 DiscordBot <Z​75​0> generally there are a lot of assumptions in the game about the view distance though
03:53:57 DiscordBot <Z​75​0> mojang really doesnt plan much around people using excessively large or small view distances
03:58:21 DiscordBot <T​hr​as​il​ia​s> i remember a dutch server that had render distance 16
03:58:35 DiscordBot <T​hr​as​il​ia​s> but entity's showed up after 5 blocks
03:58:53 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> that is controlled by entity tracking range iirc
03:58:58 DiscordBot <Z​75​0> yes you can set those ranges separately
03:59:01 DiscordBot <T​hr​as​il​ia​s> players etc
03:59:18 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> players and the couple of mob categories have separate settings
03:59:20 DiscordBot <Z​75​0> and as of 1.14 there are additional changes in the view distance and entity tracking systems
03:59:21 DiscordBot <T​hr​as​il​ia​s> they did that to "prevent lagg"
03:59:23 DiscordBot <T​hr​as​il​ia​s> ¯\_(ツ)_/¯
03:59:44 DiscordBot <Z​75​0> including keeping chunks loaded that dont tick, which has resulted in some interesting changes to bukkit implementations
03:59:53 DiscordBot <T​hr​as​il​ia​s> actually
03:59:54 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i'm pretty sure keeping like 2.5k chunks in memory and ticking them uses more resources than sending some entities to the player
03:59:59 DiscordBot <T​hr​as​il​ia​s> i think i have that code somewhere
04:00:09 DiscordBot <T​hr​as​il​ia​s> they made it public after closing down
04:00:33 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> isn't that like a basic spigot function though
04:00:42 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> spigot or paper, idr
04:02:02 DiscordBot <T​hr​as​il​ia​s> @Z750 found it
04:02:10 DiscordBot <Z​75​0> please dont ping me
04:02:13 DiscordBot <T​hr​as​il​ia​s> sorry
04:04:32 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> so that dynamically adjusts the serverside view distance for players based on the tps?
04:04:40 DiscordBot <T​hr​as​il​ia​s> yep
04:04:44 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> mildly interesting
04:05:32 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i have a dream that one day it will be possible to lazily load chunks around players all the way up to 16 chunks
04:05:37 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> and send the chunks to the player
04:05:41 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> and then lazily unload them
04:05:48 DiscordBot <T​hr​as​il​ia​s> they also pushed it onJoin
04:05:51 DiscordBot <T​hr​as​il​ia​s> public void onPlayerJoinEvent(org.bukkit.event.player.PlayerJoinEvent event){ PlayerModu... https://paste.gg/p/anonymous/1d47501db6214f26b0924e4397eab8ee
04:05:53 DiscordBot <T​hr​as​il​ia​s> 
04:06:27 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> not sure if tps is the best way to measure performance though
04:06:37 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i mean, ideally it should never drop below 20
04:06:40 DiscordBot <T​hr​as​il​ia​s> well they still had lagg
04:06:46 DiscordBot <T​hr​as​il​ia​s> thats why they closed down
04:06:47 DiscordBot <T​hr​as​il​ia​s> xd
04:07:03 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i would probably measure the ms between ticks instead, or something
04:07:20 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> that way the render distance wouldn't always be either 10 or 4
04:18:33 DiscordBot <N​er​mi​n> How's every doin today 😄
04:25:22 DiscordBot <T​re​vo​r> I get a neat warning when trying to set the per-player view distance: [23:24:36 WARN]: org.apache.co... https://paste.gg/p/anonymous/4247c5280ffb4f62977e39669778b55a
04:25:36 DiscordBot <Z​75​0> yes it doesnt exist in 1.14
04:25:45 DiscordBot <T​re​vo​r> Oh
04:25:51 DiscordBot <T​re​vo​r> At all?
04:26:01 DiscordBot <Z​75​0> no not at all
04:26:06 DiscordBot <S​il​ve​rw​ol​fg​11​> wut ever happened to the dude's PR tryin to implement it
04:26:09 DiscordBot <Z​75​0> they redid pretty much the entire system
04:26:11 DiscordBot <T​re​vo​r> Is there any way to do it?
04:28:34 DiscordBot <T​hr​as​il​ia​s> actually
04:28:40 DiscordBot <T​hr​as​il​ia​s> i think i found a idea
04:34:00 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> do tell
04:34:21 DiscordBot <C​al​la​ha​n> is glass not a FurnanceRecipe
04:34:26 DiscordBot <C​al​la​ha​n> o_o
04:39:22 DiscordBot <T​hr​as​il​ia​s> @NNYaKNpGms0eUVpiSdHx na
04:39:33 DiscordBot <T​hr​as​il​ia​s> Dont think it can work
04:40:01 DiscordBot <T​hr​as​il​ia​s> Player.setViewDistance using permission node
04:43:13 DiscordBot <C​al​la​ha​n> https://pastebin.com/MGFvruxh is the result of iterating over everything that is an instanceof FurnanceRecipe. seems like a very weird, incorrect, and incomplete list.
04:51:54 DiscordBot <T​hr​as​il​ia​s> also Z750 paer has player viewdistance API
04:52:13 DiscordBot <C​al​la​ha​n> yea
04:52:15 DiscordBot <C​al​la​ha​n> 1.13 does
04:52:17 DiscordBot <C​al​la​ha​n> not 1.14
04:52:29 DiscordBot <Z​75​0> that's 1.13.2
04:52:35 DiscordBot <Z​75​0> think I'd know
04:52:41 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> lol
04:52:47 DiscordBot <m​as​on​> lol he rly be tryin to tell z750 what does and doesnt exist in paper
04:52:49 DiscordBot <T​hr​as​il​ia​s> o
04:52:58 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> https://cdn.discordapp.com/emojis/520086730523541524.png
04:53:46 DiscordBot <T​hr​as​il​ia​s> thats a rip then
04:54:59 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> opinions on using an A* algorithm of sorts to determine areas where mobs can and cannot spawn?
04:55:23 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> like, preventing mobs from spawning into enclosed caves and other places where they will never be seen or interacted with
04:56:38 DiscordBot <m​as​on​> id rather a* from player to mob spawn point but that calculation probs ends up costing the same as a dummy entity, plus would end up losing the gameplay impact of discovering existing mobs in closed off areas
04:57:12 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> that was the way how I think it should operate as well
04:57:25 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> not sure what to do about the discovery part, though
04:58:00 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> maybe spawning some mobs on the spot as new areas become available
04:58:36 DiscordBot <m​as​on​> thats a lot of calculations to be running constantly
04:58:58 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i mean, if you're doing the a* every time something spawns yeah
04:59:11 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> but i'm pretty sure you don't need to
05:01:00 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> the system i had in mind would perform a* on chunk sections and cache the results for like 16 or 64 sub-sections of the chunk
05:01:35 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> when a mob attempts to spawn you only need to get the sub-section at those coordinates and check whether or not it is navigable to by a player
05:01:41 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> which would be cached already
05:02:33 DiscordBot <m​as​on​> its a nice thought but i cant see the improvement being enough to consider it worth it
05:02:53 DiscordBot <m​as​on​> i'd rather do a simpler approach by doing the opposite
05:03:04 DiscordBot <m​as​on​> like mayb temp blacklist bad spawn areas
05:03:21 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> how would you find bad spawn areas though
05:03:24 DiscordBot <m​as​on​> thtd also be prty aids tho
05:03:34 DiscordBot <m​as​on​> same a* thought
05:03:53 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i'm running a similar system currently, except that it doesn't use a*
05:04:05 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> but rather differently shaped regions based on the environment
05:04:21 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> flat surfaces like plains get wide but not very tall spawn boxes
05:04:33 DiscordBot <m​as​on​> hm
05:04:36 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> caves get relatively cubic boxes
05:04:48 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i re-evaluate the spawn regions every 5 seconds
05:04:52 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> as it is it takes like
05:04:57 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> 0.02ms
05:05:01 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> to re-evaluate
05:05:16 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> and like absolutely nothing to check whether a location is in a spawnable region
05:05:37 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> the a* part could be done off-thread
05:05:46 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> and doesn't need to happen realtime
05:06:33 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> for the record the spawn rates with the system enabled are batshit insane
05:06:43 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> they are like 10x - 20x of vanilla
05:06:49 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> mob caps are hit in 5 seconds
05:07:04 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> and all of that cap is in areas directly accessible by the player
05:07:19 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> in other words going out at night is just absolute manslaughter
05:07:42 DiscordBot <m​as​on​> yeah default mob caps currently in 1.14 are insane
05:07:46 DiscordBot <m​as​on​> anyone using the defaults is crazy lols
05:07:58 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> pretty sure i have them lowered decently far
05:08:10 DiscordBot <m​as​on​> yuh i use like 15-20 for hostiles without per-player mob spawns
05:08:13 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> but in normal circumstances, around 60% or more of those mobs are in caves and shit
05:08:25 DiscordBot <m​as​on​> tru
05:08:26 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> and you get like 5 skeletons on the surface at night
05:08:46 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> with the system on all of the 30 hostiles per player are on the surface with you
05:08:49 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> right in your face
05:08:58 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> so i was able to drop the mob counts lower
05:09:20 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> more for less, basically
05:09:21 DiscordBot <m​as​on​> understandable
05:09:24 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> vanilla spawning is trash
05:09:37 DiscordBot <m​as​on​> and on a more grand scale
05:09:56 DiscordBot <m​as​on​> saving ~20 trash entities over 200 players is ez 4k less entities
05:10:06 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> aye
05:10:18 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> the only problem i've faced so far is that it breaks some types of darkroom spawners
05:10:33 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> since a darkdroom fits the definition of a place you can't see or interact with
05:10:37 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> pretty spot-on
05:10:52 DiscordBot <m​as​on​> ye exactly
05:11:04 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i added a world/entity type whitelist to alleviate the issues so it's not a big problem
05:11:16 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> but regular overworld darkroom spawners are still affected
05:12:22 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i'm currently working on the a* approach and i'm hoping i can somehow iron out the darkroom issue using it
05:13:34 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> grabbing chunk snapshots off the main thread for an async consumer thread that processes them for the sub-regions
05:13:39 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> or that's the goal anyway
06:16:02 DiscordBot <C​ha​se​wh​ip​> im getting 1cannot access it.unimi.dsi.fastutil.longs.Long2ObjectFunction1 when using fastutils Longe2ObjectHashMap and i dont exactly know why
06:19:47 DiscordBot <N​er​mi​n> it.unimi.dsi.fastutil.longs.Long2ObjectFunction1
06:19:48 DiscordBot <N​er​mi​n> Longe2ObjectHashMap
06:19:52 DiscordBot <N​er​mi​n> Assuming it's something with that
06:19:56 DiscordBot <N​er​mi​n> but don't quote me.
06:21:36 DiscordBot <C​ha​se​wh​ip​> ye obvuously thats the error i posted i dont know why thats happening on compile
06:21:46 DiscordBot <C​ha​se​wh​ip​> intelij doesnt throw any access errors
06:26:56 DiscordBot <C​ha​se​wh​ip​> seems like aikars fastutils is missing .putall on its Long2ObjectOpenHashMap
07:54:35 DiscordBot <B​lu​tk​ro​ne​> Good morning, does the PaperLib Method PaperLib#getChunkAtAsync also work for custom chunk generator... https://paste.gg/p/anonymous/9b57f7beba1742a69f9f40dffa147ecc
07:56:58 DiscordBot <T​ri​ga​ry​> I can't answer most of that, but this method exists to set whether the chunk generator supports async: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/generator/ChunkGenerator.html#isParallelCapable--
07:57:16 DiscordBot <B​lu​tk​ro​ne​> mfw
07:57:22 DiscordBot <B​lu​tk​ro​ne​> oh my god i never saw that
07:58:25 DiscordBot <B​lu​tk​ro​ne​> is that on 1.14? 1.13 doesn't seem have it
07:58:38 DiscordBot <T​ri​ga​ry​> no idea :/
07:58:56 DiscordBot <B​lu​tk​ro​ne​> yup looks like 1.14, there was some talk about it
08:04:25 DiscordBot <C​ha​se​wh​ip​> @Blutkrone To answer your other question yes async is used to gen when players walk around. sync is used for teleports when a chunk is needed instantyl
08:05:11 DiscordBot <B​lu​tk​ro​ne​> Thanks!
09:19:19 <-- frostalf (frostalf!~frostalf@SpigotMC-mb7huq.o76r.8s04.5300.2607.IP) has quit (Quit: ZNC - https://znc.in)
09:22:32 --> frostalf (frostalf!~frostalf@SpigotMC-mb7huq.o76r.8s04.5300.2607.IP) joined the channel
09:40:06 DiscordBot <r​am​id​zk​h> > RegistryBlocks
09:48:16 <-- frostalf (frostalf!~frostalf@SpigotMC-mb7huq.o76r.8s04.5300.2607.IP) has quit (Ping timeout: 121 seconds)
09:59:19 --> frostalf (frostalf!~frostalf@SpigotMC-mb7huq.o76r.8s04.5300.2607.IP) joined the channel
10:06:46 DiscordBot <F​ud​ge​> don't mind the clearly notch name a
10:07:54 DiscordBot <r​am​id​zk​h> little do these people know that code was in a modding workspace
10:08:30 DiscordBot <F​ud​ge​> what class is that
10:08:35 DiscordBot <r​am​id​zk​h> IRegistry
10:08:43 DiscordBot <r​am​id​zk​h> in yarn its registry
10:08:46 DiscordBot <F​ud​ge​> cough which class is that
10:08:47 DiscordBot <F​ud​ge​> thank you
10:09:02 DiscordBot <F​ud​ge​> wait is that volderthonk mappings?
10:09:17 DiscordBot <r​am​id​zk​h> spigot arr maps
10:09:35 DiscordBot <F​ud​ge​> lol, just use yarn
10:09:55 DiscordBot <r​am​id​zk​h> im porting craftbukkit and source remapping on craftbukkit/spigot/paper doesnt work
10:10:14 DiscordBot <F​ud​ge​> no no
10:10:18 DiscordBot <F​ud​ge​> why does paper not use yarn
10:10:33 DiscordBot <r​am​id​zk​h> because compatibility with upstream (spigot)
10:11:01 DiscordBot <F​ud​ge​> eh, that matters for compat?
10:11:07 DiscordBot <F​ud​ge​> I guess I'm too used to fabric
10:12:05 DiscordBot <r​am​id​zk​h> java IRegistry.a(IRegistry.ITEM, new MinecraftKey("idk", "hmm"), new ItemMinecart(EntityMinecartAbst... https://paste.gg/p/anonymous/2bc8bbf2d48d44ea8fedd2d970f89a8d
10:12:52 DiscordBot <F​ud​ge​> MinecraftKey
10:12:57 DiscordBot <F​ud​ge​> is that Identifier?
10:13:05 DiscordBot <F​ud​ge​> / ResourceLocation
10:14:42 DiscordBot <r​am​id​zk​h> yes
10:14:46 DiscordBot <r​am​id​zk​h> whats resourcelocation
10:14:49 DiscordBot <r​am​id​zk​h> mcp?
10:14:54 DiscordBot <F​ud​ge​> that's volderthonk for identifier
10:15:07 DiscordBot <r​am​id​zk​h> ok
10:15:33 DiscordBot <r​am​id​zk​h> the BlockRegistry/IRegistry/Registry thing is honestly unsmart 100
10:15:46 DiscordBot <F​ud​ge​> so I guess these mappings don't really matter because you only interact with server code?
10:15:52 DiscordBot <F​ud​ge​> I don't know how plugin coding works
10:15:57 DiscordBot <F​ud​ge​> do you even touch the vanilla api
10:16:04 DiscordBot <r​am​id​zk​h> you're not supposed to touch server code
10:16:12 DiscordBot <r​am​id​zk​h> but many plugins do
10:24:46 <-- frostalf (frostalf!~frostalf@SpigotMC-mb7huq.o76r.8s04.5300.2607.IP) has quit (Ping timeout: 121 seconds)
11:01:44 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Uhm.. can someone tell me how to get NMS as maven dependency? 😫
11:16:39 DiscordBot <B​lu​tk​ro​ne​> when i ran build tools it installed the dependencies for me
11:16:44 DiscordBot <B​lu​tk​ro​ne​> as in maven dependencies
11:17:45 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> ill try that... thx
11:24:36 DiscordBot <S​am​B4​40​> if u use paper u need to generate the patched jar then use that
11:24:56 DiscordBot <S​am​B4​40​> i mean,
11:25:02 DiscordBot <S​am​B4​40​> you should be using paper
11:27:57 DiscordBot <B​lu​tk​ro​ne​> Does paper have anything to help with lightning with chunk generators ... I considered using https://www.spigotmc.org/resources/light-cleaner.42469/ but it causes massive lags and it doesn't seem to be a feasible solution either. https://media.discordapp.net/attachments/555462289851940864/645585911056302080/unknown.png
11:28:13 DiscordBot <B​lu​tk​ro​ne​> that stuff is generated via chunk generators on 1.13
11:28:25 DiscordBot <B​lu​tk​ro​ne​> actually while i am at it, might aswell try updating to the latest 1.13 maybe there was a fix
11:28:41 DiscordBot <S​am​B4​40​> probably
11:28:49 DiscordBot <S​am​B4​40​> but the only way I know is WE fixlighting
11:28:56 --> frostalf_ (frostalf_!~frostalf@SpigotMC-mb7huq.o76r.8s04.5300.2607.IP) joined the channel
11:33:04 -- frostalf_ is now known as Frostalf
11:39:10 DiscordBot <h​or​nt​a> Completely lost in this yamlconfiguration.. I need to migrate my yaml structure to include a field c... https://paste.gg/p/anonymous/35c301fb4acd4453946addc191707644
11:39:55 DiscordBot <h​or​nt​a> I tried to use yaml.set('signs.0.points', 2) and have the 0 represent the array index but it didn't work :/
11:44:33 DiscordBot <h​or​nt​a> nvm... twas easy: java @Override public void migrate(YamlConfiguration yamlConfiguration) { Li... https://paste.gg/p/anonymous/c51eab60b217475e881245b1c3ec3d9c
11:58:13 <-- Frostalf (Frostalf!~frostalf@SpigotMC-mb7huq.o76r.8s04.5300.2607.IP) has quit (Ping timeout: 121 seconds)
11:58:21 --> frostalf (frostalf!~frostalf@SpigotMC-mb7huq.o76r.8s04.5300.2607.IP) joined the channel
12:29:39 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Im so lost... how do i add the patched paper jar as maven dependency to my project?
12:32:39 DiscordBot <e​le​ct​ro​ni​cc​at​> > maven dependency
12:32:59 DiscordBot <e​le​ct​ro​ni​cc​at​> if you need the server jar, build the jar locally and it will auto-install it to your local maven repo
12:42:40 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Im kind of new to maven. What would the artifact and group id be if i wanted to include a local jar?... https://paste.gg/p/anonymous/abd80d43af1d45cfb6544823b18d27e8
12:43:14 DiscordBot <e​le​ct​ro​ni​cc​at​> - resources are bundled into your jar, that's like... ouch
12:43:24 DiscordBot <e​le​ct​ro​ni​cc​at​> - Same as the -api module, just, no -api
12:43:40 DiscordBot <e​le​ct​ro​ni​cc​at​> - The best option is to build paper locally so that it installs to your local maven repo
12:45:30 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Ok ill try to build it locally.👌
13:05:50 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> I got some problems when building paper.
13:05:51 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> The decompile.sh does not find a command named "jar"
13:05:53 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Im using Git bash on a Win machine. https://media.discordapp.net/attachments/555462289851940864/645610547080986636/Screenshot_5.png
13:08:45 MiniDigger Setup your env vars properly
13:08:58 MiniDigger Path should point to java_home/bin
13:09:08 MiniDigger Java_home should point to a jdk
13:09:26 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> is java 13 supported?
13:09:28 MiniDigger Also, please consider using wsl over shit like git bash
13:09:43 MiniDigger Your java version has nothing to do with this problem
13:09:50 MiniDigger But yes, 13 and even 14 will work fine
13:10:08 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Ok thx. Ill look into my vars...
13:26:12 DiscordBot <e​le​ct​ro​ni​cc​at​> You need the jdk
13:28:30 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Not sure whats wrong here but ill get it fixed... https://media.discordapp.net/attachments/555462289851940864/645616250021478490/som23.png
13:29:03 DiscordBot <e​le​ct​ro​ni​cc​at​> Check your PATH
13:31:01 DiscordBot <B​en​di​> how to force gradle to export the dependencies to the jar?
13:31:16 DiscordBot <e​le​ct​ro​ni​cc​at​> You're probably thinking of the shadow plugin
13:32:44 DiscordBot <B​en​di​> no i want a gradle plugin called firebase admin sdk to export in the jar
13:33:02 DiscordBot <e​le​ct​ro​ni​cc​at​> "in the jar"
13:33:08 DiscordBot <e​le​ct​ro​ni​cc​at​> which is literally what the shadow plugin does
13:33:10 DiscordBot <B​en​di​> yes
13:33:16 DiscordBot <B​en​di​> ok thanks
13:55:08 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Ok got it to work... thx. I guess the jdk and jre must be of the same version.
14:11:10 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Now maven cant resolve spigot ^^ https://media.discordapp.net/attachments/555462289851940864/645626987519541248/Screenshot_3.png
14:19:14 DiscordBot <T​of​uu​s> JRE doesn't exist in java 13
14:41:59 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Im using protocolLib via maven dependency.
14:42:00 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> I think paper and spigot have different paths for apache commons
14:42:02 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> and somehow protocollib does not feel like accepting a rebase.
14:42:03 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Does someone know how to fix this? https://media.discordapp.net/attachments/555462289851940864/645634745471991808/Screenshot_5.png
14:44:17 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> https://media.discordapp.net/attachments/555462289851940864/645635322104774657/Screenshot_6.png
14:49:07 DiscordBot <e​le​ct​ro​ni​cc​at​> We bundle in the exact same version in the exact same position
14:49:38 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> Ok... thats a weird error then...
14:51:01 DiscordBot <S​he​vc​hi​k> Nope. Paper bundles commns lang, not commons lang3
14:54:12 DiscordBot <e​le​ct​ro​ni​cc​at​> Update protocollib
14:54:20 DiscordBot <e​le​ct​ro​ni​cc​at​> ensure that some plugin isn't shading in protocollib too
14:54:31 DiscordBot <e​le​ct​ro​ni​cc​at​> (That's basically a pre 1.14 version of the class)
14:57:28 DiscordBot <F​lo​ |​ G​es​ta​nk​br​at​wu​rs​t> I had to update my version https://cdn.discordapp.com/emojis/588739397755600896.png
16:54:19 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> we actually talked about this just yesterday @hornta
16:54:32 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> i think the only way is to get the list with getMapList
16:54:39 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> and then get the Map from the list
16:54:53 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> and set it using the map
16:55:12 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> from what i understood yesterday, there is no way to get a List of ConfigurationSections or the like
16:56:11 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> a ghetto solution that wouldn't involve that would be to have a map instead, with keys generated from values unique to entries
16:57:12 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> map: x-y-z: x: 0 y: 0 z: 0 world: world_nether points: ... https://paste.gg/p/anonymous/7a4e35ff5f1147c5b9d792ff6936b8be
16:57:17 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> or something along those lines
16:57:42 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> to get them all you would get map.getKeys(false) and that would give you a 'list'
16:58:27 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> to get a specific one you would get map.getConfigurationSection(x+ "." + y + "." + z) or something
16:58:49 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> or x y z + world really since xyz isn't guaranteed to be unigue
16:59:04 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> or just deal with maps, whichever works
16:59:05 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> ¯\_(ツ)_/¯
17:02:40 DiscordBot <C​ry​pt​it​e> FWIW we store locs as world,x,y,z just because it's more compact, then split(",") when loading
17:02:49 DiscordBot <C​ry​pt​it​e> Quite a bit more terse
17:04:22 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> also an option
17:44:13 DiscordBot <R​ef​re​sh​> what makes something thread-safe/non thread safe? Proper synchronization?
17:48:35 DiscordBot <w​iz​ja​ny​> that sounds like an xy problem to me :^)
17:48:44 DiscordBot <w​iz​ja​ny​> it really depends on what you're asking about/trying to do
17:49:13 DiscordBot <w​iz​ja​ny​> there's a different between thread safety wrt eg blocking the main thread vs modifying a collection concurrently
17:50:03 DiscordBot <i​ma​BA​SK​ET​> so frusterated why a plugin works on 1.14 and not 1.14.4
17:51:37 DiscordBot <i​ma​BA​SK​ET​> tried switching java versions and everythng
17:52:14 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> what is causing it not to work
17:52:48 DiscordBot <i​ma​BA​SK​ET​> a not implemented error but i dont understand why it hits it on 1.14.4 but not 1.14
17:53:01 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> what is the thing that is not implemented
17:53:32 DiscordBot <i​ma​BA​SK​ET​> well if it cant handle it its suppose to fallback to just creating a blank itemstack with air
17:55:44 DiscordBot <i​ma​BA​SK​ET​> main issue it seems it also doesn't want to generate the config file
17:55:47 DiscordBot <i​ma​BA​SK​ET​> things a whole mess lol
17:55:56 DiscordBot <i​ma​BA​SK​ET​> and this plugin should prob be rewritten
17:57:37 DiscordBot <i​ma​BA​SK​ET​> its a big as fuck plugin though
17:59:05 DiscordBot <i​ma​BA​SK​ET​> oh no
17:59:10 DiscordBot <i​ma​BA​SK​ET​> ive solved this issue before
17:59:37 DiscordBot <i​ma​BA​SK​ET​> https://i.imgur.com/qxEj1J7.png
18:00:38 DiscordBot <i​ma​BA​SK​ET​> how the heck does a space in the foldername cause these problems jeesus
18:06:47 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> > folder
18:07:24 DiscordBot <S​il​ve​rw​ol​fg​11​> spaces in folders cause a lot of issues as ive found out recently...
18:14:52 DiscordBot <i​ma​BA​SK​ET​> problem is this plugin is using java URI's which are just trash
18:15:10 DiscordBot <i​ma​BA​SK​ET​> it looks for plugins config cant find it and freaks out
18:17:45 DiscordBot <i​ma​BA​SK​ET​> because URIs dont know spaces
18:21:39 DiscordBot <N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​x> they do but they're represented with %20
19:51:39 DiscordBot <C​ha​se​wh​ip​> What are you supposed to use instead of URLs then ?