2017-12-31 21:40:23 Not-1563 [Hamburglar] Pokechu22 574c005 - Ignore changes to register_method 2017-12-31 21:42:39 Not-1563 [BurgerVitrine] Pokechu22 pushed 1 commit to master [+0/-0/±2] https://git.io/vbxkX 2017-12-31 21:42:41 Not-1563 [BurgerVitrine] Pokechu22 43926ea - Fix showing the name field The previous modification of the entry was actually used to make the name field in ITEMS work, but we can just change it to display_name. 2017-12-31 21:49:09 pokechu22 Here's the flattening, sorted by numeric ID (more or less): http://pokechu22.github.io/Burger/flattening_numeric.html 2017-12-31 22:39:47 --> ME1312 (~ME1312@cpe-71-72-87-2.columbus.res.rr.com) a rejoint #mcdevs 2017-12-31 23:02:20 <-- kev009 (~kev009@2001:579:8084:21:24c0:8353:a3b0:1a49) a quitté (Remote host closed the connection) 2017-12-31 23:02:46 --> kev009 (~kev009@2001:579:8084:21:8471:3aeb:194c:aba7) a rejoint #mcdevs 2017-12-31 23:02:46 -- Mode #mcdevs [+v kev009] par ChanServ 2017-12-31 23:03:42 --> trumank (~truman@216.226.93.179) a rejoint #mcdevs 2017-12-31 23:06:13 <-- ME1312 (~ME1312@cpe-71-72-87-2.columbus.res.rr.com) a quitté (Quit: Leaving) 2017-12-31 23:17:48 <-- simon816 (~simon816@ec2-52-43-110-46.us-west-2.compute.amazonaws.com) a quitté (Quit: ZNC 1.6.5 - http://znc.in) 2017-12-31 23:24:21 trumank how are block IDs synced with the client now that block identifiers exist? 2017-12-31 23:25:26 pokechu22 They still aren't :/ 2017-12-31 23:25:35 pokechu22 For vanilla, at least 2017-12-31 23:25:59 pokechu22 The protocol still uses numeric IDs, and the client and server just have the same list of blocks so they have the same IDs 2017-12-31 23:27:46 trumank oh, I read somewhere that block IDs don't exist anymore and couldn't find any on wiki.vg about it, thanks for clarifying 2017-12-31 23:28:29 pokechu22 Well, block IDs themselves actually _almost_ don't exist (there's only one packet that uses them, and that could be swapped out) 2017-12-31 23:28:54 timmyRS In the 1.13? 2017-12-31 23:28:58 pokechu22 But we've got block state IDs instead (and the global palette), which currently isn't synced 2017-12-31 23:29:01 pokechu22 Yeah, in 1.13 2017-12-31 23:29:12 pokechu22 I actually just wrote a comment about where each IDs are currently used, let me grab that 2017-12-31 23:30:16 pokechu22 https://minecraft.gamepedia.com/Talk:Java_Edition_data_values#Can_you_remove_the_numeric_IDs.3F - check the bottommost comment in that section 2017-12-31 23:32:52 timmyRS Looks like it's gonna be a pain to get my server 1.13-compatible. 2017-12-31 23:33:56 pokechu22 Oh, yeah, also worth checking out the "debug mode" world type in singleplayer if you want to get an idea of how many different states there are (this can be done in either 1.12 or 1.13) -- when creating a world, hold shift on the world type and then you can get it 2017-12-31 23:35:41 chibill I think the server should sync them tho at least. XD 2017-12-31 23:36:34 trumank it will have to once (if) mods become a thing (unless they can remove id conflicts deterministicly) 2017-12-31 23:36:38 pokechu22 Yeah, it would be nice if it did. Sync block state IDs, and maybe switch to text IDs for items 2017-12-31 23:36:59 pokechu22 Forge does sync the IDs, in some way or another 2017-12-31 23:37:21 pokechu22 Though I think it syncs block IDs, and now that one block can have a ton of states, it maybe should be syncing the state list instead 2017-12-31 23:39:31 chibill Maybe. 2018-01-01 00:20:18 --> simon816 (~simon816@ec2-52-43-110-46.us-west-2.compute.amazonaws.com) a rejoint #mcdevs 2018-01-01 00:32:43 <-- protryon (~protryon@c-67-180-93-98.hsd1.ca.comcast.net) a quitté (Quit: WeeChat 1.7-rc2) 2018-01-01 01:00:55 <-- Paprikachu (~pap@novalis.katana.io) a quitté (Quit: SIGSEGV) 2018-01-01 01:02:35 --> Paprikachu (~pap@novalis.katana.io) a rejoint #mcdevs 2018-01-01 01:24:08 timmyRS Happy new year to you folks. :) 2018-01-01 01:24:33 trumank omg I forgot it was tonight lol 2018-01-01 01:24:41 trumank I've been kinda out of is this year 2018-01-01 01:24:56 timmyRS Interesting lol 2018-01-01 01:45:25 justJanne frohes neujahr! 2018-01-01 01:46:03 chibill only 6:45 for me :( 2018-01-01 02:38:56 --> itsme (~textual@x4d04ecdb.dyn.telefonica.de) a rejoint #mcdevs 2018-01-01 03:23:56 <-- _123DMWM (~123DMWM@me.123dmwm.tk) a quitté (Ping timeout: 264 seconds) 2018-01-01 03:24:08 --> _123DMWM (~123DMWM@me.123dmwm.tk) a rejoint #mcdevs 2018-01-01 03:26:11 --> Ortho (~orthoplex@unaffiliated/orthoplex64) a rejoint #mcdevs 2018-01-01 03:26:49 <-- Ortho (~orthoplex@unaffiliated/orthoplex64) a quitté (Remote host closed the connection) 2018-01-01 03:28:03 --> orthoplex64 (~orthoplex@unaffiliated/orthoplex64) a rejoint #mcdevs 2018-01-01 04:20:01 --> tktech (~tktech@ec2-52-70-105-60.compute-1.amazonaws.com) a rejoint #mcdevs 2018-01-01 04:25:56 --> protryon (~protryon@c-67-180-93-98.hsd1.ca.comcast.net) a rejoint #mcdevs 2018-01-01 05:27:33 <-- itsme (~textual@x4d04ecdb.dyn.telefonica.de) a quitté (Quit: Textual IRC Client: www.textualapp.com) 2018-01-01 06:09:55 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-01 06:11:41 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 265 seconds) 2018-01-01 06:11:41 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2018-01-01 09:44:47 <-- protryon (~protryon@c-67-180-93-98.hsd1.ca.comcast.net) a quitté (Quit: WeeChat 1.7-rc2) 2018-01-01 11:26:18 --> protryon (~protryon@c-67-180-93-98.hsd1.ca.comcast.net) a rejoint #mcdevs 2018-01-01 11:50:23 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-01 11:51:48 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 260 seconds) 2018-01-01 11:51:48 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2018-01-01 12:33:40 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Read error: Connection reset by peer) 2018-01-01 12:35:30 --> redstonehelper (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-01 12:48:46 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Read error: Connection reset by peer) 2018-01-01 12:49:02 --> redstonehelper (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-01 13:43:52 <-- WizardCM (~WizardCM@110.142.57.191) a quitté (Ping timeout: 240 seconds) 2018-01-01 14:01:27 rom1504 hmm 2018-01-01 14:01:32 rom1504 is that up to date http://wiki.vg/Pre-release_protocol ? 2018-01-01 14:01:47 rom1504 I thought there was a lot lot of changes since 1.12.2 and actually not ? 2018-01-01 14:05:10 MiniDigger thats up to date 2018-01-01 14:11:17 rom1504 ok thanks 2018-01-01 14:11:44 MiniDigger pretty sure bone said we got all 2018-01-01 14:12:21 rom1504 what is the "Identifier" type ? 2018-01-01 14:12:36 rom1504 ah http://wiki.vg/Protocol#Identifier 2018-01-01 14:14:49 rom1504 seems to be a string 2018-01-01 14:24:34 MiniDigger mcp calls them MinecraftKey and spigot calls them NamespacedKey 2018-01-01 14:26:21 rom1504 yeah I just wanted the network type 2018-01-01 14:26:29 rom1504 "Type of data varies based off of the particle. For "iconcrack", it is a Slot. For "blockcrack", "blockdust", and "fallingdust", it is a block state encoded as a VarInt that is an index within the global palette." that's just crazy 2018-01-01 14:32:09 rom1504 also that's incomplete 2018-01-01 14:32:15 rom1504 what about other particles ? 2018-01-01 14:32:24 rom1504 guess the field is empty then 2018-01-01 14:44:17 MiniDigger is there a limit on how many open plugin messaging channels the server or client support? 2018-01-01 14:45:10 MiniDigger spigot limits it to 128 and I want to find out why 2018-01-01 15:07:25 rom1504 my best guess is read the server or client code about this 2018-01-01 15:07:29 rom1504 (with mcp or somethingà 2018-01-01 15:07:37 rom1504 so "Only if flags is 3 or 1 (bit mask 0x1)." is also crazy 2018-01-01 15:08:00 rom1504 you need to read a bitfield to know if you need to read a field 2018-01-01 15:08:37 rom1504 "Flags Byte" not really, I'd say it should be "bitfield of such and such" 2018-01-01 15:09:32 rom1504 ah you don't actually need to read it as a bitfield 2018-01-01 15:09:33 rom1504 ok then 2018-01-01 15:30:18 rom1504 "Length is width * height" gosh 2018-01-01 15:33:25 rom1504 no actually I think this is incorrect 2018-01-01 15:33:48 rom1504 why do we need an array of array of slot in a shapeless recipe ? 2018-01-01 15:34:20 rom1504 pokechu22: http://wiki.vg/index.php?title=Pre-release_protocol&oldid=13538#Declare_Recipes 2018-01-01 15:35:39 rom1504 http://pokechu22.github.io/Burger/ where did the protocol go ? 2018-01-01 15:36:36 rom1504 ok I'm going to assume this is reasonable 2018-01-01 15:36:48 rom1504 so shapeless recipe = an array of slot 2018-01-01 15:40:04 rom1504 shaped recipe = an array of size width of array of size height 2018-01-01 15:40:18 rom1504 not feeling like checking, if someone does check, please fix the page 2018-01-01 15:43:20 MiniDigger rom1504, its still there, just no index http://pokechu22.github.io/Burger/17w50a.html 2018-01-01 15:44:49 rom1504 ok 2018-01-01 15:44:54 rom1504 "var2.a(packetbuffer, var3); // interface call to aow.a(Lgl;Laou;)V: behavior may vary" not helpful 2018-01-01 15:44:54 MiniDigger https://github.com/Pokechu22/Burger/tree/gh-pages 2018-01-01 15:45:15 rom1504 would have to decompile and have a look 2018-01-01 15:45:33 MiniDigger which class? 2018-01-01 15:49:11 rom1504 "aow" I guess 2018-01-01 15:49:30 rom1504 the classes that implement aow.a 2018-01-01 15:49:49 rom1504 one should be shapeless recipe and the other shaped recipe 2018-01-01 16:14:38 --> Amaranth (~Amaranth@ubuntu/member/Amaranth) a rejoint #mcdevs 2018-01-01 16:14:38 -- Mode #mcdevs [+v Amaranth] par ChanServ 2018-01-01 16:21:13 <-- Amaranth (~Amaranth@ubuntu/member/Amaranth) a quitté (Quit: The Lounge - https://thelounge.github.io) 2018-01-01 16:21:24 --> Amaranth (~Amaranth@ubuntu/member/Amaranth) a rejoint #mcdevs 2018-01-01 16:21:24 -- Mode #mcdevs [+v Amaranth] par ChanServ 2018-01-01 16:21:55 --> itsme__ (~textual@x4d04ecdb.dyn.telefonica.de) a rejoint #mcdevs 2018-01-01 16:29:57 <-- roblabla1 (~roblablar@roblab.la) a quitté (Remote host closed the connection) 2018-01-01 16:30:35 --> roblabla (~roblablar@roblab.la) a rejoint #mcdevs 2018-01-01 16:36:06 <-- roblabla (~roblablar@roblab.la) a quitté (Remote host closed the connection) 2018-01-01 16:43:15 --> roblabla (~roblablar@91.121.81.160) a rejoint #mcdevs 2018-01-01 16:43:28 <-- roblabla (~roblablar@91.121.81.160) a quitté (Remote host closed the connection) 2018-01-01 17:06:26 --> roblabla (~roblablar@roblab.la) a rejoint #mcdevs 2018-01-01 17:11:12 <-- Jeebiss (sid25046@gateway/web/irccloud.com/x-eoavfafpfduvfagc) a quitté (Killed (Sigyn (Spam is off topic on freenode.))) 2018-01-01 17:15:42 <-- roblabla (~roblablar@roblab.la) a quitté (Remote host closed the connection) 2018-01-01 17:16:14 --> roblabla (~roblablar@roblab.la) a rejoint #mcdevs 2018-01-01 17:16:42 <-- roblabla (~roblablar@roblab.la) a quitté (Remote host closed the connection) 2018-01-01 17:17:25 --> roblabla (~roblablar@roblab.la) a rejoint #mcdevs 2018-01-01 17:27:03 <-- oldmanmike (~michael@pool-173-75-221-55.phlapa.fios.verizon.net) a quitté #mcdevs 2018-01-01 17:49:30 kashike mcp calls them MinecraftKey and spigot calls them NamespacedKey 2018-01-01 17:49:32 kashike wrong 2018-01-01 17:49:42 kashike MCP calls it ResourceLocation 2018-01-01 18:07:36 Not-1563 [minecraft-data] rom1504 pushed 15 commits to master [+4/-0/±22] https://git.io/vbxMh 2018-01-01 18:07:38 Not-1563 [minecraft-data] rom1504 2e63a5a - Merge pull request #196 from PrismarineJS/1.13 17w50a : first supported 1.13 snapshot 2018-01-01 18:09:28 Not-1563 [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/vbxDq 2018-01-01 18:09:30 Not-1563 [minecraft-data] rom1504 c87aa2c - Release 2.22.0 2018-01-01 18:09:35 Not-1563 [minecraft-data] rom1504 tagged c87aa2c as 2.22.0 https://git.io/vbxDY 2018-01-01 19:12:38 MiniDigger kashike, mmh, so minecraftkey is sponge then? I don't know where I got that name from, lol. 2018-01-01 19:22:09 --> itsme___ (~textual@x4d04f3a8.dyn.telefonica.de) a rejoint #mcdevs 2018-01-01 19:22:44 Not-1563 [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/vbxH4 2018-01-01 19:22:45 Not-1563 [minecraft-data] rom1504 239d13c - fix bitset compareTo usage in 17w50a 2018-01-01 19:24:39 <-- itsme__ (~textual@x4d04ecdb.dyn.telefonica.de) a quitté (Ping timeout: 240 seconds) 2018-01-01 19:30:31 kashike MiniDigger: from spigot 2018-01-01 19:30:47 kashike that's the name of it internally 2018-01-01 19:38:03 rom1504 did something change in the nbt ? 2018-01-01 19:44:00 pokechu22 There's a new NBT type 2018-01-01 19:44:08 pokechu22 Well, actually, no, there isn't 2018-01-01 19:44:18 pokechu22 They're using the long array type that was added a while back but never used 2018-01-01 19:44:47 pokechu22 Spigot NMS is MinecraftKey, NamespacedKey is what they're calling it in the API 2018-01-01 19:45:17 rom1504 ah yeah ok 2018-01-01 19:45:32 rom1504 pokechu22: do you know about the declare recipe packet ? 2018-01-01 19:45:47 rom1504 the page says shapeless recipe has an array of array of ingredients 2018-01-01 19:45:59 pokechu22 There isn't a real limit, it's just spigot trying to prevent a theoretical (and IMO not realistic) attack of the client opening billions of channels to use up memory 2018-01-01 19:46:04 rom1504 I assumed it's an error and it's just an array of ingredients but not sure (?) 2018-01-01 19:48:18 pokechu22 The particle thing is reasonable, but yeah it does need to explain the default case 2018-01-01 19:49:20 pokechu22 Uh, yeah, array of array of ingredient is probably an error 2018-01-01 19:49:52 chibill Or is it so it only sends each item once? 2018-01-01 19:50:24 pokechu22 Oh, are you trying to figure out why Ingredient has an array of slot in it? 2018-01-01 19:51:23 pokechu22 I'm actually pretty sure that's accurate, give me a sec 2018-01-01 19:52:26 chibill As why send one packet per recipe o you could send one packet per craftable item just. 2018-01-01 19:56:23 rom1504 so http://wiki.vg/Pre-release_protocol#Declare_Recipes 2018-01-01 19:56:31 rom1504 Ingredient should be replace by Slot 2018-01-01 19:56:35 rom1504 *replaced 2018-01-01 19:57:03 pokechu22 No, it shouldn't 2018-01-01 19:57:06 rom1504 ok 2018-01-01 19:57:25 pokechu22 And I'm trying to pull up an example for shapeless right now but am having trouble finding one 2018-01-01 19:59:47 pokechu22 Hm, finding a shapeless one is hard. But for shaped: https://gist.github.com/Pokechu22/78b92e12891b89463c68f7e1ca1930c6 -- the Ingredient type is for things like 'T' in that pattern where there are different possibilities 2018-01-01 20:00:02 pokechu22 Any value in Ingredient can by used in the actual recipe 2018-01-01 20:00:09 rom1504 ah I get it ok 2018-01-01 20:00:42 rom1504 my packet def for declare_recipe doesn't work though, must be something else... 2018-01-01 20:01:29 pokechu22 Yeah, it's a bit scary (but less scary than declare_commands :P) 2018-01-01 20:02:30 rom1504 http://pokechu22.github.io/Burger/17w50a.html#packets:0x52 http://wiki.vg/Pre-release_protocol#Declare_Recipes 2018-01-01 20:03:06 rom1504 ah yeah right 2018-01-01 20:03:20 pokechu22 Oh, by the way, a few of the packets burger produces are slightly wrong; I've been working on fixing it but it's hard 2018-01-01 20:03:27 rom1504 but my problem is in shaped_recipe actually and there is nothing about that in the burger 2018-01-01 20:03:30 pokechu22 For instance the broken else blocks on stop sound 2018-01-01 20:10:19 pokechu22 (currently trying to pull up the relevant source) 2018-01-01 20:16:01 pokechu22 OK, 3 implementations of aow, one which is generic and used for all special ones and writes nothing 2018-01-01 20:25:49 pokechu22 And here's the others: https://gist.github.com/Pokechu22/a3d498878c9c779f68ff9fc7d940f947 2018-01-01 20:26:32 rom1504 oh slot changed 2018-01-01 20:26:37 rom1504 I missed that somehow 2018-01-01 20:28:51 pokechu22 Ah. Yeah, no more damage values 2018-01-01 20:29:15 kashike thank goodness 2018-01-01 20:35:30 Not-1563 [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/vbxFI 2018-01-01 20:35:31 Not-1563 [minecraft-data] rom1504 dce4235 - fix slot and declare_recipes and declare_commands 2018-01-01 20:45:11 rom1504 seems I fixed declare recipes but declare commands only work partially 2018-01-01 20:47:49 rom1504 there's something up with the flag 2018-01-01 20:47:56 rom1504 is it really read as a byte ? 2018-01-01 20:49:14 kashike Flags? yes 2018-01-01 20:49:18 kashike and written as a byte too 2018-01-01 20:49:20 kashike wiki is out of date 2018-01-01 20:51:45 pokechu22 Oops 2018-01-01 20:52:03 pokechu22 "Byte (read) and VarInt (written)", yay 2018-01-01 20:52:30 timmyRS Why would something be written one way but read the other way? 2018-01-01 20:52:50 pokechu22 That sometimes happens when they wrote a packet but didn't test it or something 2018-01-01 20:53:02 kashike or changed it one place and not the other 2018-01-01 20:53:12 pokechu22 VarInt and byte are compatible with eachother unless the top bit is set so it'd be easy to miss 2018-01-01 20:55:07 pokechu22 It's byte both ways now, confirmed 2018-01-01 20:55:21 timmyRS Good to know 2018-01-01 20:58:26 Not-1563 [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/vbxFp 2018-01-01 20:58:28 Not-1563 [minecraft-data] rom1504 6ba1ef5 - Release 2.23.0 2018-01-01 20:58:32 Not-1563 [minecraft-data] rom1504 tagged 6ba1ef5 as 2.23.0 https://git.io/vbxFh 2018-01-01 21:08:23 rom1504 is there any chance the client could somehow be ok with a wrong children count ? 2018-01-01 21:09:22 pokechu22 I don't think so? 2018-01-01 21:23:45 --> Jeebiss (sid25046@gateway/web/irccloud.com/x-jhtsmpsdgtapzvnk) a rejoint #mcdevs 2018-01-01 21:27:29 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-01 21:28:00 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 248 seconds) 2018-01-01 21:28:00 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2018-01-01 21:31:18 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Client Quit) 2018-01-01 21:44:48 --> WizardCM (~WizardCM@dsl-58-6-81-236.sa.westnet.com.au) a rejoint #mcdevs 2018-01-01 21:49:24 +Dinnerbone No because then the client would try to read too little or too much from the packet and that's an error 2018-01-01 21:54:07 <-- WizardCM (~WizardCM@dsl-58-6-81-236.sa.westnet.com.au) a quitté (K-Lined) 2018-01-01 22:01:08 rom1504 https://github.com/PrismarineJS/node-minecraft-protocol/pull/528#issue-285325969 2018-01-01 22:01:22 rom1504 ok 2018-01-01 22:01:31 rom1504 then I'm doing something wrong 2018-01-01 22:01:46 rom1504 maybe my bitfield reading code 2018-01-01 22:07:09 +Dinnerbone Yeah that looks very wrong, you have duplicate children even 2018-01-01 22:08:28 rom1504 yeah the last children is wrong, likely because the children count is being read wrong, not sure why, I'm going to print the buffer and try to figure out what's going on 2018-01-01 22:09:34 rom1504 the properties of "brigadier:string" is "properties": "\u0006\u0000" 2018-01-01 22:09:41 rom1504 that's a bit suspicious too 2018-01-01 22:09:44 +Dinnerbone Is it possible you're misreading one of the parsers? 2018-01-01 22:09:48 rom1504 but idk, maybe it's possible ? 2018-01-01 22:10:22 +Dinnerbone String does have properties 2018-01-01 22:10:28 +Dinnerbone An enum of what type of string 2018-01-01 22:10:48 +Dinnerbone I don't see that in your protocol.json 2018-01-01 22:11:34 rom1504 https://github.com/PrismarineJS/minecraft-data/blob/master/data/pc/17w50a/protocol.json#L1343 ? 2018-01-01 22:11:46 rom1504 I'm not sure I understand your question 2018-01-01 22:11:50 pokechu22 It might be that the list of parsers on the wiki is out of date 2018-01-01 22:11:55 +Dinnerbone Yes but it has data attached to it 2018-01-01 22:12:04 pokechu22 I haven't been updating it since I first added the list 2018-01-01 22:12:06 +Dinnerbone Like brigadier:integer for example 2018-01-01 22:12:16 rom1504 http://wiki.vg/Pre-release_protocol#Declare_Commands says brigadier:string is a string 2018-01-01 22:12:27 +Dinnerbone With an enum# 2018-01-01 22:12:36 rom1504 ahhh 2018-01-01 22:12:38 rom1504 indeed 2018-01-01 22:12:41 rom1504 I misread it 2018-01-01 22:14:13 +Dinnerbone The description is what the parser ends up taking, but you shouldn't care about that column really unless you're trying to parse commands yourself 2018-01-01 22:14:45 rom1504 yeah I know 2018-01-01 22:14:51 +Dinnerbone You just need the "properties" column. A parser will be a name followed by some properties based on the name 2018-01-01 22:15:07 rom1504 but for this specific parser I read the properties column wrong 2018-01-01 22:15:13 +Dinnerbone :D 2018-01-01 22:15:16 rom1504 reading the varint enum fixed it 2018-01-01 22:15:20 rom1504 thanks :) 2018-01-01 22:15:29 kashike also 2018-01-01 22:15:42 kashike it's worth noting that list of parsers is outdated 2018-01-01 22:15:43 kashike :P 2018-01-01 22:16:18 +Dinnerbone Doesn't look that outdated, I've not changed it much since I wrote the packet 2018-01-01 22:16:26 kashike changes: block -> block_state, item -> item_stack; new: block_predicate, item_predicate, function 2018-01-01 22:16:42 +Dinnerbone Aha that's true! 2018-01-01 22:18:28 +Dinnerbone I changed those because predicates can be more lax in parsing and take extra info 2018-01-01 22:18:37 +Dinnerbone And functions can take tags 2018-01-01 22:25:21 Not-1563 [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/vbxpY 2018-01-01 22:25:23 Not-1563 [minecraft-data] rom1504 2baf6ce - fix brigadier:string parser properties 2018-01-01 22:26:03 Not-1563 [minecraft-data] rom1504 pushed 1 commit to master [+0/-0/±1] https://git.io/vbxps 2018-01-01 22:26:05 Not-1563 [minecraft-data] rom1504 e95215f - Release 2.24.0 2018-01-01 22:26:13 Not-1563 [minecraft-data] rom1504 tagged e95215f as 2.24.0 https://git.io/vbxpG 2018-01-01 22:45:48 --> redstonehelper (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-01 22:59:05 kashike rom1504: also, seems you went back in time - this is 17w50a, not 15w50a :P 2018-01-01 23:00:13 timmyRS Will the next one be 18w01a? 2018-01-01 23:02:16 kashike if in the first week, sure 2018-01-01 23:03:39 timmyRS I would think so, as they release a snapshot like every friday, right? 2018-01-01 23:04:38 kashike wednesday! 2018-01-01 23:07:28 rom1504 kashike: hmmm, where did I put 15w50a ? 2018-01-01 23:08:38 timmyRS Didn't you put it in /home/rom1504/minecraft/versions/15w50a/binaries/? 2018-01-01 23:09:09 kashike it's gone now, was at https://github.com/PrismarineJS/node-minecraft-protocol/tree/15w50a 2018-01-01 23:09:10 kashike :P 2018-01-01 23:09:26 rom1504 ah 2018-01-01 23:09:29 rom1504 the branch name 2018-01-01 23:09:48 rom1504 idk why I wanted to write 15w50a several times, but I thought I caught them all 2018-01-01 23:09:54 rom1504 apparently not this one :d 2018-01-01 23:35:57 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Remote host closed the connection) 2018-01-01 23:40:12 --> redstonehelper (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-02 00:18:48 <-- balrog (~balrog@unaffiliated/balrog) a quitté (Quit: Bye) 2018-01-02 00:23:16 --> barneygale (~barneygal@2.223.40.101) a rejoint #mcdevs 2018-01-02 02:27:56 <-- Techcable (znc@irc.techcable.net) a quitté (Quit: ZNC - http://znc.in) 2018-01-02 02:30:21 --> Techcable (znc@168.235.71.152) a rejoint #mcdevs 2018-01-02 02:46:14 <-- yosafbridge (~yosafbrid@68.ip-149-56-14.net) a quitté (Read error: Connection reset by peer) 2018-01-02 02:50:57 --> yosafbridge (~yosafbrid@68.ip-149-56-14.net) a rejoint #mcdevs 2018-01-02 02:56:18 --> balrog (~balrog@unaffiliated/balrog) a rejoint #mcdevs 2018-01-02 03:15:08 --> star (~star@c-76-16-146-255.hsd1.il.comcast.net) a rejoint #mcdevs 2018-01-02 03:25:24 <-- barneygale (~barneygal@2.223.40.101) a quitté (Ping timeout: 256 seconds) 2018-01-02 03:28:12 --> barneygale (~barneygal@2.223.40.101) a rejoint #mcdevs 2018-01-02 04:21:39 <-- itsme___ (~textual@x4d04f3a8.dyn.telefonica.de) a quitté (Quit: Textual IRC Client: www.textualapp.com) 2018-01-02 06:14:10 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-02 06:16:31 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 248 seconds) 2018-01-02 06:16:31 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2018-01-02 10:17:03 <-- barneygale (~barneygal@2.223.40.101) a quitté (Ping timeout: 248 seconds) 2018-01-02 11:21:33 <-- _123DMWM (~123DMWM@me.123dmwm.tk) a quitté (Ping timeout: 268 seconds) 2018-01-02 11:23:55 --> _123DMWM (~123DMWM@me.123dmwm.tk) a rejoint #mcdevs 2018-01-02 18:22:17 <-- unascribed (~aesen@everybody.do.the.net.split.unascribed.com) a quitté (Quit: Your warranty is now void.) 2018-01-02 18:22:38 --> unascribed (~una@everybody.do.the.net.split.unascribed.com) a rejoint #mcdevs 2018-01-02 18:32:05 --> itsme__ (~textual@x4d04f3a8.dyn.telefonica.de) a rejoint #mcdevs 2018-01-02 19:22:50 --> itsme___ (~textual@x4d04d31a.dyn.telefonica.de) a rejoint #mcdevs 2018-01-02 19:24:47 <-- itsme__ (~textual@x4d04f3a8.dyn.telefonica.de) a quitté (Ping timeout: 248 seconds) 2018-01-02 20:24:48 --> barneygale (~barneygal@2.223.40.101) a rejoint #mcdevs 2018-01-02 20:42:14 <-- orthoplex64 (~orthoplex@unaffiliated/orthoplex64) a quitté (Quit: Leaving) 2018-01-02 20:57:55 <-- itsme___ (~textual@x4d04d31a.dyn.telefonica.de) a quitté (Quit: Textual IRC Client: www.textualapp.com) 2018-01-02 21:59:56 <-- barneygale (~barneygal@2.223.40.101) a quitté (Ping timeout: 264 seconds) 2018-01-02 22:11:58 --> itsme (~textual@x4d04d31a.dyn.telefonica.de) a rejoint #mcdevs 2018-01-02 22:14:41 --> barneygale (~barneygal@2.223.40.101) a rejoint #mcdevs 2018-01-02 23:13:03 timmyRS have you ever seen a case of a "Message of the Day" actually being used in the way the name implies? 2018-01-02 23:14:27 MiniDigger yes, doesn't that one news site does it? like thought of the day or smth 2018-01-02 23:15:29 timmyRS Well I was kind of refering to Minecraft, IRC, Linux, etc. 2018-01-02 23:16:10 rom1504 twitter 2018-01-02 23:18:07 -- Mistletek est maintenant connu sous le nom Mustek 2018-01-03 00:39:10 justJanne timmyRS: the ubuntu default MOTD actually does 2018-01-03 00:40:07 justJanne it’s loaded from https://motd.ubuntu.com/ 2018-01-03 00:40:57 timmyRS Interesting, thanks for the share. 2018-01-03 00:42:21 pokechu22 Also worth noting the wonderful QOTD protocol that is assigned TCP and UDP port 17: https://en.wikipedia.org/wiki/QOTD 2018-01-03 00:46:44 timmyRS The minecraft protocol should be standarized so that mojang has a reason not to change the packet ids like every version 2018-01-03 00:48:04 pokechu22 I think the reason the ID changes happen so often is because they don't actually have IDs on their end - the IDs are just dynamically allocated (so if they add something early on the list, everything shifts). But it does get annoying :P 2018-01-03 00:53:45 timmyRS it's just so backward-incompatible :/ 2018-01-03 01:59:47 <-- itsme (~textual@x4d04d31a.dyn.telefonica.de) a quitté (Max SendQ exceeded) 2018-01-03 02:02:15 --> itsme (~textual@x4d04d31a.dyn.telefonica.de) a rejoint #mcdevs 2018-01-03 02:04:59 --> WizardCM (~WizardCM@dsl-58-6-81-236.sa.westnet.com.au) a rejoint #mcdevs 2018-01-03 02:15:33 --> Jan1902 (~quassel@2a02:2028:82c:6401:30f3:cd2c:9bfc:9167) a rejoint #mcdevs 2018-01-03 02:17:12 <-- WizardCM (~WizardCM@dsl-58-6-81-236.sa.westnet.com.au) a quitté (K-Lined) 2018-01-03 02:19:04 <-- Jan1902 (~quassel@2a02:2028:82c:6401:30f3:cd2c:9bfc:9167) a quitté (Remote host closed the connection) 2018-01-03 02:29:05 --> Jan1902 (~quassel@2a02:2028:82c:6401:30f3:cd2c:9bfc:9167) a rejoint #mcdevs 2018-01-03 02:31:39 Jan1902 Hey, havent been here in a while. I've lately been working on a Minecraft Client but I got stuck with receiving data from the server, since it seems to not send them as one big chunk but instead as individual pieces of data, which kind of threw me off, id really appreciate if someone could should share a way to handle this :/ 2018-01-03 02:32:19 pokechu22 I'm confused by what you mean. What language are you using? 2018-01-03 02:32:28 Jan1902 c# 2018-01-03 02:34:17 Jan1902 And I mean, i tried simply receiving packets from the server, but to me it seems like the server is sending the packets not as one big chunk of bytes but instead as parts, like, every single piece of the packet individually, im not sure if thats right, but thats how it looked to me, and that kind of threw me off 2018-01-03 02:35:14 pokechu22 Most of the packets are only a few bytes long, so I'm still not exactly sure what that'd look like 2018-01-03 02:36:24 pokechu22 But I don't know how the .NET api works exactly 2018-01-03 02:36:58 Jan1902 Well, id expect to see a big array of bytes, for example containing a few varints and a string or so, but from what i saw it seems to be sendin everything indiviudally, length, id, varint1, varint2, etc 2018-01-03 02:36:58 Jan1902 well, that doesnt really matter in this case, this applies to every language and framework 2018-01-03 02:37:49 +SpaceManiac Jan1902: there is no direct mapping between recv() calls and protocol-level packets 2018-01-03 02:37:55 pokechu22 Well, that's weird, and not something I actually looked like 2018-01-03 02:38:03 pokechu22 * looked at before 2018-01-03 02:38:31 Jan1902 What do you mean SpaceManiac ? :/ 2018-01-03 02:38:45 pokechu22 You should be able to just keep reading bytes from the stream, regardless of how they're actually sent over the network at a lower level 2018-01-03 02:39:02 star Packets are null terminated right? 2018-01-03 02:39:09 +SpaceManiac star: not even close 2018-01-03 02:39:11 star So you should be able to to tell when a packet has finished sending 2018-01-03 02:39:13 star Guess not 2018-01-03 02:39:21 Jan1902 well, yes, but how am i gonna know where a packet ends, im not sure if they have a terminator 2018-01-03 02:39:26 pokechu22 They're length-prefixed 2018-01-03 02:39:28 +SpaceManiac ^ 2018-01-03 02:39:32 Jan1902 oh right 2018-01-03 02:39:38 pokechu22 So, just read the length in bytes, and then handle that 2018-01-03 02:47:47 Jan1902 So what I did now, was just constantly copy the received data into a big buffer, and at the same time always check if the data in the buffer is longer or equal to the length parameter at the start, if yes, read this packet out, if no, skip 2018-01-03 02:47:47 Jan1902 this is kind of ugly, but it will work i guess xD 2018-01-03 02:52:17 --> webshit_ (~webshit@165.227.47.90) a rejoint #mcdevs 2018-01-03 02:54:49 <-- Jan1902 (~quassel@2a02:2028:82c:6401:30f3:cd2c:9bfc:9167) a quitté #mcdevs ("http://quassel-irc.org - Chat comfortably. Anywhere.") 2018-01-03 02:54:55 --> Jan1902 (~quassel@2a02:2028:82c:6401:30f3:cd2c:9bfc:9167) a rejoint #mcdevs 2018-01-03 02:55:40 Jan1902 Taking it back, it does look ugly, AND it doesnt work, i guess i need put a bit more work into it, and get back into this kind of stuff a bit more 2018-01-03 03:20:57 star Are you doing the client in C# to learn? 2018-01-03 03:26:30 Jan1902 partly, yes 2018-01-03 04:34:30 --> Jan1902_ (~quassel@2a02:2028:640:9101:30f3:cd2c:9bfc:9167) a rejoint #mcdevs 2018-01-03 04:37:01 <-- Jan1902 (~quassel@2a02:2028:82c:6401:30f3:cd2c:9bfc:9167) a quitté (Ping timeout: 252 seconds) 2018-01-03 04:43:36 <-- protryon (~protryon@c-67-180-93-98.hsd1.ca.comcast.net) a quitté (Quit: WeeChat 1.7-rc2) 2018-01-03 04:46:02 <-- Jan1902_ (~quassel@2a02:2028:640:9101:30f3:cd2c:9bfc:9167) a quitté (Remote host closed the connection) 2018-01-03 04:47:48 --> Jan1902 (~quassel@2a02:2028:640:9101:30f3:cd2c:9bfc:9167) a rejoint #mcdevs 2018-01-03 04:47:52 <-- Jan1902 (~quassel@2a02:2028:640:9101:30f3:cd2c:9bfc:9167) a quitté (Remote host closed the connection) 2018-01-03 04:53:51 <-- webshit_ (~webshit@165.227.47.90) a quitté (Remote host closed the connection) 2018-01-03 04:57:08 --> webshit_ (~webshit@165.227.47.90) a rejoint #mcdevs 2018-01-03 04:58:06 <-- webshit_ (~webshit@165.227.47.90) a quitté (Client Quit) 2018-01-03 04:58:25 --> webshit_ (~webshit@165.227.47.90) a rejoint #mcdevs 2018-01-03 05:07:57 <-- itsme (~textual@x4d04d31a.dyn.telefonica.de) a quitté (Quit: Textual IRC Client: www.textualapp.com) 2018-01-03 05:24:01 --> AlphaBlend (~AlphaBlen@cpe-66-74-178-84.socal.res.rr.com) a rejoint #mcdevs 2018-01-03 06:03:58 <-- barneygale (~barneygal@2.223.40.101) a quitté (Ping timeout: 256 seconds) 2018-01-03 06:12:21 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-03 06:16:44 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 264 seconds) 2018-01-03 06:16:45 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2018-01-03 06:18:07 --> WizardCM (~WizardCM@dsl-58-6-81-236.sa.westnet.com.au) a rejoint #mcdevs 2018-01-03 06:19:37 <-- WizardCM (~WizardCM@dsl-58-6-81-236.sa.westnet.com.au) a quitté (K-Lined) 2018-01-03 06:54:35 <-- kev009 (~kev009@2001:579:8084:21:8471:3aeb:194c:aba7) a quitté (Remote host closed the connection) 2018-01-03 06:57:23 --> kev009 (~kev009@2001:579:8084:21:c0a3:5245:4ed9:2819) a rejoint #mcdevs 2018-01-03 06:57:23 -- Mode #mcdevs [+v kev009] par ChanServ 2018-01-03 07:02:22 <-- kev009 (~kev009@2001:579:8084:21:c0a3:5245:4ed9:2819) a quitté (Remote host closed the connection) 2018-01-03 07:30:43 --> kev009 (~kev009@2001:579:8084:21:f996:5ee:86fd:6564) a rejoint #mcdevs 2018-01-03 07:30:46 -- Mode #mcdevs [+v kev009] par ChanServ 2018-01-03 07:56:17 --> protryon (~protryon@c-67-180-93-98.hsd1.ca.comcast.net) a rejoint #mcdevs 2018-01-03 09:11:54 rom1504 if you replace that part "if no, skip" by "if no, keep reading", then that's the correct way to handle the protocol for minecraft <=1.6 2018-01-03 09:12:15 rom1504 for more recent minecraft, you can use the length prefix 2018-01-03 09:18:16 timmyRS what would you possibly need 1.6 and below for 2018-01-03 09:19:02 chibill some peopel still make stuff for it. 2018-01-03 09:19:10 chibill Heck people make server for beta still. 2018-01-03 09:19:58 timmyRS I get why some people still use like 1.8 but beta?! 2018-01-03 10:53:53 --> octobyte (~octobyte@81.128.218.100) a rejoint #mcdevs 2018-01-03 11:52:29 --> barneygale (~barneygal@2.223.40.101) a rejoint #mcdevs 2018-01-03 11:52:43 <-- octobyte (~octobyte@81.128.218.100) a quitté (Quit: ZNC 1.6.5 - http://znc.in) 2018-01-03 11:54:09 --> octobyte (~octobyte@81.128.218.100) a rejoint #mcdevs 2018-01-03 12:15:29 <-- barneygale (~barneygal@2.223.40.101) a quitté (Ping timeout: 248 seconds) 2018-01-03 12:36:42 --> barneygale (~barneygal@2.223.40.101) a rejoint #mcdevs 2018-01-03 13:40:59 MiniDigger Pistons killed the game! 2018-01-03 14:20:47 <-- barneygale (~barneygal@2.223.40.101) a quitté (Ping timeout: 248 seconds) 2018-01-03 14:23:06 --> WizardCM (~WizardCM@dsl-58-6-81-236.sa.westnet.com.au) a rejoint #mcdevs 2018-01-03 14:26:28 <-- WizardCM (~WizardCM@dsl-58-6-81-236.sa.westnet.com.au) a quitté (K-Lined) 2018-01-03 14:50:24 Botched [VERSION] Minecraft Snapshot 18w01a has been released! 2018-01-03 14:51:21 +Amaranth rom1504: If you don't recognize the packet in older versions the correct way to handle it is crash 2018-01-03 14:51:50 +Amaranth Because you're going to soon anyway reading arbitrary values as if they were other packets 2018-01-03 15:15:17 MiniDigger "Technical: We're exposing our data generators, so if you can figure out how, you can get a dump of our all blocks/items/commands/etc from the game without opening it up!" 2018-01-03 15:15:19 MiniDigger thats nice 2018-01-03 15:49:55 MiniDigger you have to write custom names using escape json strings now? wow, this is a PITA 2018-01-03 15:50:37 MiniDigger couldn't bones new command api allow for easier parsing of commands so I can input proper json or smth like that? 2018-01-03 15:50:43 MiniDigger this is really no fun to write /summon cow ~ ~ ~ {CustomNameVisible:1b,CustomName:"{\"text\":\"test\",\"color\":\"red\"}"} 2018-01-03 16:38:58 <-- yawkat (~yawkat@cats.coffee) a quitté (Ping timeout: 276 seconds) 2018-01-03 16:41:17 --> yawkat (~yawkat@cats.coffee) a rejoint #mcdevs 2018-01-03 17:16:15 chibill Oooh that data generator also spits out the ids! 2018-01-03 17:32:27 MiniDigger oh yeah, thats what I wanted to check out 2018-01-03 17:33:28 chibill download the server and run the following java -classpath server.jar net.minecraft.data.Main --all and it will generate all of the stuff 2018-01-03 17:45:28 <-- OkAlt (~OkAlt@S0106f0f2498160d3.lb.shawcable.net) a quitté (Ping timeout: 265 seconds) 2018-01-03 17:54:41 pokechu22 Ooooooh 2018-01-03 17:55:53 kashike I can just smell the "ooh, blocks.json has ids! we're saved!" now 2018-01-03 17:56:20 mrarm omg I got MCPE's dedicated server working on linux 2018-01-03 17:56:45 MiniDigger there is a offical mcpe dedicated server? 2018-01-03 17:56:48 mrarm nope 2018-01-03 17:57:18 mrarm i made a linux launcher for mcpe (loads mcpe's .so and provides it a runtime in which it can work) 2018-01-03 17:57:41 mrarm and since some time I tried to remove off the client part and only leave the server (there's the ServerInstance class which helps) 2018-01-03 17:58:22 mrarm but I always was missing something and never could join the server, now it looks like I didn't knew I need to run the Schedluer properly 2018-01-03 17:58:38 mrarm now to clean up the source tree eh 2018-01-03 17:59:53 pokechu22 Mhm, burger didn't identify the text component, but other than that this run worked: 2018-01-03 18:01:29 Not-1563 [Burger] New data now avaliable for 18w01a: 2018-01-03 18:01:30 Not-1563 [Burger] Diff from 17w50a: http://pokechu22.github.io/Burger/diff_17w50a_18w01a.html (http://pokechu22.github.io/Burger/diff_17w50a_18w01a.json) 2018-01-03 18:01:32 Not-1563 [Burger] Full data: http://pokechu22.github.io/Burger/18w01a.html (http://pokechu22.github.io/Burger/18w01a.json) 2018-01-03 18:02:18 pokechu22 ... ok, actually that means that most packets are broken. hm. 2018-01-03 18:02:39 kashike Heh 2018-01-03 18:31:01 pokechu22 Ok, fixed it, and I'm just a derp is why that broke 2018-01-03 18:35:21 pokechu22 OK, it's been fixed, but there might be some caching going on with github 2018-01-03 18:51:42 <-- octobyte (~octobyte@81.128.218.100) a quitté (Quit: ZNC 1.6.5 - http://znc.in) 2018-01-03 19:14:51 +Dinnerbone The data generator has `--reports` which has ids in them, designed for you guys to abuse as you like 2018-01-03 19:15:01 +Dinnerbone The format may change in the future but I figure it's better than nothing 2018-01-03 19:15:36 chibill yep :D Thanks! 2018-01-03 19:19:12 pokechu22 Yay, this is great 2018-01-03 19:20:07 justJanne I'm not sure it's optimal having to download the server to generate that list (might make it hard to do this automatically as a build step for something dpeending on the list), but it sure is a step forward 2018-01-03 19:21:02 chibill Well you will have the server for other stuff like packet stuff so why not :p 2018-01-03 19:21:03 pokechu22 You can still do it with the client, you'd just need to have the libraries on the classpath (at least I think) 2018-01-03 19:21:49 pokechu22 And a quick request - can you change the block action packet (the one note blocks use) to use block states instead of block IDs? It's the only remaining use of block IDs in the protocol 2018-01-03 19:24:18 pokechu22 Oh, looks like it's more complex than just changing the type in the packet since the state isn't present when the packet's created :/ 2018-01-03 19:26:57 chibill have we figured out the two varints in statistics> 2018-01-03 19:28:54 pokechu22 I think kash_ike mentioned them before but I haven't fully explored them 2018-01-03 19:30:24 pokechu22 Something with the type of the statistic 2018-01-03 19:39:13 pokechu22 New packet seems to be something about rotation 2018-01-03 19:49:10 pokechu22 Ah, looks like it's for the new facing argument to /teleport 2018-01-03 19:53:40 pokechu22 Documented, though I'm not sure "Face Player" is a good name gramatically 2018-01-03 19:56:13 pokechu22 Teams packet seems to have changed too. 2018-01-03 19:56:59 --> itsme_ (~textual@x4d04ef61.dyn.telefonica.de) a rejoint #mcdevs 2018-01-03 20:00:39 pokechu22 Ah, because of https://bugs.mojang.com/browse/MC-112693 probably 2018-01-03 20:03:34 pokechu22 Debug logging is still broken :/ (https://bugs.mojang.com/browse/MC-123285) 2018-01-03 21:01:13 kashike pokechu22: yes, statistics one is right, and team packet was changed for removal of prefix/suffix 2018-01-03 22:18:01 --> Jan1902 (~quassel@2a02:2028:640:9101:dcb2:1f2b:bf13:5426) a rejoint #mcdevs 2018-01-03 22:36:42 rom1504 Amaranth: no, not recognize packets, knowing for each elementary type that there is not enough bytes and you need more to continue parsing (which is not needed with length prefixes) 2018-01-03 22:37:02 rom1504 timmyRS supporting every version is fun 2018-01-03 22:38:58 timmyRS He said, being transported into the madhouse. 2018-01-03 22:41:10 rom1504 How much info is there in these "data generators" ? (Besides the IDs) 2018-01-03 22:41:51 timmyRS I was wondering how I can access them. I downloaded the 18w01a server but I didn't find out how to get it to generate data 2018-01-03 22:42:37 pokechu22 Run `java -cp minecraft_server.18w01a.jar net.minecraft.data.Main --help`, it'll tell you the arguments it wants 2018-01-03 22:43:23 pokechu22 `--all` and `--reports` give you two sets of files that probably are what you need 2018-01-03 22:44:04 chibill Well rom1504 it gives something I once requsted in minecraft-data 2018-01-03 22:44:06 chibill :P 2018-01-03 22:44:19 kashike pokechu22: --all includes --reports 2018-01-03 22:44:32 pokechu22 Oh, does it? Makes sense :P 2018-01-03 22:44:49 kashike :P 2018-01-03 22:47:00 rom1504 It's called minecraft data too, coincidence ? I think not : p 2018-01-03 22:47:39 rom1504 chibill: what is it ? 2018-01-03 22:48:34 chibill all the block states :P 2018-01-03 22:50:00 pokechu22 Burger's gotten that too, though not in the same format exactly 2018-01-03 22:58:02 rom1504 Ah yeah 2018-01-03 23:03:10 --> ME1312 (~ME1312@cpe-71-72-87-2.columbus.res.rr.com) a rejoint #mcdevs 2018-01-03 23:10:54 timmyRS --all generates some rather interesting things 2018-01-03 23:11:40 chibill Well it pulls all the recipes out for us. :P 2018-01-03 23:11:45 chibill Which are json's any ways 2018-01-03 23:12:54 pokechu22 Yeah, that's weird -- all of those things are JSON files 2018-01-03 23:13:16 chibill But they are part of the data. so eh 2018-01-03 23:13:28 pokechu22 Also, SNBT -- what is that 2018-01-03 23:13:50 chibill No idea. 2018-01-03 23:13:50 timmyRS It's a Super Nintendo Brick Telephone from the '90s! 2018-01-03 23:13:54 chibill xD 2018-01-03 23:13:57 pokechu22 Hopefully unrelated to http://wiki.vg/Trash:UNBT 2018-01-03 23:14:31 chibill Also the data thats already JSON might be exported just for convenance. 2018-01-03 23:15:01 pokechu22 Hm, it looks like it might be JSON, so it's a process that converts JSON-NBT to NBT 2018-01-03 23:15:06 pokechu22 Maybe "String NBT"? 2018-01-03 23:15:18 chibill Possibly. 2018-01-03 23:16:04 kashike takes an NBT file and coverts it to a String and then writes it to a .snbt file 2018-01-03 23:16:08 kashike convers* 2018-01-03 23:16:12 kashike converts* 2018-01-03 23:16:14 kashike ._. 2018-01-03 23:16:24 pokechu22 Oh, interesting, it looks like internally block and item tags _aren't_ JSON files... see fv and fw 2018-01-03 23:16:51 pokechu22 Right, Also, other way around I think 2018-01-03 23:17:02 chibill Also see fs 2018-01-03 23:17:21 timmyRS "protocol_id", that's nice :^) 2018-01-03 23:17:33 pokechu22 Ooooh, and recipes are generated too in fs 2018-01-03 23:17:41 pokechu22 ... fn 2018-01-03 23:18:01 pokechu22 Ah, fs is the one that goes NBT -> SNBT, and ft is SNBT -> NBT 2018-01-03 23:18:09 chibill yea 2018-01-03 23:18:55 pokechu22 Hm, typo, the commands one is labeled "Item List" 2018-01-03 23:19:57 pokechu22 This system does explain how DB made his JSON command dump a while back 2018-01-03 23:20:53 chibill fn handles the recipe exporting 2018-01-03 23:21:44 kashike chibill: github username? 2018-01-03 23:22:09 chibill fh makes the blocks json in reports 2018-01-03 23:22:41 chibill use to be chibill but I moved too https://github.com/wgaylord 2018-01-03 23:23:39 chibill fj handles the items.json 2018-01-03 23:23:54 chibill and fi handles the comamnds.json 2018-01-03 23:24:35 +Dinnerbone Tags, recipes, recipe advancements are all generated by code not copied out of the jar. 2018-01-03 23:24:52 chibill I can see. :P 2018-01-03 23:26:57 +Dinnerbone Part of our build process runs that code and copies the files into the jar for users 2018-01-03 23:27:06 chibill nice. 2018-01-03 23:27:17 +Dinnerbone All our data files will be generated eventually 2018-01-03 23:27:57 kashike blockstates, models, loot tables, advancements? 2018-01-03 23:30:55 +Dinnerbone Yep 2018-01-03 23:31:42 kashike will be interesting to see how the blockstate jsons are generated :P 2018-01-03 23:33:01 chibill Its in fh 2018-01-03 23:33:31 kashike I suggest you re-read what has been said above. :P 2018-01-03 23:33:39 pokechu22 The blockstate JSONs that are used for rendering 2018-01-03 23:34:03 chibill oooh 2018-01-03 23:43:12 Black-Hole It seems there are no alternatives for team prefix and suffix? 2018-01-03 23:43:39 pokechu22 The system as it existed was pretty horrible though 2018-01-03 23:44:55 Black-Hole But removing something isn't the best fix in most cases. 2018-01-03 23:45:41 timmyRS Now we only need to tell that to the sentient AIs. 2018-01-03 23:45:46 pokechu22 In this case the problem was that it used the prefix to determine colors, when it just needed to use colors... 2018-01-03 23:47:57 pokechu22 Having prefixes/suffices would be nice, but implemented with § is bad (and also broke e.g. narrator) 2018-01-03 23:53:14 Black-Hole I'm hoping for some team format string then. Maybe using a selector component for the player name. 2018-01-03 23:55:37 kashike The big disadvantage of team prefix/suffix going away is the length limit to "player" names - 40 characters doesn't go a long way when you're using the horrible legacy colour/formatting codes. Was 72 (40 + 16 + 16) with team prefix and suffix. 2018-01-04 00:56:15 <-- Amaranth (~Amaranth@ubuntu/member/Amaranth) a quitté (Quit: The Lounge - https://thelounge.github.io) 2018-01-04 00:56:36 --> Amaranth (~Amaranth@ubuntu/member/Amaranth) a rejoint #mcdevs 2018-01-04 00:56:36 -- Mode #mcdevs [+v Amaranth] par ChanServ 2018-01-04 00:58:20 <-- itsme_ (~textual@x4d04ef61.dyn.telefonica.de) a quitté (Quit: Textual IRC Client: www.textualapp.com) 2018-01-04 01:32:46 chibill I have 8 irc channels in my znc :) 2018-01-04 02:03:04 <-- Jan1902 (~quassel@2a02:2028:640:9101:dcb2:1f2b:bf13:5426) a quitté (Remote host closed the connection) 2018-01-04 02:04:45 * simon816 has 50 :p 2018-01-04 02:05:25 timmyRS I have 2 2018-01-04 02:05:30 kashike 203 buffers (0 merged): 142 channels, 50 queries, 7 servers, 1 xfer, 1 relay, 1 fset, 1 core; 1 windows 2018-01-04 02:15:05 <-- Hafydd (~Hafydd@unaffiliated/joo) a quitté (Ping timeout: 240 seconds) 2018-01-04 02:15:45 <-- balrog (~balrog@unaffiliated/balrog) a quitté (Ping timeout: 240 seconds) 2018-01-04 02:19:03 --> balrog (~balrog@unaffiliated/balrog) a rejoint #mcdevs 2018-01-04 02:19:03 pokechu22 I just run weechat on my pi - I don't see what benefit ZNC would give 2018-01-04 02:21:13 timmyRS ZNC gives you more ZNC in your life. 2018-01-04 02:21:27 timmyRS Also it acts like a proxy so you don't reveal your real IP 2018-01-04 02:30:14 chibill Well for me it is my real IP because I host it myself... 2018-01-04 02:30:18 chibill :p 2018-01-04 02:30:56 pokechu22 Yeah, to me it'd be either running weechat on my pi or ZNC on my pi, and between those ZNC doesn't seem to have benefits 2018-01-04 02:54:06 justJanne So if the build process already generates them, the question is why the build process generates them as json (which is quite slow to parse). In vanilla that's not much of an issue, but especially in modded Minecraft parsing millions of json files actually becomes a significant startup slowdown 2018-01-04 02:54:57 justJanne Usually in game development you'd generate a format that's optimized for loading, ideally even one that can be directly mmap'd 2018-01-04 02:55:05 timmyRS You could preparse them once for a quicker startup experience overall if it's that much of a problem. 2018-01-04 02:56:59 justJanne Sure, but then you have the question of cache invalidation, unless you switch to a format where each mod contains a UUID of the build, and you bake the data on first load of the mod, and store it in your baked data cache by UUID 2018-01-04 02:58:13 timmyRS See, you already made up your own solution! 2018-01-04 02:58:40 justJanne But that'd require changing the format of mods, too 2018-01-04 02:59:06 timmyRS At least it's better than having no data to work with at all. 2018-01-04 02:59:09 pokechu22 I think part of the issue lies with forge though since startup definitely is longer with it (even without mods) - I think it might repeat the process multiple times when it doesn't need to 2018-01-04 02:59:10 justJanne Usually it's much nicer if you can simply bake data during the build process 2018-01-04 02:59:36 pokechu22 Having access to the actual data is nice though 2018-01-04 02:59:40 justJanne Yeah, forge is doing a lot of suboptimal things 2018-01-04 03:42:56 --> OkAlt (~OkAlt@S0106f0f2498160d3.lb.shawcable.net) a rejoint #mcdevs 2018-01-04 04:02:01 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-04 04:02:09 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 248 seconds) 2018-01-04 04:02:09 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2018-01-04 06:12:09 --> redstonehelper_ (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-04 06:14:39 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Ping timeout: 256 seconds) 2018-01-04 06:14:39 -- redstonehelper_ est maintenant connu sous le nom redstonehelper 2018-01-04 06:28:36 <-- ME1312 (~ME1312@cpe-71-72-87-2.columbus.res.rr.com) a quitté (Quit: Leaving) 2018-01-04 08:40:49 rom1504 justJanne: so you would prefer having to write a new parser for a new proprietary binary formats they would create for this ? 2018-01-04 10:53:23 --> Hafydd (~Hafydd@unaffiliated/joo) a rejoint #mcdevs 2018-01-04 10:53:52 justJanne rom1504: I'd prefer no proprietary binary format, but if necessary, that's exactly what I'd do 2018-01-04 10:55:10 justJanne I haven't done much reverse engineering of Minecraft myself yet, but I spent the past 4½ years reverse engineering proprietary file formats and network protocols 2018-01-04 10:56:38 justJanne (often only with access to binaries, stripped from all symbols) 2018-01-04 10:57:27 justJanne So yes, if they added a new format, I'd volunteer to do that 2018-01-04 12:08:28 <-- Dadido3_ (~quassel@p2003007A8B1AC300A588A357C2EDD062.dip0.t-ipconnect.de) a quitté (Read error: Connection reset by peer) 2018-01-04 12:08:32 <-- bildramer (~bildramer@p200300ED83C4FC00AC9BCCA14258DFA9.dip0.t-ipconnect.de) a quitté (Remote host closed the connection) 2018-01-04 12:10:24 --> Dadido3 (~quassel@p2003007A8B1AC300C92C4BF4398B22B5.dip0.t-ipconnect.de) a rejoint #mcdevs 2018-01-04 12:14:25 <-- OkAlt (~OkAlt@S0106f0f2498160d3.lb.shawcable.net) a quitté (Ping timeout: 268 seconds) 2018-01-04 12:14:40 --> bildramer (~bildramer@p200300ED83C4FC00AC9BCCA14258DFA9.dip0.t-ipconnect.de) a rejoint #mcdevs 2018-01-04 12:20:12 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Read error: No route to host) 2018-01-04 12:20:34 --> redstonehelper (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-04 12:25:28 <-- Akkarin (~Akkarin@bnc.dotstart.tv) a quitté (Ping timeout: 255 seconds) 2018-01-04 12:26:39 --> Akkarin (~Akkarin@2001:41d0:2:230d::b000:b5) a rejoint #mcdevs 2018-01-04 12:42:26 --> octobyte (~octobyte@81.128.218.100) a rejoint #mcdevs 2018-01-04 12:55:21 <-- octobyte (~octobyte@81.128.218.100) a quitté (Quit: ZNC 1.6.5 - http://znc.in) 2018-01-04 13:19:06 --> k1l0b1t (~lammens00@91.181.55.155) a rejoint #mcdevs 2018-01-04 13:20:50 <-- k1l0b1t (~lammens00@91.181.55.155) a quitté #mcdevs ("Ik ga weg") 2018-01-04 13:48:21 --> octobyte (~octobyte@81.128.218.100) a rejoint #mcdevs 2018-01-04 13:54:40 <-- octobyte (~octobyte@81.128.218.100) a quitté (Quit: ZNC 1.6.5 - http://znc.in) 2018-01-04 13:55:56 --> octobyte (~octobyte@81.128.218.100) a rejoint #mcdevs 2018-01-04 14:03:44 <-- octobyte (~octobyte@81.128.218.100) a quitté (Quit: ZNC 1.6.5 - http://znc.in) 2018-01-04 14:04:03 --> Guest46 (4fb18b0f@gateway/web/cgi-irc/kiwiirc.com/ip.79.177.139.15) a rejoint #mcdevs 2018-01-04 14:04:51 --> octobyte (~octobyte@81.128.218.100) a rejoint #mcdevs 2018-01-04 14:05:07 Guest46 Hey, wiki.vg doesn't work for me, it shows the default web page for nginx, is it under maintenance? 2018-01-04 14:16:51 MiniDigger yeah, same, pokeing tktech 2018-01-04 14:27:24 tktech Yes it is, forced EC2 maintenance 2018-01-04 14:30:11 ScruffyRules patching are they? :P 2018-01-04 14:31:34 tktech Yup, been a shitty few months for sysops 2018-01-04 14:32:03 tktech Site is back up, DB will go down for ~2 minutes at some point when it gets hit 2018-01-04 14:37:58 tktech Great month for AMD EPYCs tho, lmao 2018-01-04 14:42:52 MiniDigger sure that they are not affected? google that at least some of amds chips are 2018-01-04 14:45:05 <-- offbeatwitch (~offbeatwi@163.172.169.69) a quitté (Quit: ZNC 1.6.3+deb1+xenial0 - http://znc.in) 2018-01-04 14:45:08 ScruffyRules s/great/better/ 2018-01-04 14:48:08 --> metathink (~globulus@unaffiliated/metathink) a rejoint #mcdevs 2018-01-04 14:52:29 <-- Guest46 (4fb18b0f@gateway/web/cgi-irc/kiwiirc.com/ip.79.177.139.15) a quitté (Remote host closed the connection) 2018-01-04 14:57:20 <-- octobyte (~octobyte@81.128.218.100) a quitté (Read error: Connection reset by peer) 2018-01-04 14:57:37 --> octobyte (~octobyte@81.128.218.100) a rejoint #mcdevs 2018-01-04 15:01:21 <-- octobyte (~octobyte@81.128.218.100) a quitté (Client Quit) 2018-01-04 15:02:37 --> octobyte (~octobyte@81.128.218.100) a rejoint #mcdevs 2018-01-04 15:05:24 tktech MiniDigger, No, AMD chips are immune so far to the one that really matters 2018-01-04 15:05:48 jast the old ones seem to be semi-affected 2018-01-04 15:05:59 tktech There are two different attacks published at the same time 2018-01-04 15:06:10 tktech One only compromises userspace from userspace 2018-01-04 15:06:14 jast I hear some chips are susceptible if the kernel has BPF JIT enabled 2018-01-04 15:06:44 tktech The one that currently only affects Intel chips from the last decade skips rings, which is the critical bit 2018-01-04 15:06:50 justJanne MiniDigger: there’s three vulnerabilities, AMD is not affected by (1), only affected by (2) if the user does some custom configuration that is warned against anyway, and affected by (3) 2018-01-04 15:07:36 justJanne (3) allows code from one process to read memory from the same process, which doesn’t sound too bad, until you remember that this means Javascript in your webbrowser can now read your password manager’s data 2018-01-04 15:07:50 tktech *Kinda 2018-01-04 15:08:12 jast are the new ones (summit ridge, threadripper) affected at all? from what I read nobody tested those initially 2018-01-04 15:08:17 tktech Properly written password managers keep the master password out of userspace 2018-01-04 15:09:36 jast man, the model and architecture names are all mixed up. I guess I meant zen. 2018-01-04 15:10:49 justJanne tktech: you mean they keep the password in a different process? Or do you mean they use SGX? 2018-01-04 15:11:19 justJanne SGX is also affected by this, and, at least on windows, any two processes that run code from the same mapped library can influence another 2018-01-04 15:11:57 tktech No, entirely software-provided features are typically used 2018-01-04 15:12:03 tktech like keyrings on linux 2018-01-04 15:12:13 tktech and protected input fields 2018-01-04 15:13:05 tktech The decrypted per-app passwords can sometimes (probably usually tbh, especially on Linux) be read 2018-01-04 15:13:06 jast so basically they make the window of opportunity for attacks smaller 2018-01-04 15:13:58 jast most pasword managers I've seen certainly "feel like" the decrypted password entries are kept wherever 2018-01-04 15:15:27 tktech Yeah TBH off the top of my head I don't know if Linux even supports a way of doing a protected canvas since X is so detached 2018-01-04 15:17:57 justJanne tktech: well, systemd introduces some ways to do that, but not for arbitrary software yet 2018-01-04 15:18:22 justJanne tktech: the most important change in the last year, thanks to systemd, is that now the screen locker is protectwd 2018-01-04 15:19:02 tktech Is it? Last time I checked you could still completely pwn a linux box at the lock screen with physical access 2018-01-04 15:19:59 tktech Good ol' DMA attacks 2018-01-04 15:20:17 tktech Because why wouldn't you provide complete memory access over firewire/usb-c/thunderbolt 2018-01-04 15:20:29 jast it's so _convenient_ 2018-01-04 15:20:43 justJanne tktech: ehm, DMA attacks work everywhere today 2018-01-04 15:20:50 tktech They shouldn't! 2018-01-04 15:21:00 tktech DPR has been a thing since 2012 2018-01-04 15:21:05 tktech No one bloody uses it 2018-01-04 15:21:06 justJanne That's a flaw in the architecture itself 2018-01-04 15:21:24 tktech It *was*, but hasn't been in a long time 2018-01-04 15:21:32 tktech You can enable DMA protected ranges (DPR) 2018-01-04 15:21:54 justJanne tktech: much funnier, unless you use recent systemd with recent screen lockers, your screen locker is jist a fullscreen window. If it crashes, you're unlocked 2018-01-04 15:22:06 tktech Heh, remember Win95? 2018-01-04 15:22:11 justJanne Yes. 2018-01-04 15:22:17 tktech You could just close the login window. 2018-01-04 15:22:22 justJanne Exactly that. 2018-01-04 15:22:35 justJanne Some screenlockers helpfully implemented ctrl-q to close the window 2018-01-04 15:23:01 tktech OS X really does have much better userspace safety in graphical land 2018-01-04 15:23:05 justJanne This was only being fixed properly right now 2018-01-04 15:23:13 justJanne Wayland and logind help a lot. 2018-01-04 15:23:23 justJanne But a lot of people refuse to change 2018-01-04 15:23:47 justJanne Including nvidia, that refuses to support any of that 2018-01-04 15:24:37 jast and I don't support nvidia. the circle is complete. ;) 2018-01-04 15:25:01 tktech Not really a choice if you do anything high-performance. 2018-01-04 15:25:23 <-- Me4502 (~Me4502@unaffiliated/me4502) a quitté (Ping timeout: 272 seconds) 2018-01-04 15:25:28 jast nothing that a GPU would help me with 2018-01-04 15:25:30 justJanne Well, amd is close enough nowadays 2018-01-04 15:25:36 justJanne In perf/watt 2018-01-04 15:25:46 tktech Not at all for cost 2018-01-04 15:25:54 justJanne Depends on where youa re. 2018-01-04 15:25:55 tktech Maybe for desktop users 2018-01-04 15:26:03 tktech They have nowhere near the parallelization per core 2018-01-04 15:26:12 justJanne Well, server usage for geforce is banned now anyway 2018-01-04 15:26:17 justJanne Per NVIDIA's new ToS 2018-01-04 15:26:28 justJanne And tesla/quadro is... unaffordable 2018-01-04 15:26:31 tktech Just invalidates your support 2018-01-04 15:26:33 jast I don't think that's enforceable 2018-01-04 15:26:39 tktech That TOS isn't at all enf... 2018-01-04 15:26:39 justJanne No, not exactly 2018-01-04 15:26:40 tktech Yeah. 2018-01-04 15:26:48 justJanne The driver is not legal to use without 2018-01-04 15:27:06 justJanne The driver shipped with the device is legal, but no updates can be gotten 2018-01-04 15:27:17 --> Me4502 (~Me4502@owexz.net) a rejoint #mcdevs 2018-01-04 15:27:18 jast I don't think restrictions on usage are enforceable where I live 2018-01-04 15:27:23 justJanne And in court this stuff has precedent ruling it legal in the US 2018-01-04 15:27:25 tktech Nah, it's still totally legal 2018-01-04 15:27:29 justJanne Of course, in europe, that's different 2018-01-04 15:27:41 -- Me4502 est maintenant connu sous le nom Guest6787 2018-01-04 15:27:41 jast I might be within my legal rights in circumventing their mechanism that prevents me from updating 2018-01-04 15:27:54 jast not that I care, because I don't have any nvidia hardware/software :) 2018-01-04 15:28:08 justJanne In the EU, you may be, but in the US, after the John Deere case, definitely not 2018-01-04 15:28:20 tktech (And Canada, don't forget about us) 2018-01-04 15:28:37 tktech Shrink wrap licensing isn't enforceable here 2018-01-04 15:28:57 justJanne Well, still. 2018-01-04 15:29:08 justJanne Using a vendor that does that is a bad idea 2018-01-04 15:29:27 justJanne Especially a vendor that already limits performance for some use cases intentionally 2018-01-04 15:30:12 justJanne tktech: which nvidia hardware is cheaper than AMD's rx480 in perf/cost and perf/watt? 2018-01-04 15:33:39 tktech You can't really compare stream processors to cuda cores 2018-01-04 15:34:19 tktech AMDs individual cards simply don't offer as much memory, bandwith, or cores 2018-01-04 15:34:44 tktech I'm talking about HPC such as near-realtime training not running a video game 2018-01-04 15:35:09 justJanne Well, for ML, nvidia is sending legal at everyone doing that on geforce now 2018-01-04 15:35:28 justJanne So I sure hope you're talking about cryptocurrency mining (which nvidia allows) 2018-01-04 15:36:18 tktech You keep talking about desktop geforce cards 2018-01-04 15:36:31 tktech TESLA V100 != geforce 2018-01-04 15:36:32 justJanne Because anything else is extremely overpriced 2018-01-04 15:36:54 tktech Yes, when it's the only option they can kind of charge what they want 2018-01-04 15:37:21 justJanne You can buy a dozen amd cards instead, if you're not limited by PVCIe or NVLINK connectors, just buy more cards 2018-01-04 15:37:26 tktech I'd have to fill a 12U rack with lower end AMD cards to get the same performance, and pray the task can actually be split like that 2018-01-04 15:37:34 justJanne You'll be able to train more at the same cost 2018-01-04 15:37:51 MiniDigger not everything scales that perfectly 2018-01-04 15:37:55 justJanne Luckily, AMD has now a project to actually compile cuda code to that 2018-01-04 15:38:10 justJanne I've been using AMD's tensorflow backend myself 2018-01-04 15:38:14 tktech You're underestimating just how important data locality is to most tasks 2018-01-04 15:38:54 justJanne Considering I'm limited by bandwidth of memory, and not by network bandwidth, probably 2018-01-04 15:39:58 justJanne Of course, I've only been doing ML for research, not for profit 2018-01-04 15:44:38 <-- SpaceManiac (~SpaceMani@c-67-172-123-140.hsd1.ca.comcast.net) a quitté (Ping timeout: 252 seconds) 2018-01-04 15:47:03 justJanne tktech: and if data locality is so important, have you looked into using the VEGA PRO SSG cards? 2018-01-04 15:49:28 --> SpaceManiac (~SpaceMani@c-67-172-123-140.hsd1.ca.comcast.net) a rejoint #mcdevs 2018-01-04 15:49:28 -- Mode #mcdevs [+v SpaceManiac] par ChanServ 2018-01-04 15:51:06 tktech justJanne, It's an interesting card but remember all that extra space is just M.2 2018-01-04 15:51:25 tktech A pro SSG has a max memory bandwith of 483.84GB/s 2018-01-04 15:51:31 tktech A V100 gets 900GB/s 2018-01-04 15:54:12 tktech I bet the pros will mostly sell to render farms/editors 2018-01-04 15:55:37 --> Jan1902 (~quassel@2a02:2028:83a:b201:2543:ca2b:bc1a:bccf) a rejoint #mcdevs 2018-01-04 16:00:33 justJanne tktech: I was looking at them because, combined with distributed learning, it's obviously very awesome if you can just the relevant part of the dataset into the GPU memory, and handle the streaming and caching on the GPU 2018-01-04 17:04:54 --> TheTachyon (~Tachyon_@95.76.184.120) a rejoint #mcdevs 2018-01-04 17:05:38 TheTachyon how the server ensures that the Disconnect packet is sent before terminating the connection ? 2018-01-04 17:06:27 --> HoloIRCUser (~holoirc@95.76.184.120) a rejoint #mcdevs 2018-01-04 17:11:00 <-- TheTachyon (~Tachyon_@95.76.184.120) a quitté (Ping timeout: 265 seconds) 2018-01-04 18:04:44 <-- HoloIRCUser (~holoirc@95.76.184.120) a quitté (Quit: HoloIRCUser) 2018-01-04 18:05:21 --> millerti (~millerti@cpe-66-24-91-119.stny.res.rr.com) a rejoint #mcdevs 2018-01-04 18:24:34 <-- dexter0 (~dexter0@2601:647:4500:700:ff:70ff:fe00:b0b) a quitté (Ping timeout: 255 seconds) 2018-01-04 18:32:05 --> dexter0 (~dexter0@2601:647:4500:700:ff:70ff:fe00:b0b) a rejoint #mcdevs 2018-01-04 18:51:04 --> TheTachyon (~Tachyon_@95.76.184.120) a rejoint #mcdevs 2018-01-04 19:38:24 <-- octobyte (~octobyte@81.128.218.100) a quitté (Quit: ZNC 1.6.5 - http://znc.in) 2018-01-04 20:27:14 jamierocks [22:10:58] chibill: Which are json's any ways 2018-01-04 20:27:26 jamierocks that tool is what mojang use to produce the json 2018-01-04 20:30:37 chibill You realize I know that because I was there doing that conversation... 2018-01-04 20:39:32 <-- redstonehelper (~redstoneh@unaffiliated/redstonehelper) a quitté (Read error: Connection reset by peer) 2018-01-04 20:40:03 --> redstonehelper (~redstoneh@unaffiliated/redstonehelper) a rejoint #mcdevs 2018-01-04 21:02:55 <-- TheTachyon (~Tachyon_@95.76.184.120) a quitté (Ping timeout: 248 seconds) 2018-01-04 21:10:54 --> TheTachyon (~Tachyon_@95.76.184.120) a rejoint #mcdevs 2018-01-04 21:23:26 <-- Jan1902 (~quassel@2a02:2028:83a:b201:2543:ca2b:bc1a:bccf) a quitté (Remote host closed the connection) 2018-01-04 21:34:08 <-- TheTachyon (~Tachyon_@95.76.184.120) a quitté (Ping timeout: 260 seconds) 2018-01-04 21:46:35 jamierocks chibill: sorry, thought you meant that they were just coping from the jsons in the jar 2018-01-04 22:01:51 rom1504 justJanne: if it was in a binary format, you could maybe gain what, at best 1s of initial bootup time ? 2018-01-04 22:02:12 --> Jan1902 (~quassel@2a02:2028:83a:b201:2543:ca2b:bc1a:bccf) a rejoint #mcdevs 2018-01-04 22:02:15 rom1504 so that's like a few % of bootup time 2018-01-04 22:02:21 rom1504 not sure if it matters 2018-01-04 22:02:43 rom1504 well actually I'm not sure if it's even 1s 2018-01-04 22:02:49 rom1504 parsing json is really fast 2018-01-04 22:06:21 Jan1902 I still couldnt find a good solution to my old Problem with receiving data from the server, so i just wanted to "reopen" this topic. Sorry if this is a pretty dumb problem. But what I couldnt seem to find out properly is whether the server sends the data as one big packet or splits the packets into multiple pieces, because my first packet is read more or less properly, but not the expected one and also all the following ones are 2018-01-04 22:06:21 Jan1902 not read properly, when creating a minecraft server i didnt have any of these problems 2018-01-04 22:06:25 --> TheTachyon (~Tachyon_@95.76.184.120) a rejoint #mcdevs 2018-01-04 22:06:45 rom1504 it's a streap 2018-01-04 22:06:48 rom1504 stream 2018-01-04 22:06:56 rom1504 but packets are length prefixed 2018-01-04 22:07:02 rom1504 so you can split them easily 2018-01-04 22:07:46 rom1504 https://github.com/PrismarineJS/node-minecraft-protocol/blob/master/src/transforms/framing.js#L51 here is an example 2018-01-04 22:08:00 Jan1902 well yes, but for example the client just buffered up the packet and sent it, im not sure whether i can do it normally and just wait for data to be received and expect this to be the entire packet, or whether i have to take the length prefix, and gather an entire packet 2018-01-04 22:08:02 rom1504 and read http://wiki.vg/Protocol#Packet_format 2018-01-04 22:08:49 rom1504 gather an entire packet 2018-01-04 22:08:59 rom1504 there's no "normally" 2018-01-04 22:09:11 Jan1902 well, there is, most other servers do it, and the client does aswell 2018-01-04 22:09:56 rom1504 which client, what servers ? 2018-01-04 22:11:02 rom1504 the right wait to do it is get an entire packet then parse it (or ignore it, you can since you can just read the id), then go to the next 2018-01-04 22:11:05 Jan1902 im used to a packet which is there directly as one big piece, that i dont have to put together first, also for some reason when reading the first pieces of data on my client, the first packet from the server is the set compression packet, which it shouldnt be, the client is expecting an encryption request 2018-01-04 22:11:05 Jan1902 and i mean the minecraft client, and other game servers 2018-01-04 22:11:37 rom1504 the minecraft client uses netty too, so I doubt it's doing things differents than the minecraft server 2018-01-04 22:12:35 Jan1902 well, i didnt have any problems with having to put together the packet atleast, when creating the server, the client seemed to send the entire packet at once, thats what threw me off because i was expecting the same behaviour on the server 2018-01-04 22:12:37 rom1504 "im used to a packet which is there directly as one big piece" it must be very small packets then because you can't put some much data in a single tcp packet 2018-01-04 22:12:56 rom1504 anyway 2018-01-04 22:13:00 rom1504 none of this matter 2018-01-04 22:13:11 rom1504 there's an encryption *stream* 2018-01-04 22:13:21 rom1504 so you definitely need to handle it as a stream 2018-01-04 22:13:48 Jan1902 yea, im gonna try to find a good way to buffer up packets that are coming in i guess 2018-01-04 22:14:20 Jan1902 but still, why is the first packet im receiving from the server not the expected one, that seems strange to me aswell 2018-01-04 22:15:20 rom1504 http://wiki.vg/Protocol_FAQ#What.27s_the_normal_login_sequence_for_a_client.3F that should be the packet order 2018-01-04 22:15:44 rom1504 are you sending the correct packets ? 2018-01-04 22:16:35 TheTachyon cipher input/output stream can make your life easy if you use java and blocking sockets 2018-01-04 22:16:46 Jan1902 yes, i am, atleast i think so, im sending handshake and login start, but then the first packet i get is the set compression, and severel other pieces of data that cant be read by my client 2018-01-04 22:17:02 Jan1902 well, i am not using java 2018-01-04 22:17:16 TheTachyon setcompression changes the packet format 2018-01-04 22:17:28 Jan1902 right 2018-01-04 22:18:04 Jan1902 that is the problem, ther server is directly sending the set compression, which is not what the client wants, since the client hasnt even done any of that yet, and therefor the client cant encrypt the data after that anyways 2018-01-04 22:18:17 rom1504 servers have been built in most languages (not only java), and probably yours too (but that's not a reason to build a new one if you feel like it) 2018-01-04 22:18:25 rom1504 *not to 2018-01-04 22:18:44 Jan1902 didnt plan to 2018-01-04 22:19:03 TheTachyon you should be handling first compression and then do the encryption 2018-01-04 22:20:46 Jan1902 right, still, the problem is that in the normal login sequence after handshake and login the server should send the encryption request, which it is not doing 2018-01-04 22:25:59 TheTachyon https://gist.github.com/xTachyon/acd46b37160203c3744c86102bbf58f5 that's the order I get from my client 2018-01-04 22:26:38 TheTachyon (with the packets my client knows to read) 2018-01-04 22:27:37 TheTachyon with craftbukkit. so the order is right. what was the question, again ? wasn't there at the beggining of the conversation Jan1902 2018-01-04 22:27:41 Jan1902 right, though for some reason the first packet my client receives has a length of 3, a the id 3, and the data (max compressed length from the set compression packet) 256. all as varints, which is right, but not the expected packet 2018-01-04 22:28:18 TheTachyon possible a stupid question, but is your server in online mode ? 2018-01-04 22:28:26 Jan1902 ah wait, is it possible that the process is different on the vanilla server from the website 2018-01-04 22:28:31 Jan1902 its not 2018-01-04 22:28:44 TheTachyon then how do you expect to receive encryption packet 2018-01-04 22:28:52 TheTachyon the process is the same 2018-01-04 22:29:08 Jan1902 why should i not expect it ? did i miss something ? 2018-01-04 22:29:25 TheTachyon encryption is happening only when mojang authentification happens 2018-01-04 22:29:38 TheTachyon only when the server is in online mode 2018-01-04 22:30:45 TheTachyon if the server is in offline mode the server will be happy with the nick you sent on LoginStart and it will log you in 2018-01-04 22:32:45 Jan1902 oh wow 2018-01-04 22:33:00 TheTachyon good morning 2018-01-04 22:33:41 Jan1902 wow, it even said that right under the part in the documenation 2018-01-04 22:33:44 Jan1902 im done 2018-01-04 22:34:08 TheTachyon don't know who should facepalm, you or us 2018-01-04 22:34:35 Jan1902 both probably 2018-01-04 22:35:08 Jan1902 though to be fair, that wasnt the the problem that gave me the biggest headache, that was the packet gathering behavioru 2018-01-04 22:36:06 TheTachyon not sure what you mean or if you still need help with that 2018-01-04 22:37:03 Jan1902 well, the problem with that was really just whether i can confirm that the packets arent sent as a whole 2018-01-04 22:37:15 Jan1902 so right now, i dont have any problems, afaik 2018-01-04 22:37:23 Jan1902 and apologize for my inability to read 2018-01-04 22:37:27 TheTachyon so no problems 2018-01-04 22:37:37 TheTachyon so no answers 2018-01-04 22:37:45 Jan1902 ? 2018-01-04 22:38:58 TheTachyon don't mind my expression, I just wanted to say that if you have no more problems I can go open the 3 gift packs on hearthstone 2018-01-04 22:39:35 justJanne rom1504: in vanilla MC, that is correct, in modded minecraft, reloading models alone takes for me about a minute. 2018-01-04 22:43:21 Jan1902 okay, well, good luck then and i again apologize 2018-01-04 22:43:27 --> WizardCM (~WizardCM@dsl-58-6-81-236.sa.westnet.com.au) a rejoint #mcdevs 2018-01-04 22:46:40 rom1504 justJanne: so you have 100MB json files then ? 2018-01-04 22:46:55 TheTachyon that's a big json 2018-01-04 22:47:05 rom1504 that's what required to take a minute 2018-01-04 22:47:23 pokechu22 For mods it isn't one giant JSON but rather a lot of small ones 2018-01-04 22:47:27 justJanne rom1504: no, just many many tiny JSONs 2018-01-04 22:47:35 justJanne and it’s loading from an HDD 2018-01-04 22:47:37 rom1504 100MBs of tiny JSONs then ? 2018-01-04 22:47:39 justJanne which causes lots of seeks 2018-01-04 22:47:52 rom1504 ah 2018-01-04 22:47:57 rom1504 the problem is not json then 2018-01-04 22:48:01 rom1504 the problem is many files 2018-01-04 22:48:12 TheTachyon make hdd's great again 2018-01-04 22:48:13 justJanne just "put it all into a single, continuous file, which is uncompressed" would improve performance 2018-01-04 22:48:14 rom1504 just put them all in a single big file and problem solved 2018-01-04 22:49:36 justJanne For somethign like models, merging all of them into a single continuous file, would already remove all the seek times, 2018-01-04 22:49:56 justJanne in fact, putting all into a single mod .jar, with compression level 0 = store would be enough 2018-01-04 22:50:14 rom1504 as a temporary solution I guess you could also put that in a memory fs 2018-01-04 22:50:22 justJanne rom1504: that said, json is very slow, especially if you use slower parsers 2018-01-04 22:50:35 justJanne 2MB of several million JSON messages takes ~1min with Gson 2018-01-04 22:50:48 justJanne I get microseconds with a custom binary format 2018-01-04 22:51:13 rom1504 even with several million of files of that custom binary format ? 2018-01-04 22:51:39 justJanne well, the actual use case there is over-the-network, but the actual parsing time is that fast, yes. For several million 2018-01-04 22:51:41 rom1504 I once put 300k small images in a single dir 2018-01-04 22:51:54 rom1504 then I took 1h to delete them 2018-01-04 22:52:04 TheTachyon rip 2018-01-04 22:52:14 rom1504 most unix tools are broken if you have many files 2018-01-04 22:52:44 rom1504 justJanne: but again, is the problem parsing ? 2018-01-04 22:53:01 justJanne rom1504: loading and parsing are parts of the problem 2018-01-04 22:53:04 rom1504 stuff like mongodb dump everything in a big json file and it's not that slow 2018-01-04 22:53:28 justJanne stuff like mongodb actually use a custom binary format on disk 2018-01-04 22:53:32 justJanne to prevent exactly this 2018-01-04 22:53:41 rom1504 no they can dump as json 2018-01-04 22:53:42 TheTachyon I always felt like the linux filesystems are way faster than windows ntfs 2018-01-04 22:54:02 rom1504 many files lose whatever the format 2018-01-04 22:54:16 justJanne In fact, even PostgreSQL nowadays has a similar on-disk storage format to MongoDB 2018-01-04 22:54:22 justJanne which is called BSON, or binary json 2018-01-04 22:54:31 justJanne as does MySQL 2018-01-04 22:54:34 justJanne and many others 2018-01-04 22:54:36 rom1504 okay let's generate a big json file and see how slow it is 2018-01-04 22:54:41 justJanne all store JSON in a custom binary format 2018-01-04 22:56:09 TheTachyon bson 2018-01-04 22:57:30 justJanne > For example, the MongoDB mongodump utility outputs BSON files. The bsontools utilities manipulate BSON files. 2018-01-04 22:58:22 rom1504 du -hs /tmp/mybigfile.json 2018-01-04 22:58:22 rom1504 200M /tmp/mybigfile.json 2018-01-04 22:58:34 rom1504 cat re.js 2018-01-04 22:58:34 rom1504 JSON.parse(require('fs').readFileSync('/tmp/mybigfile.json'))è 2018-01-04 22:58:47 rom1504 time node re.js 2018-01-04 22:58:47 rom1504 real 0m1.696s 2018-01-04 22:59:14 rom1504 yes with a binary format it might take 0.1s or even 0.001s if it just copies everything in ram 2018-01-04 22:59:15 rom1504 but 2018-01-04 22:59:18 rom1504 it's not that slow 2018-01-04 23:00:26 justJanne then let’s try a complicated json file 2018-01-04 23:00:39 --> OkAlt (~OkAlt@S0106f0f2498160d3.lb.shawcable.net) a rejoint #mcdevs 2018-01-04 23:01:10 rom1504 that's more annoying to generate 2018-01-04 23:01:14 rom1504 do you have that ? 2018-01-04 23:02:06 rom1504 actually I do 2018-01-04 23:02:19 rom1504 https://github.com/PrismarineJS/minecraft-data/blob/master/data/pc/17w50a/protocol.json that's pretty complicated I guess 2018-01-04 23:02:33 pokechu22 You could use the burger JSON file too (especially one before I removed the duplicate recipe data) 2018-01-04 23:02:34 rom1504 let's just put 10000 of that in a big object 2018-01-04 23:02:39 TheTachyon that's what I wanted to suggest 2018-01-04 23:06:07 rom1504 time node re.js 2018-01-04 23:06:07 rom1504 real 0m0.885s 2018-01-04 23:06:24 rom1504 of 1000 protocol.json 2018-01-04 23:06:33 rom1504 127Mo 2018-01-04 23:06:57 pokechu22 Now the question is, does the game load the entire JAR into memory? Or what exactly does it do? 2018-01-04 23:07:30 pokechu22 If it loads it in, the compression level wouldn't really matter (beyond the first read) 2018-01-04 23:07:45 pokechu22 Though I think it reads everything from scratch when reloading resources -- at least for resource packs 2018-01-04 23:16:34 justJanne rom1504: I’m currently extracting all .json’s from an existing, modded version of MC 2018-01-04 23:18:22 justJanne rom1504: 47MiB, with 11017 files 2018-01-04 23:19:24 justJanne currently compressing them into a .zip, so you can try your luck at parsing them 2018-01-04 23:23:51 justJanne rom1504: compressed at https://s3.kuschku.de/public/json.zip 2018-01-04 23:25:31 timmyRS yet another #mcdevs person coming out as german :O 2018-01-04 23:25:39 <-- TheTachyon (~Tachyon_@95.76.184.120) a quitté (Quit: Leaving) 2018-01-04 23:25:47 justJanne it’s always like that 2018-01-04 23:26:08 justJanne 90% of the people in linux online communities, communities reverse engineering stuff, etc are german or american 2018-01-04 23:26:36 timmyRS that's what zip's good for at least. if you didn't at least save 15% of bytes on that you didn't zip it good enough 2018-01-04 23:28:03 timmyRS You saved 24% by zipping that 2018-01-04 23:28:26 justJanne I actually saved 55,87363772621507% according to what I see here 2018-01-04 23:28:37 justJanne 9130415 vs 4028920 bytes 2018-01-04 23:28:49 timmyRS am I looking at the wrong zip? 2018-01-04 23:28:50 justJanne (comparison zip -r0 and zip -r9) 2018-01-04 23:30:22 justJanne of course, many of the files are so small, that the overhead of using a single filesystem block for them is much larger than the actual file 2018-01-04 23:30:34 justJanne these 9 MB of data actually end up using 47MB on your HDD 2018-01-04 23:30:52 timmyRS I just unziped it and the folder I got is 6,41 MB 2018-01-04 23:30:58 timmyRS size on disk is 9,93 MB 2018-01-04 23:31:24 timmyRS Your zip is 3,84 MB 2018-01-04 23:31:39 timmyRS So I don't know how I got 24%, that's 55%… 2018-01-04 23:32:08 justJanne I assume you’re on windows? 2018-01-04 23:32:14 justJanne EXT4 uses over 47MB for that folder 2018-01-04 23:32:15 timmyRS Yeah 2018-01-04 23:32:37 timmyRS Why shouldn't I be on Windows? 2018-01-04 23:32:53 justJanne well, most developers end up at some point on linux 2018-01-04 23:33:02 justJanne unless they’re at home in the C# world 2018-01-04 23:33:23 timmyRS I do use it on my servers and Raspberry Pi, but as a home PC I could never user anything but Linux 2018-01-04 23:33:27 timmyRS considering this is also my gaming pc 2018-01-04 23:33:37 timmyRS anything like Linux* 2018-01-04 23:33:39 justJanne and, well, rom1504 is on linux (or has a VM) 2018-01-04 23:34:05 timmyRS most games only run on windows and running them in a VM is suboptimal :/ 2018-01-04 23:37:51 justJanne Well, many games run well enough on linux directly or under wine 2018-01-04 23:37:56 justJanne Including the real Minecraft 2018-01-04 23:38:54 timmyRS what if I want to play the super great windows 10 / bedrock version because who doesn't 2018-01-04 23:39:54 justJanne Well, that's currently not possible. We wanted to have the player feel pride and accomplishment from having a more cinematic version, which is accomplished through lower framerate 2018-01-04 23:41:23 timmyRS I definitely already feel pride and accomplishment for unlocking different websites and minecraft servers to play on 2018-01-04 23:43:59 justJanne On the windows 10 version, you can feel pride and accomplishment for paying a 3% cut to Microsoft on every texture pack you buy, while modders and texture pack authors are forbidden from selling stuff outside that store 2018-01-04 23:44:09 justJanne *30% 2018-01-04 23:44:22 justJanne 3% would be less pride and accomplishments, ofc 2018-01-04 23:45:42 timmyRS Well at least these people now get a bit of money for the work they invest 2018-01-04 23:45:58 timmyRS but most importantly feelings of pride and accomplishment 2018-01-04 23:47:16 justJanne and of course, real mods (think portal gun) will never be officially possible 2018-01-04 23:48:30 justJanne somehow I think we’ll stick with reverse engineering and modding the Java version for a while 2018-01-04 23:48:42 timmyRS What mods are there in the market even? 2018-01-04 23:49:11 justJanne none yet, but behaviour packs are supposed to come out soon, I think? I stopped following that after the introduction of the market 2018-01-04 23:49:48 justJanne What I’m more interested in is the amazing performance of the DX12 version 2018-01-04 23:50:30 justJanne I’m working on a minimap + map render mod for 0.13, and planned on adding an overhead 3D map of the entire world (by simply caching world data like mapwriter) 2018-01-04 23:51:04 justJanne Currently I’m stuck debugging an issue in the AMD driver, because both my Vulkan and my OpenGL 4.6 AZDO backend managed to crash the driver 2018-01-04 23:54:07 justJanne but, if all works well, I can actually render hundreds of regionfiles at once, with thousands of FPS (as 99% of the scenery is static, the meshes are generated on load and cached in a single VBO for all chunks outside the viewing range, etc) 2018-01-04 23:54:46 timmyRS that's nice and might be useable for an idea I had: Git for Minecraft worlds 2018-01-04 23:55:27 timmyRS So you just select a world region, make a "repository" and start commiting changes 2018-01-04 23:55:34 timmyRS and undo if something goes wrong or whatever 2018-01-04 23:55:44 justJanne that exists 2018-01-04 23:55:47 justJanne on SMP servers 2018-01-04 23:55:52 justJanne there’s actually 3 systems 2018-01-04 23:55:52 timmyRS vanilla? 2018-01-04 23:55:58 justJanne well, no 2018-01-04 23:55:59 justJanne modded 2018-01-04 23:56:05 justJanne they track changes, by user, in a central database 2018-01-04 23:56:18 justJanne you can rollback a single user, or only some actions of them, or a region 2018-01-04 23:56:22 justJanne and the changes propagate 2018-01-04 23:56:33 timmyRS I'm aware of such plugins, but I thought more with commits, branches, etc. 2018-01-04 23:56:46 justJanne so if you undo a user mining a diamond, it will never have gotten into their inventory, never been used at a shop, etc 2018-01-04 23:57:03 justJanne well, commits, branches, that leads to the question how to do merge resolution 2018-01-04 23:58:04 timmyRS if two changes are to a same block you can do manual 2018-01-04 23:58:23 timmyRS otherwise, just merge 2018-01-04 23:58:55 justJanne might also be useful to support merge-move 2018-01-04 23:59:03 justJanne merge something, but at a different position 2018-01-04 23:59:16 justJanne then it could replace the schematic usage 2018-01-04 23:59:20 rom1504 well 2018-01-04 23:59:26 rom1504 there are comments in your json files 2018-01-04 23:59:30 rom1504 ie they are not json 2018-01-04 23:59:31 justJanne there are? 2018-01-04 23:59:45 justJanne the files are extracted from a real minecraft modded installation 2018-01-04 23:59:46 rom1504 so I can believe that not json files are slow to parse 2018-01-04 23:59:58 justJanne that is what is used today, 2018-01-05 00:00:03 justJanne and the baseline we compare against 2018-01-05 00:00:44 pokechu22 Yeah, git with MC would be neat, including actual decentralization and such 2018-01-05 00:00:59 pokechu22 Being able to do local work would be neat 2018-01-05 00:01:31 rom1504 well 2018-01-05 00:01:53 rom1504 I don't know if parsers of "almost json" are as optimized as parser of json 2018-01-05 00:01:58 rom1504 I would say probably not 2018-01-05 00:02:47 timmyRS I just ran every single one of those json files through a json parser and they all went without problem 2018-01-05 00:02:58 justJanne timmyRS: then the parser is lenient 2018-01-05 00:03:09 timmyRS I don't think it is 2018-01-05 00:03:11 justJanne they’re not valid json, per definition 2018-01-05 00:03:11 rom1504 js's parser is just a json parser 2018-01-05 00:03:26 rom1504 as in http://www.json.org/ 2018-01-05 00:03:28 rom1504 no comments 2018-01-05 00:03:36 rom1504 no trailing comma 2018-01-05 00:03:36 rom1504 etc 2018-01-05 00:04:00 timmyRS yes, the parser doesn't allow any of these 2018-01-05 00:04:28 rom1504 00e647b77d0531c2d080e2a827c434367b7b9247.json has a "//active texture" comment 2018-01-05 00:04:45 rom1504 (for example) 2018-01-05 00:04:52 pokechu22 Mod JSON won't necessarily be valid :/ 2018-01-05 00:05:10 rom1504 maybe removing the comments and stuff and then using a strict parser would be faster ? no idea 2018-01-05 00:05:23 rom1504 but anyway 2018-01-05 00:05:49 rom1504 if people write comments in their json, it probably doesn't make a lot of sense to use a binary format for that then 2018-01-05 00:05:52 timmyRS oh wow I didn't know my parser would allow that 2018-01-05 00:05:56 rom1504 it's manually written 2018-01-05 00:06:08 rom1504 if it was a binary format you'd need an editor 2018-01-05 00:06:31 justJanne rom1504: there are 11017 files, 237 have comments 2018-01-05 00:07:08 justJanne rom1504: my suggestion was to bake the json’s into a nicer parsable format, ideally even merged, potentially at build time, or at first startup 2018-01-05 00:07:13 rom1504 how do you figure that out ? 2018-01-05 00:07:19 rom1504 can I have the ones without comments ? 2018-01-05 00:07:22 justJanne well, you run all of them through jq 2018-01-05 00:07:49 timmyRS currently parsing them all to be commentless 2018-01-05 00:08:22 pokechu22 I'm supprised that they aren't parsed using strict mode already 2018-01-05 00:09:07 justJanne some of them are even more invalid 2018-01-05 00:09:24 justJanne {"variants":{"normal":{biomesoplenty:willow_planks"}}} 2018-01-05 00:10:00 rom1504 I honestly don't understand the point of "lenient" json 2018-01-05 00:10:17 pokechu22 Ok, yeah, it really should be forcing strict mode. Aren't resource packs strict? If so, why aren't mods strict? 2018-01-05 00:10:23 rom1504 it's a simple format 2018-01-05 00:10:31 justJanne even better 2018-01-05 00:10:38 justJanne IC2 uses numbers as object keys 2018-01-05 00:10:40 rom1504 if you want to add comments or whatnot, there are other formats more adapted to this 2018-01-05 00:10:55 justJanne bop: e0fda342428012d97a220adffd38ad00aec500ca.json ic2: efd2637a03dccb7a398fac355812674b0823b697.json 2018-01-05 00:10:59 pokechu22 I see the value of some of it (comments are useful) but it really shouldn't be enabled by default 2018-01-05 00:11:00 rom1504 like yaml or even markdown I guess 2018-01-05 00:11:09 pokechu22 JSON is actually a subset of YAML IIRC 2018-01-05 00:12:16 rom1504 you can do "comment":"my comment" 2018-01-05 00:12:21 rom1504 here you go :p 2018-01-05 00:12:29 justJanne and another even 2018-01-05 00:12:35 justJanne every BoP one is broken 2018-01-05 00:12:36 justJanne ffs 2018-01-05 00:13:24 rom1504 I think you can just lenient parse them, and serialize them again to get strict json 2018-01-05 00:13:42 rom1504 you'll lose the comments of course 2018-01-05 00:29:26 justJanne wtf 2018-01-05 00:29:28 justJanne 35838c7673de9aff7b71766cbe84cfecba84fa60.json 2018-01-05 00:29:41 justJanne that’s not a json, that’s a wavefront object 2018-01-05 00:38:31 justJanne rom1504: here are the invalid files: https://paste.kde.org/phfxnbprv/nwqyio/raw 2018-01-05 00:38:45 justJanne you can use this list together with comm to get the list of valid files: 2018-01-05 00:38:54 justJanne I ran as test 2018-01-05 00:39:44 justJanne time jq '.' $(comm -23 <(ls *.json) ../invalid.txt) > /dev/null 2018-01-05 00:40:08 justJanne which runs reasonably fast (but, of course, building the in-memory objects for the models and everything in MC is still slow 2018-01-05 00:44:39 rom1504 "building the in-memory objects for the models and everything in MC is still slow" 2018-01-05 00:44:50 rom1504 yes but that's independant from the format 2018-01-05 00:44:55 justJanne not really 2018-01-05 00:45:26 rom1504 well I guess if you just put your in-memory object in a file it's faster 2018-01-05 00:45:28 justJanne often you have a file format that you can basically directly map as array of structs (or struct of arrays) for model data, and similar stuff 2018-01-05 00:45:36 rom1504 but then it's going to be a pain to edit probably 2018-01-05 00:45:44 justJanne well, that’s why you wouldn’t edit that 2018-01-05 00:45:48 rom1504 in any other language than java anyway