<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:00:22] *** Darkevilmac is now known as DarkevilAway
L2[00:09:34] ⇨ Joins: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a)
L3[00:11:59] ⇦ Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com) (Read error: Connection reset by peer)
L4[00:12:19] ⇨ Joins: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com)
L5[00:30:27] ⇦ Quits: TechnicianLP (~Technicia@p4FE1C779.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L6[00:31:53] *** fry|sleep is now known as fry
L7[00:33:26] ⇦ Quits: Naiten (Naiten@77.35.177.203) (Ping timeout: 180 seconds)
L8[00:36:34] <KklyAq> arent entity data parameters persisted?
L9[00:40:39] ⇦ Quits: TechnicianLP2 (~Technicia@p4FE1C779.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L10[00:40:40] ⇨ Joins: TechnicianLP2 (~Technicia@p4FE1C779.dip0.t-ipconnect.de)
L11[00:43:56] ⇦ Quits: TechnicianLP2 (~Technicia@p4FE1C779.dip0.t-ipconnect.de) (Ping timeout: 180 seconds)
L12[00:48:44] ⇨ Joins: airbreather_ (~airbreath@d149-67-99-43.nap.wideopenwest.com)
L13[00:49:39] ⇨ Joins: Falconerd (~falconerd@ppp118-209-74-141.bras1.mel11.internode.on.net)
L14[00:50:51] ⇦ Quits: airbreather (~airbreath@d149-67-99-43.nap.wideopenwest.com) (Ping timeout: 384 seconds)
L15[00:52:34] ⇨ Joins: VikeStep (~VikeStep@192.43.96.58.static.exetel.com.au)
L16[00:54:15] ⇦ Quits: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 384 seconds)
L17[01:23:41] *** AbrarSyed is now known as Abrar|gone
L18[01:27:16] <Falconerd> o/
L19[01:27:33] ⇨ Joins: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be)
L20[01:28:02] ⇦ Quits: Brokkoli (~Brokkoli@p5B23C6BC.dip0.t-ipconnect.de) (Quit: Die Sprache der Politik ist daf�r gemacht, dass L�gen wahr klingen und das T�ten angemessen wirkt. (George Orwell))
L21[01:29:31] <bjorguv> could someone explain to me what an itemstack is ?
L22[01:31:10] <killjoy> it contains what item it is, how much, any metadata, and nbt
L23[01:32:19] <bjorguv> are items and item stacks separate things?
L24[01:32:24] <killjoy> yes
L25[01:32:30] <killjoy> items are (for the most part) singleton
L26[01:33:33] <mezz> the division between the two is a bit blurry because of the way meta and nbt are used to represent sub-items
L27[01:33:52] <bjorguv> I don’t know what singleton means
L28[01:34:06] <killjoy> one instance
L29[01:34:11] <mezz> a singleton object is unique, there is only one of it
L30[01:34:39] <bjorguv> did you guys take java classes?
L31[01:34:55] <killjoy> I took intro to java a few years ago. I already knew everything they "taught" me
L32[01:35:15] <mezz> I definitely knew java before starting with modding
L33[01:35:25] <killjoy> I learned most by modding
L34[01:35:33] <killjoy> e.g. I created a simple bukkit plugin
L35[01:35:41] <bjorguv> oh I just started a few weeks ago I notice everytime I talk to someone about it I have to google half the words they say to me lol
L36[01:35:51] <mezz> modding is not a good way to learn the basics. once you have the basics, like from an intro class, it will be easier
L37[01:36:02] <killjoy> stackexchange is the greatest website you'll ever use
L38[01:36:20] <bjorguv> yea i’ve noticed that modding minecraft is not great for learning java
L39[01:36:25] <killjoy> except for javascript. They always suggest jQuery
L40[01:37:01] <bjorguv> I was just too hasty to make a mod
L41[01:37:07] <bjorguv> didn’t go about it properly
L42[01:37:19] <killjoy> I didn't fully understand what an object is before I started
L43[01:37:28] <killjoy> though I didn't start from scratch.
L44[01:37:28] <mezz> modded minecraft has a lot of strange things, so if you want to learn about something like "ItemStack" there is a pyramid of other more basic stuff to understand first
L45[01:37:43] <fry> nobody understands what an object is :P
L46[01:37:46] <killjoy> I suggest maybe forking a mod.
L47[01:38:12] <bjorguv> i’ve looked at a few tbh didn’t help very much
L48[01:38:30] <killjoy> what do you know?
L49[01:38:47] <bjorguv> uh not sure how to answer that
L50[01:39:09] <bjorguv> not alot I guess
L51[01:39:10] <killjoy> basics to me is variables, fields, methods, classes, objects.
L52[01:39:19] <killjoy> Do you know anything from the jre?
L53[01:39:25] <killjoy> utility classes
L54[01:39:31] <killjoy> e.g. List, Map, etc
L55[01:39:46] ⇦ Quits: Shawn|i7-Q720M (~shawn156@c-50-170-156-102.hsd1.co.comcast.net) (Read error: Connection reset by peer)
L56[01:40:55] <bjorguv> oh no not really I know about pretty much all variables, don’t know what fields are, I am familiar with methods, classes yes kinda, objects no
L57[01:41:21] <killjoy> a field is a variable with class scope
L58[01:41:37] <killjoy> e.g. class A {B thing;}
L59[01:42:55] <mezz> you really should find some starter tutorials, IRC is not the more efficient way to learn those things heh
L60[01:42:58] <fry> (if you don't mind some light reading: https://docs.oracle.com/javase/specs/jls/se8/jls8.pdf )
L61[01:43:20] <bjorguv> lmao.
L62[01:43:27] <killjoy> after you master the jre, tackle guava and apache libs
L63[01:44:48] <bjorguv> should I do all this stuff on notepad or something?
L64[01:44:56] <killjoy> you CAN.
L65[01:45:02] <killjoy> But that doesn't mean you should
L66[01:45:15] <fry> https://www.jetbrains.com/idea/
L67[01:45:24] <bjorguv> I have intellij
L68[01:45:30] <killjoy> as long as you understand the basic structure, go ahead and use an IDE
L69[01:45:47] <killjoy> otherwise it will confuse you more than help you
L70[01:45:58] <bjorguv> yea I think starting to learn java in forge environment is what really confused me
L71[01:47:00] <bjorguv> were you like fluent in java before you started modding?
L72[01:49:13] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384 seconds)
L73[01:52:57] <mezz> yes, enough to navigate the minecraft and forge code and read it to figure it out
L74[01:53:37] <bjorguv> I don’t get what do I code to practice java did you have any helpful tools to do it?
L75[01:54:12] <mezz> I had many classes in college that required java, so I picked it up then while doing assignments
L76[01:55:06] <mezz> the way you are learning now will get you there eventually, it's just not very efficient for starting out
L77[01:55:12] <mezz> taking a class or an online class is a good idea
L78[01:56:11] <mezz> once you have the basics, your ability to look things up online and learn on your own will still be very important
L79[01:57:32] <bjorguv> yea I really need an environment where I can practice with structure but I can’t really afford classes do you know of any free like self tought courses?
L80[01:58:46] <mezz> I have seen people recommend this site. I can't say I recommend it since I've never tried it though. https://www.codecademy.com/learn/learn-java
L81[01:58:57] <bjorguv> oh yea already completed
L82[01:59:09] ⇦ Quits: VikeStep (~VikeStep@192.43.96.58.static.exetel.com.au) (Ping timeout: 206 seconds)
L83[01:59:16] <killjoy> you just need to learn the utils
L84[01:59:20] <bjorguv> maybe i’ll do it again
L85[01:59:22] <killjoy> java.util.list
L86[01:59:34] <bjorguv> yea but hard to learn without applying
L87[01:59:37] <mezz> this looks promising as well https://www.learnjavaonline.org/
L88[02:00:03] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20170123 mappings to Forge Maven.
L89[02:00:12] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20170123-1.11.zip (mappings = "snapshot_20170123" in build.gradle).
L90[02:00:18] <killjoy> just remember. never do for (int i = 0; i < 5; i++)
L91[02:00:28] <killjoy> um
L92[02:00:33] <mezz> killjoy, ... what?
L93[02:00:42] <killjoy> I'm um.
L94[02:00:48] <MCPBot_Reborn> Semi-live (every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed) MCPBot mapping exports can be found here: http://export.mcpbot.bspk.rs/
L95[02:01:34] <bjorguv> mezz I’ll do that tomorrow ty :D
L96[02:06:22] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L97[02:06:32] <killjoy> I was trying to remember this.
L98[02:06:33] <killjoy> https://i.redd.it/3e5madxh4way.png
L99[02:07:26] <bjorguv> lmao
L100[02:08:06] <bjorguv> omg
L101[02:08:10] <bjorguv> found an awesome website
L102[02:08:22] <bjorguv> anyone used ktbyte>
L103[02:08:23] <bjorguv> ?
L104[02:13:12] ⇨ Joins: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L105[02:25:45] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:cdb3:c2e8:7ee8:76df) (Read error: Connection reset by peer)
L106[02:47:23] ⇦ Quits: shadekiller666 (~shadekill@adsl-108-71-39-199.dsl.lsan03.sbcglobal.net) (Read error: Connection reset by peer)
L107[02:47:38] ⇨ Joins: VikeStep (~VikeStep@192.43.96.58.static.exetel.com.au)
L108[02:48:00] ⇨ Joins: Kaiyouka (~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L109[02:57:13] ⇦ Quits: Lisimba (~Lisimba@2001:984:2569:1:1525:a85a:171a:cc84) (Ping timeout: 384 seconds)
L110[03:05:08] <Barteks2x> Why I have so weird problems... IDEA and <whatever compiler idea uses> are not in sync with libraries. IDEA says library is there, but when I try to compile, it shows error that it's not there
L111[03:05:48] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 194 seconds)
L112[03:06:59] ⇨ Joins: Lisimba (~Lisimba@2001:984:2569:1:a479:db20:786:fae6)
L113[03:14:10] <Barteks2x> I just want to run a simple thing, and IDEA can't decide if my dependency is there or not
L114[03:27:11] *** illy is now known as illy[Zzz]
L115[03:34:03] ⇦ Quits: killjoy (~killjoy@cpe-2606-A000-1118-8158-1423-70B6-FAED-17F6.dyn6.twc.com) (Ping timeout: 384 seconds)
L116[03:38:40] ⇦ Quits: bjorguv (~reidboyce@c-73-83-133-41.hsd1.wa.comcast.net) (Quit: bjorguv)
L117[03:43:45] <Falconerd> Does anyone know of any good minecraft texture tutorials? The art side, not programming side
L118[03:44:09] <Falconerd> I've found a few, just wondering if there are more well known ones
L119[03:44:28] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L120[04:02:57] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384 seconds)
L121[04:03:24] <Tencao> When dealing with mobs, whats the difference between armor and armor toughness
L122[04:05:46] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L123[04:10:30] ⇦ Quits: Mogul (~mogul@ip-178-202-100-86.hsi09.unitymediagroup.de) (Quit: Nettalk6 - www.ntalk.de)
L124[04:11:06] ⇦ Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 206 seconds)
L125[04:11:56] ⇦ Quits: immibis (~chatzilla@125-237-220-104.jetstream.xtra.co.nz) (Ping timeout: 180 seconds)
L126[04:16:24] ⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L127[04:22:31] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L128[04:24:46] ⇨ Joins: Naiten (Naiten@77.35.194.174)
L129[04:26:48] <Naiten> So, I was trying to rewrite passenger handling for my entity to allow several passengers but ended up at a strange bug
L130[04:27:02] <Naiten> it takes two clicks to mount... https://www.youtube.com/watch?v=WczgNWg4zy4
L131[04:27:20] <Naiten> can't figure it out
L132[04:41:46] <Tencao> Try adding some log outputs to figure out what part isn't triggering
L133[04:52:19] ⇦ Quits: Naiten (Naiten@77.35.194.174) (Read error: Connection reset by peer)
L134[05:01:39] ⇨ Joins: Naiten (Naiten@77.35.243.9)
L135[05:07:33] ⇦ Quits: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net) (Ping timeout: 384 seconds)
L136[05:08:03] ⇨ Joins: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net)
L137[05:14:40] ⇨ Joins: Koward (~Koward@2a02:2788:7d4:4dd:69ba:5e9f:345a:6033)
L138[05:15:07] ⇦ Quits: DRedhorse (dredhorse@faris.wolf480.pl) (Quit: Off to other pastures)
L139[05:15:34] ⇨ Joins: DRedhorse (dredhorse@faris.wolf480.pl)
L140[05:16:34] <Naiten> welp, somehow the client does not get the player to ride the loc
L141[05:21:09] ⇦ Quits: turmfalke (~turmfalke@p20030056CF6033AF6E68D093F2472303.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L142[05:28:44] *** airbreather_ is now known as airbreather
L143[05:31:18] ⇨ Joins: turmfalke (~turmfalke@p20030056CF6033310089D09ABE394915.dip0.t-ipconnect.de)
L144[05:35:51] <Naiten> uh
L145[05:35:59] <Naiten> fixed one bug and discovered another
L146[05:36:26] <Ashindigo_> thats programming for you
L147[05:37:20] <Naiten> controls are screwed up https://www.youtube.com/watch?v=bA7Lnvt9jkM
L148[05:38:06] <Naiten> i press keys while on the footplate which should not affect controls, but when I mount the cab, they got switched...
L149[05:59:30] ⇨ Joins: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L150[06:00:09] <DaMachinator> Falconerd: if you're still here, is there any specific thing you need help with?
L151[06:00:34] <Falconerd> Hey, not really
L152[06:00:45] <Falconerd> I think I just need to apply pixel art rules
L153[06:00:48] <Falconerd> it's just weird in 3d
L154[06:00:52] <DaMachinator> I did find some resources for you:
L155[06:00:53] <DaMachinator> http://minecraft.gamepedia.com/Model
L156[06:01:03] <Falconerd> ah, thnak you
L157[06:01:05] <Falconerd> thank*
L158[06:01:32] <Falconerd> this page is going to be useful
L159[06:01:34] <DaMachinator> that's not all
L160[06:01:48] <DaMachinator> that explains the JSON format
L161[06:02:36] <DaMachinator> http://www.minecraftforum.net/forums/mapping-and-modding/resource-packs/resource-pack-discussion/1256366-the-all-inclusive-updated-guide-to-texturing
L162[06:03:14] <DaMachinator> this explains how to make a resource pack (useful for testing art for mods, esp. if you are not the one coding it)
L163[06:03:23] <Falconerd> awesome
L164[06:03:47] <DaMachinator> there is also this tutorial for animated textures: http://www.minecraftforum.net/forums/mapping-and-modding/resource-packs/resource-pack-discussion/1256350-animation-in-resource-packs-a-minecraft-1-6
L165[06:04:22] <DaMachinator> which explains not only standard animated textures but fluid textures and the clock texture as well
L166[06:04:30] <Falconerd> nice
L167[06:04:39] <DaMachinator> it is written for resource packs but the information applies to regular mods
L168[06:05:23] <DaMachinator> Not really art, but there is also this tool I made for making localizations for large groups of similarly named objects:
L169[06:05:24] <DaMachinator> https://damachinator.github.io/localizer/LocalizationGenerator.html
L170[06:06:36] <DaMachinator> Documentation on Forge's extensions to the blockstate JSON's: http://mcforge.readthedocs.io/en/latest/blockstates/forgeBlockstates/
L171[06:06:50] <Falconerd> ahh, that tool is pretty cool
L172[06:07:12] <DaMachinator> and forge's explanation of the vanilla blockstate jsons: http://mcforge.readthedocs.io/en/latest/blockstates/introduction/
L173[06:07:22] ⇦ Quits: Naiten (Naiten@77.35.243.9) (Ping timeout: 194 seconds)
L174[06:08:13] <DaMachinator> A word of warning: the script will freeze your browser when you run it as i haven't figured out how to get it to run asynchronously
L175[06:08:34] <Falconerd> you mean if you put in a long list?
L176[06:08:38] <DaMachinator> yes
L177[06:08:41] <Falconerd> so it's blocking
L178[06:08:45] <Falconerd> that's alright
L179[06:08:53] <DaMachinator> it is clientside-only JavaScript
L180[06:09:05] <DaMachinator> so if the script runs a long time, your browser might get upset
L181[06:09:36] <DaMachinator> I used it to generate localizations for 20-30 sets of tools and armor
L182[06:10:30] <DaMachinator> that is all the materials i found on how to make textures for mods
L183[06:10:37] <Falconerd> thanks, appreciate it
L184[06:10:50] <DaMachinator> the rest is more up to your skill as an artist and the tools you have :)
L185[06:11:44] ⇨ Joins: Naiten (Naiten@77.34.92.14)
L186[06:14:10] ⇦ Quits: Cast0077 (~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com) (Quit: Poof)
L187[06:15:12] <Naiten> i press keys while in the secondary seat of the entity, which terminates all the key handling, they I enter the main seat and all keys are fired again...
L188[06:17:47] ⇦ Quits: p455w0rd (~p455w0rd@c-68-39-246-30.hsd1.in.comcast.net) ()
L189[06:24:27] <Naiten> maybe i'm doing the keybinding wrong?
L190[06:26:30] ⇦ Quits: Searge|office (~Searge@h-85-24-130-18.na.cust.bahnhof.se) (Read error: Connection reset by peer)
L191[06:45:29] *** diesieben|away is now known as diesieben07
L192[07:03:16] <DaMachinator> is there a way a tile entity can call a method immediately upon being placed?
L193[07:05:07] <diesieben07> onBlockAdded on your block is called whenever setBlockState is called with your block
L194[07:06:06] <DaMachinator> so override that method with whatever code I want to call?
L195[07:06:26] ⇦ Quits: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net) (Ping timeout: 195 seconds)
L196[07:06:57] <diesieben07> yep
L197[07:07:15] <DaMachinator> should I call super.onBlockAdded() as well?
L198[07:08:45] ⇨ Joins: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net)
L199[07:09:26] <diesieben07> depends :P
L200[07:13:13] <DaMachinator> how horribly unperformant is it to search for all blocks of a type within a cube with side length 16m?
L201[07:14:56] <diesieben07> depends on how often you do it :P
L202[07:17:13] <DaMachinator> hopefully only once, when the block is placed
L203[07:17:55] <DaMachinator> hmm
L204[07:18:15] <DaMachinator> is there a way to store world data independently of any single block?
L205[07:18:37] <diesieben07> then it's fine
L206[07:18:47] <diesieben07> and you want WorldSavedData, the documentation has an article on it
L207[07:21:52] <DaMachinator> is there a size limit on WorldSavedData
L208[07:22:58] ⇦ Quits: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net) (Ping timeout: 189 seconds)
L209[07:23:10] <diesieben07> the file system :P
L210[07:23:16] <diesieben07> or... well, the RAM
L211[07:25:16] ⇨ Joins: bilde2910 (bilde2910@178.51-174-170.customer.lyse.net)
L212[07:25:20] <DaMachinator> ok...
L213[07:25:51] <DaMachinator> TileEntity does not appear to have any onBlockAdded
L214[07:26:36] ⇨ Joins: sciguyryan (~sciguyrya@45.62.37.22)
L215[07:29:07] <DaMachinator> ah, it belongs to Block
L216[07:30:52] * DaMachinator is frustrated
L217[07:35:18] *** V is now known as Vigaro
L218[07:38:23] ⇦ Quits: sciguyryan (~sciguyrya@45.62.37.22) (Remote host closed the connection)
L219[07:42:26] ⇦ Quits: Chais (~Chais@62.178.210.212) (Read error: Connection reset by peer)
L220[07:43:51] ⇨ Joins: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L221[07:45:18] ⇨ Joins: Chais (~Chais@62-178-210-212.cable.dynamic.surfer.at)
L222[07:49:28] ⇨ Joins: TechnicianLP (~Technicia@p4FE1C779.dip0.t-ipconnect.de)
L223[07:55:11] *** amadornes[OFF] is now known as amadornes
L224[07:55:30] ⇦ Quits: SparkVGX (~SparkVGX@121.99.203.245) (Quit: This quit message was sponsored by Pepsi. Just as good as coke, we promise!)
L225[07:58:07] ⇦ Quits: Katrix (~Katrix@2a02:fe0:cb10:2420:144f:8ded:927d:a0b0) (Ping timeout: 384 seconds)
L226[07:58:59] ⇨ Joins: Katrix (~Katrix@2a02:fe0:cb10:2420:3dee:7372:aa77:73b)
L227[08:05:26] ⇨ Joins: fatguylaughing (~fatguylau@worx01.worxco.net)
L228[08:06:39] ⇦ Quits: illy[Zzz] (uid69226@id-69226.highgate.irccloud.com) (Quit: Connection closed for inactivity)
L229[08:25:06] ⇦ Quits: blood|wrk (~owned@static228.iona.edu) ()
L230[08:40:12] <TechnicianLP> is there a way to rotate a model before baking it?
L231[08:41:33] ⇦ Quits: Hunterz (~hunterz@2001:af0:8000:1c01:6af7:28ff:fe37:5d6a) (Quit: Leaving.)
L232[08:42:22] <diesieben07> you should be able to pass in a TRSRTransformation as the IModelState for bake
L233[08:43:08] <TechnicianLP> rotating on y axis: http://imgur.com/a/vMI6D .... (who flipped my model??)
L234[08:43:31] <TechnicianLP> its lit from underneath if i rotate it 90/270 degrees
L235[08:44:08] <diesieben07> don't ask me :P
L236[08:51:37] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L237[08:53:46] <TechnicianLP> weird ... ModelRotation.X0_Y90 works
L238[08:54:48] <masa> where does the spectator mode player head rendering happen? I can't find where it checks whether or not to render the ghastly head :/
L239[08:55:41] <TechnicianLP> could be near the one for scoreboard-teams
L240[08:55:55] <masa> or to avoid xy problems, I want to render a fake/virtual player head in the same way
L241[08:58:00] *** Vigaro is now known as V
L242[09:00:22] <masa> ah found it...
L243[09:00:54] <masa> RenderLivingBase.renderModel() has the checks
L244[09:02:22] ⇦ Quits: VikeStep (~VikeStep@192.43.96.58.static.exetel.com.au) (Read error: Connection reset by peer)
L245[09:03:53] *** TTFT|Away is now known as TTFTCUTS
L246[09:05:41] ⇨ Joins: sinkillerj (~sinkiller@nc-67-232-15-221.dhcp.embarqhsd.net)
L247[09:11:22] ⇨ Joins: Shawn|i7-Q720M (~shawn156@c-50-170-156-102.hsd1.co.comcast.net)
L248[09:27:35] <DaMachinator> What do you override to make a model transparent?
L249[09:28:58] <DaMachinator> I have this somewhat amusing problem: http://u.tylian.net/V71PLF
L250[09:32:25] <Ivorius> bspkrs: The mcp website is down... ish
L251[09:32:30] <Ivorius> No styles load for me
L252[09:38:39] <Koward> When is the best time/event to change the SharedMonsterAttributes.MAX_HEALTH of an entity ?
L253[09:39:57] ⇨ Joins: BlueMonster (~BlueMonst@cpc23-telf11-2-0-cust237.16-1.cable.virginm.net)
L254[09:46:31] ⇨ Joins: useless2764_ (useless@meerkat.danmackay.com)
L255[09:46:35] ⇦ Quits: useless2764 (useless@meerkat.danmackay.com) (Ping timeout: 206 seconds)
L256[09:53:32] <TechnicianLP> DaMachinator: Block#isFullCube controls culling and isOpaqueCube controls transparency of texxtures
L257[10:03:41] ⇨ Joins: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com)
L258[10:09:18] ⇦ Quits: Zaggy1024 (~Zaggy1024@184-100-92-96.mpls.qwest.net) (Ping timeout: 206 seconds)
L259[10:16:14] ⇨ Joins: ThePsionic (~Psi@ip5457f909.direct-adsl.nl)
L260[10:31:07] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping timeout: 384 seconds)
L261[10:32:14] ⇨ Joins: TimRiker (~TimRiker@proxy.lds.org)
L262[10:33:57] ⇨ Joins: GuntherDW (~guntherdw@quadran.system33.be)
L263[10:46:13] <Barteks2x> anyone knows how could I get my library to be in some public maven repository?
L264[10:46:54] <Barteks2x> submodules are a bit too annoying
L265[10:53:55] ⇨ Joins: Vazkii (~Vazkii@144.134.37.188.rev.vodafone.pt)
L266[10:54:05] <kashike> Barteks2x: for SNAPSHOTs: host your own, or find someone who will let you use yours
L267[10:54:10] <kashike> for RELEASE: you can use sonatype-oss
L268[10:54:21] <kashike> http://central.sonatype.org/pages/ossrh-guide.html
L269[10:54:34] *** amadornes is now known as amadornes[OFF]
L270[10:55:43] <Barteks2x> The way I handle versions is incompatible with what maven expects
L271[10:56:03] <Barteks2x> (no snapshots)
L272[10:56:23] <kashike> ...why deviate from the standard?
L273[10:56:59] <Barteks2x> because the standard means that early development builds of everything that depends on the library will break when I update the snapshot
L274[10:57:45] <Barteks2x> if I used snapshots now, my mod wouldn't build right now
L275[10:58:28] <Barteks2x> But I also completely disagree with the whole idea of snapshots
L276[10:58:49] <diesieben07> snapshot doesn't mean you can never change the version...
L277[10:59:19] <diesieben07> snapshots are not for "stuff in alpha", they are pre-releases for a version
L278[10:59:27] ⇦ Quits: useless2764_ (useless@meerkat.danmackay.com) (Ping timeout: 384 seconds)
L279[10:59:28] <Barteks2x> snapshot means that a single version number will change as I update it
L280[10:59:51] <Barteks2x> so how stuff very early in development should be ahndled?
L281[11:00:30] <diesieben07> version number < 1.0 is what i would do
L282[11:00:36] <diesieben07> snapshot means it can change
L283[11:00:37] <diesieben07> http://stackoverflow.com/a/5901460/3638966
L284[11:00:44] <Barteks2x> with shapshor or not?
L285[11:00:47] <Barteks2x> *snapshot
L286[11:01:02] <diesieben07> if you have something depend on it and don't want it to break, don't use snapshots.
L287[11:01:17] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L288[11:01:28] <diesieben07> that's the idea, if you depend on a snapshot, things can break. if you depend on something thats not a snapshot, things cannot break because you cannot change non-snapshot versions
L289[11:01:47] <Barteks2x> that's why I disagree with snapshots, because they can break builds that already work
L290[11:02:06] <diesieben07> well, if you depedn on a snapshot thats your own fault
L291[11:02:11] <diesieben07> it's a pre-release. subject to change.
L292[11:02:18] <diesieben07> for people to look at and try out. not rely on.
L293[11:02:53] <Barteks2x> except that I still see 2 libraries I depend on that are snapshots since forever
L294[11:02:59] <Barteks2x> for no good reason
L295[11:03:05] <diesieben07> then they are using snapshots wrong.
L296[11:04:14] <Barteks2x> And even when it's used for development, it means that old development builds will break
L297[11:04:36] <Barteks2x> I really see no reasonable way to use snapshots, ever
L298[11:04:53] <diesieben07> to try out the new version. experimenting with it.
L299[11:04:58] <diesieben07> not to use it for development.
L300[11:05:25] <Barteks2x> but then there are things you need that are still snapshots
L301[11:05:30] <Barteks2x> and there is no way around it
L302[11:05:33] <ghz|afk> yes
L303[11:05:37] <ghz|afk> and your snapshots may depend on them
L304[11:05:41] <ghz|afk> just not your releases
L305[11:05:49] *** ghz|afk is now known as gigaherz
L306[11:06:11] <Barteks2x> but that means that when I want to build the shapshot build that compiled 2 months ago, it may or may not build
L307[11:06:17] <gigaherz> yup
L308[11:06:27] <gigaherz> unless you can get the same exact snapshot
L309[11:06:32] <diesieben07> that is what snapshot means... subject to change
L310[11:06:43] <diesieben07> change means things might no longer work.
L311[11:06:46] <gigaherz> which is why some build systems create date-coded snapshots
L312[11:06:47] <gigaherz> ;P
L313[11:07:06] <gigaherz> (like the mcp mappings)
L314[11:07:41] <Barteks2x> Currently I don't have snapshots at all but I should probably change it. I just have version number generated from output of git describe, so each commit has unique verison number
L315[11:10:40] ⇨ Joins: covers1624_ (~covers162@ppp122-232-6.static.internode.on.net)
L316[11:11:10] ⇨ Joins: mezz_ (~mezz@24.6.28.151)
L317[11:11:10] MineBot sets mode: +v on mezz_
L318[11:12:09] <Barteks2x> And now I just have contradicting information, shouls snapshots be used for development build or not?
L319[11:13:03] ⇦ Quits: Falconerd (~falconerd@ppp118-209-74-141.bras1.mel11.internode.on.net) (Ping timeout: 206 seconds)
L320[11:13:03] ⇦ Quits: mezz (~mezz@24.6.28.151) (Ping timeout: 206 seconds)
L321[11:13:03] ⇦ Quits: covers1624 (~covers162@ppp122-232-6.static.internode.on.net) (Ping timeout: 206 seconds)
L322[11:13:15] <diesieben07> true development builds shouldn't even be on a public maven repo
L323[11:15:06] <Barteks2x> but that doesn't mean the same code should once build and then not build one month later
L324[11:15:32] <diesieben07> ???
L325[11:15:39] <Barteks2x> and that's what happens when you depend on snapshots for development builds
L326[11:16:24] <Barteks2x> even when it's used only with libraries I control
L327[11:16:32] <diesieben07> well if you intend to rely on it (which is implied by wanting to build the thing unchanged a month later) then you do not want a development build OR a snapshot.
L328[11:16:37] <diesieben07> you want a stable version.
L329[11:16:39] <g> Use stable dependencies for stable builds
L330[11:16:43] <g> that's why they exist
L331[11:16:44] <g> they're stable
L332[11:16:57] <g> if you're doing super beta dev builds then you can use whatever the hell you want
L333[11:17:10] ⇨ Joins: Jezza (~Jezza@92.206.161.17)
L334[11:17:48] <Barteks2x> So is it just me being stupid that I want things like git bisect to actually work and not break because snapshots?
L335[11:18:39] <g> git bisect is for very specific things
L336[11:18:55] <g> you won't even need it unless you have such a huge project that you can't keep track of any of your code
L337[11:19:00] <diesieben07> and also... git has nothing to do with the release of your project
L338[11:19:18] <diesieben07> whether you release a snapshot, a stable version or whatever, git doesn't give two shits...
L339[11:19:24] <diesieben07> git cares about your commits.
L340[11:19:36] <g> right
L341[11:19:42] <Barteks2x> I just can't explain what I think in a good way...
L342[11:19:58] <g> but you shouldn't need bisect
L343[11:20:35] <g> because once you know that a bug exists, tracking it down is almost always easier than binary-searching commits
L344[11:20:43] <Barteks2x> why even use something like git with full histoory if code from week ago may or may not compile at all?
L345[11:21:00] <g> git's purpose is not to ensure old code can compile
L346[11:21:12] ⇦ Quits: Naiten (Naiten@77.34.92.14) (Read error: Connection reset by peer)
L347[11:21:21] <g> it is a version control system, it allows you to look at the tree of commits whenever you want
L348[11:21:26] <g> you can tag off your commits
L349[11:21:36] <g> when you push a commit, you describe it, making it obvious what you were doing
L350[11:21:45] <Barteks2x> I hate the world
L351[11:21:46] <g> not only does that make it easier for you to track your own progress
L352[11:21:59] <g> but it means that other people working on the same project can see what you did without reading your code
L353[11:22:05] <g> also, it handles stuff like merge conflicts for you
L354[11:22:12] <g> that's the point of git: organisation
L355[11:22:28] <g> you can track whatever you like under git too, it doesn't have to be code
L356[11:22:37] <Barteks2x> that's why I said "with full hostory". What is the point of keeping it if it probably won't work anyway?
L357[11:22:41] <g> git doesn't care about the content of what it tracks, aside from deciding how to store it
L358[11:22:50] <g> because you can always go back and see what you, or someone else, did
L359[11:22:57] <g> it's an accountability thing
L360[11:23:22] <g> it's also convenient because you can synchronise it with a server easily, and it'll deal with merge conflicts (which something like, eg, dropbox won't)
L361[11:23:59] <g> https://www.quora.com/What-is-git-and-why-should-I-use-it
L362[11:24:38] <g> some other useful things you gain from having history
L363[11:24:45] <g> let's say you have a 1.7.10 branch and a 1.10.2 branch
L364[11:24:50] <g> and you write some code that could apply to both
L365[11:25:08] <g> instead of manually copying files over, you can make your changes on one branch and cherry-pick them over to your other one
L366[11:25:45] <Barteks2x> so going back to what I actually want to do. I have a little library for reading and writing region files. All I wanted it to have it in some maven repository so I don't need to deal with submodules, but in a way that avoids breaking everythign that depends on it when I update...
L367[11:25:46] <g> keeping history is also necessary for rebasing code, in the event that you need to take two branches and merge them back in for example
L368[11:26:01] <g> oh, well that's easy
L369[11:26:02] <g> versioning
L370[11:26:36] <g> once you have the maven server you're pushing to set up, increment your version whenever you change something significant
L371[11:26:58] <Barteks2x> almost every change in it is significant...
L372[11:27:06] <g> then update your version number
L373[11:27:14] <g> https://github.com/dbrock/semver-howto
L374[11:27:21] <g> use semver, you'll find it probably suits quite well
L375[11:28:19] <g> you can also do stuff like deprecation
L376[11:28:25] <g> but versioning is very important
L377[11:28:38] <Barteks2x> What I use is based on semver but automated, and my initial poitn was that it's a bit incompatible with snapshots
L378[11:28:47] <g> well, no, not really
L379[11:28:50] <g> snapshots are still versioned
L380[11:29:05] <Barteks2x> my version numbers are generated from git describe output
L381[11:29:17] <g> OK, so that's the first thing you need to stop doing
L382[11:29:29] <Barteks2x> why...
L383[11:29:39] <g> because commit hashes don't make for friendly versioning
L384[11:29:47] <Barteks2x> and I don;t use hashes
L385[11:29:56] <Barteks2x> I have tags like "v0"
L386[11:30:06] <g> Ok, that works too
L387[11:30:17] <g> but then you will have to discipline yourself
L388[11:30:24] <g> so that if there is a breaking change, you _must_ increment
L389[11:31:02] <g> again, I'm going to recommend semver because the numbers have a well-understood meaning
L390[11:31:17] <g> but the numbering system you use is up to you, as long as you stick with it
L391[11:31:19] ⇨ Joins: IdleGandalf (~IdleGanda@static.42.139.9.5.clients.your-server.de)
L392[11:31:33] <Barteks2x> it is based on semver, but using output from git describe
L393[11:31:44] <g> it's not semver if you only have one digit
L394[11:31:56] <g> like I say, it works, but you have to increment
L395[11:32:03] <g> after that, maven will take care of it
L396[11:32:07] <Barteks2x> v0 is from tag, second digit is from describe, third digit if from gradle.properties
L397[11:32:16] <g> Why are you making it so complicated?
L398[11:32:50] <gigaherz> why notm ake the tag v0.1.2 and let describe just do its job? ;P
L399[11:32:53] <Barteks2x> because I don't like manually increasing version numbers
L400[11:33:01] <g> you're going to have to do that
L401[11:33:03] <g> that's.. life
L402[11:33:04] <g> :P
L403[11:33:12] <diesieben07> programs can't know if you made a breaking change
L404[11:33:21] <Barteks2x> so the way I have it, I onl need to increase major version numbers
L405[11:33:25] <diesieben07> so there is no way around it :P
L406[11:33:26] <g> you can make it easier for yourself by having a single file with it in though, and have everything else pull from that
L407[11:33:39] <g> probably a properties file
L408[11:34:27] <Barteks2x> and my initial question was just how can I gte it into maven repository
L409[11:34:28] <g> but yeah, if you think this is going to be a problem then you will have to be disciplined enough to do that
L410[11:34:36] <Barteks2x> but answer was different for snapshots and non-snaoshots
L411[11:34:37] <g> okay, well, you need to find a maven repo that will allow you to do that
L412[11:34:40] <g> yes, well
L413[11:34:46] <g> a lot of people use sonatype
L414[11:34:48] <Barteks2x> and for me the difference is blurred
L415[11:34:58] <g> because you can upload snapshots there without verification
L416[11:35:05] <gigaherz> yo ucan script it ;P
L417[11:35:11] <g> but to upload releases and push to maven central, you've gotta verify
L418[11:35:15] <g> the alternative is of course to run your own server
L419[11:35:23] <g> I've seen people run maven servers off of git as well but I don't really recommend that
L420[11:35:37] <gigaherz> release_snapshot.sh, release_patch.sh, release_minor.sh, release_major.sh
L421[11:35:48] <gigaherz> that updates the version file and initiates the build process
L422[11:35:49] <gigaherz> ;P
L423[11:35:56] <g> yep, could do that
L424[11:36:00] <Barteks2x> I remember whn I was writing bukkit plugin I made a very dirty hack: I used github repository as maven repository. Is that even allowed O.o?
L425[11:36:07] <g> you can do that
L426[11:36:11] <g> but it's not what github was designed for
L427[11:36:13] <gigaherz> maven is just a http webserver
L428[11:36:13] <g> and it won't perform well
L429[11:36:16] <gigaherz> with a certain folder structure
L430[11:36:31] <Barteks2x> well, it only contained a cutsom version of a maven plugin
L431[11:36:32] <g> there are popular projects that github has resource limiters on because they did that
L432[11:36:44] <g> but you probably won't have to worry
L433[11:37:06] <gigaherz> it's not so hard to setup a system on a web hosting service
L434[11:37:12] <Barteks2x> so I will try to use sonatype then
L435[11:37:13] <g> gigaherz is right, yeah, you can deploy to a local folder and then shove it up with git or some web host
L436[11:37:30] <gigaherz> g: in my case, I uplaod through sftp to my website
L437[11:37:31] <gigaherz> ;P
L438[11:37:35] <g> yeah, you can do that
L439[11:37:39] <g> we use archiva over at glowstone
L440[11:37:45] <g> used to use sonatype nexus but it broke
L441[11:37:46] <Barteks2x> so right, I do I need my own hosting or not?
L442[11:37:53] <g> not technicall,y no
L443[11:38:14] <g> if you want maven to upload your jars, then you can use sonatype
L444[11:38:27] <gigaherz> you can ask for permission to use the minecraftforge maven, too
L445[11:38:28] <gigaherz> ;P
L446[11:38:29] <g> if you don't care about that, you can use git or sftp it up to some webhost
L447[11:38:34] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L448[11:38:48] <diesieben07> i used sftp on a webhost, works like a charm
L449[11:39:02] <diesieben07> gradle can do that for you even
L450[11:39:13] <diesieben07> the gradle publisher can upload to just an ftp host
L451[11:39:15] <g> oh, yep, gradle can do that, that's right
L452[11:39:27] <gigaherz> i'll have to try to get that working someday
L453[11:40:19] <Barteks2x> "if you don't care about that, (...)" I don';t understand something here
L454[11:40:48] <g> what's that?
L455[11:40:53] <gigaherz> Barteks2x: maven is both the repository format
L456[11:41:01] <gigaherz> and the program that can synchronize
L457[11:41:25] <gigaherz> "Maven is a build automation tool used primarily for Java projects. The word maven means "accumulator of knowledge" in Yiddish."
L458[11:41:49] <g> yeah, you have maven repos which are just collections of files stored according to the maven format
L459[11:41:53] <g> and then mvn, which is the maven tool
L460[11:42:39] <g> there are other tools which work with the maven format as well though, eg gradle
L461[11:43:25] ⇦ Quits: Koward (~Koward@2a02:2788:7d4:4dd:69ba:5e9f:345a:6033) (Quit: Leaving)
L462[11:44:58] <Barteks2x> And I would have to worry about it much later if only I didn't make it a library...
L463[11:45:11] <g> honestly, you're overthinking quite a bit
L464[11:45:23] ⇨ Joins: McJty (~jorrit@94-224-154-146.access.telenet.be)
L465[11:45:24] <g> pick a solution you find easy, and stick to a versioning standard
L466[11:45:25] <g> that's it.
L467[11:45:43] <g> snapshots are considered beta, and that's the only real difference
L468[11:46:03] <g> if you don't want to release snapshots, don't release snapshots.
L469[11:47:39] <Barteks2x> also "you can ask for permission to use the minecraftforge maven, too" that would probably work for actuaal mod, and my guess would be anything new is unlikely to be accepted
L470[11:48:03] <g> I can think of some mods that use it
L471[11:48:08] <g> pretty sure chickenbones' lib uses it
L472[11:48:20] ⇦ Quits: Dark (~MrDark@cpe-75-185-6-240.columbus.res.rr.com) (Ping timeout: 206 seconds)
L473[11:48:40] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L474[11:49:40] <Barteks2x> sonatype website has everything except what I want to know
L475[11:51:20] ⇨ Joins: Noppes (~Noppes@ip56530f2e.direct-adsl.nl)
L476[11:54:08] ⇨ Joins: Dark (~MrDark@cpe-75-185-6-240.columbus.res.rr.com)
L477[12:01:17] <williewillus> !gf EntityShulker.COLOR
L478[12:02:53] ⇨ Joins: shadekiller666 (~shadekill@adsl-108-71-39-199.dsl.lsan03.sbcglobal.net)
L479[12:08:28] <shadekiller666> holy crap, ITickableSound has a lot of methods...
L480[12:12:55] <McJty> Those are actually from ISound
L481[12:12:58] <McJty> ITickableSound has only one
L482[12:13:49] <williewillus> what would cause TOP to not work properly only when the player is logged into a dediserver?
L483[12:13:51] <williewillus> got a report for 1.11
L484[12:14:01] <williewillus> botania's blocks are localized properly in SP but not in MP
L485[12:14:02] <McJty> Define 'not working properly'?
L486[12:14:31] <McJty> What version of TOP?
L487[12:14:40] <williewillus> shows unlocalized name
L488[12:14:43] <gigaherz> TOP?
L489[12:14:48] <gigaherz> oh
L490[12:14:51] <gigaherz> one probe
L491[12:15:17] <williewillus> my dev env has 1.3.4 but I think it happens in newer versions since I just got the report today
L492[12:15:46] <McJty> 1.3.4 is latest
L493[12:17:03] <McJty> TOP uses getPickBlock().getDisplayName() server side and sends that to the client
L494[12:17:18] <williewillus> so you're localizing on the srever?
L495[12:17:27] <McJty> Well TOP is server side. So yes
L496[12:17:39] <gigaherz> that can't possibly work
L497[12:17:41] <diesieben07> that can never work for mod blocks.
L498[12:17:41] <williewillus> server doesn't have localizations
L499[12:17:49] <williewillus> it only has en_us vanilla
L500[12:17:52] <McJty> Well it did work on 1.10.2
L501[12:17:55] <McJty> Has that changed on 1.11?
L502[12:17:58] <gigaherz> nope
L503[12:17:58] <diesieben07> nope
L504[12:18:01] <McJty> Well
L505[12:18:03] <gigaherz> i had to fix that back in 1.9
L506[12:18:05] <McJty> TOP is heavily used on servers
L507[12:18:13] <McJty> Never had a report on this
L508[12:18:21] <McJty> And it also works nice on my 1.10.2 patreon server
L509[12:18:26] <McJty> For all blocks (modded or not)
L510[12:18:31] <McJty> So somehow it can work
L511[12:18:50] <williewillus> doesn't mean it's not a problem :V let me try to make a test mod
L512[12:19:48] <McJty> But how does it work then if the server doesn't have that localization?
L513[12:20:05] <diesieben07> the only way is that you're not actually translating on the server.
L514[12:20:32] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L515[12:20:49] <McJty> I'm pretty sure I am. That's the complete idea behind TOP. To do the actual information gathering on the server
L516[12:21:16] <diesieben07> you might be sending a TextComponentTranslation to the client
L517[12:21:26] <McJty> Nope I'm not
L518[12:21:34] <diesieben07> then you are doing something very strange.
L519[12:21:41] <williewillus> getDisplayName translates on the server
L520[12:21:46] <williewillus> iirc
L521[12:21:51] <diesieben07> yes but it can't for modded items.
L522[12:21:55] <williewillus> exactly
L523[12:21:57] <diesieben07> at least not on a dedi server
L524[12:22:08] <diesieben07> so it would jsut return the language key.
L525[12:22:10] <McJty> Well I'm 100% sure it does. On ForgeCraft for example it works fine
L526[12:22:25] <williewillus> is fc on 1.11?
L527[12:22:39] <McJty> No, talking 1.10 now
L528[12:22:47] <McJty> As I thought we were discussing if that worked on 1.10
L529[12:22:57] <williewillus> I'll check
L530[12:22:58] <gigaherz> it shouldn't matter, though
L531[12:23:24] <McJty> https://github.com/McJty/TheOneProbe/blob/1.10/src/main/java/mcjty/theoneprobe/apiimpl/providers/DefaultProbeInfoProvider.java#L227
L532[12:23:26] <McJty> That's the code
L533[12:23:57] <williewillus> and this runs on the server?
L534[12:24:00] <McJty> yes
L535[12:24:12] <McJty> Let me show you where that is called
L536[12:24:38] <McJty> https://github.com/McJty/TheOneProbe/blob/1.10/src/main/java/mcjty/theoneprobe/network/PacketGetInfo.java
L537[12:24:56] ⇦ Quits: DemonWav (~DemonWav@69.197.179.106) (Ping timeout: 180 seconds)
L538[12:25:15] <McJty> Which is registered as: INSTANCE.registerMessage(PacketGetInfo.Handler.class, PacketGetInfo.class, nextID(), Side.SERVER);
L539[12:25:46] <gigaherz> I wonder if there's some other mod that "fixes" this by loading all the en_US files instead of just the vanilla one
L540[12:25:56] <williewillus> the point is that localizing on the server is something mojang is moving away from
L541[12:26:09] <McJty> Ok, I can understand that
L542[12:28:52] <McJty> I will extend the TOP API to allow sending unlocalized strings back to the client though
L543[12:28:56] ⇨ Joins: fivestang (fivestang@shell.xshellz.com)
L544[12:28:57] ⇨ Joins: DemonWav (~DemonWav@69.197.179.106)
L545[12:28:59] <McJty> Then I can let the client translate it. That's not so hard actually
L546[12:29:16] <gigaherz> I'm still saddened that this had no interest: https://github.com/MinecraftForge/MinecraftForge/pull/2948
L547[12:30:25] <diesieben07> i just don't really see why you want to stuff it into TextComponent
L548[12:30:37] <diesieben07> like... TextComponentItemStack makes no sense
L549[12:30:42] <gigaherz> it does
L550[12:30:55] <gigaherz> ItemStack has a text component method
L551[12:30:58] <gigaherz> but it translates on the server
L552[12:31:09] <diesieben07> then fix that one... :P
L553[12:31:10] <gigaherz> because due to the stupid mojang decision to prepend "item." dynamically
L554[12:31:22] <gigaherz> there's no way to obtain the full translation key from an item
L555[12:31:38] <shadekiller666> when an entity that has other entities riding it, should it attempt to save them to its own NBT data?
L556[12:31:54] <diesieben07> yes, that's what I meant by "fix"
L557[12:31:58] <williewillus> shadekiller666: mc does something like that
L558[12:31:58] <gigaherz> also
L559[12:32:00] <diesieben07> make that method.
L560[12:32:02] <gigaherz> a TextComponentItemStack
L561[12:32:10] <gigaherz> would let you hover over the chat
L562[12:32:12] <gigaherz> to see the tooltip
L563[12:32:18] <gigaherz> and maybe even click on it to open JEI
L564[12:32:26] <gigaherz> depending on how it's implemented
L565[12:32:45] <gigaherz> while a generic translation component would just be the text
L566[12:32:52] <diesieben07> that would be a custom hover event
L567[12:33:02] <diesieben07> not a custom text component
L568[12:33:19] <diesieben07> custom hover events I can see
L569[12:33:29] <gigaherz> I meant that different mods could augment the display knowing it's an itemstack being displayed
L570[12:34:01] <diesieben07> but ITextComponent displays text, not ItemStacks
L571[12:35:16] <gigaherz> that's why I liked IChatComponent name more -- it didn't imply "text"
L572[12:35:16] <gigaherz> ;P
L573[12:35:20] <williewillus> okay
L574[12:35:23] <williewillus> did some testing
L575[12:35:26] ⇦ Quits: quadraxis (~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Ping timeout: 180 seconds)
L576[12:35:31] <williewillus> it works in my ProjectE 1.10 workspace
L577[12:35:35] <williewillus> but not my 1.11 workspace
L578[12:35:35] <gigaherz> anyhow yeah
L579[12:35:41] <williewillus> so it's not a problem w botania alone
L580[12:35:44] <williewillus> and it's not a problem in 1.10
L581[12:35:50] <gigaherz> no interest in having forge support custom chat components, itemstack or otherwise
L582[12:35:55] <williewillus> McJty: ^^
L583[12:35:57] <gigaherz> lead me to just find a different workaround
L584[12:35:59] ⇨ Joins: kinggoesgaming (uid23106@id-23106.tooting.irccloud.com)
L585[12:36:09] <gigaherz> led*
L586[12:36:17] <gigaherz> so in my mod, I just send a custom packet
L587[12:36:19] <gigaherz> with the itemstack info
L588[12:36:28] <gigaherz> instead of sending a vanilla chat message
L589[12:36:35] <gigaherz> and print the message client-side
L590[12:36:37] <McJty> williewillus, ok, so at least I was right that it works fine in 1.10 :-)
L591[12:36:48] <McJty> But I'll fix it
L592[12:36:53] <McJty> Already working on it right now
L593[12:36:59] <williewillus> awesome, thx
L594[12:41:13] ⇨ Joins: useless2764 (useless@meerkat.danmackay.com)
L595[12:44:44] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de)
L596[12:56:30] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de) (Remote host closed the connection)
L597[12:57:55] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de)
L598[12:59:12] <Barteks2x> What is the limit of open files on linux? (just curious, I accidentally hit the limit)
L599[12:59:28] ⇦ Quits: glasspelican (~quassel@104.167.117.185) (Ping timeout: 194 seconds)
L600[12:59:52] ⇦ Quits: shadekiller666 (~shadekill@adsl-108-71-39-199.dsl.lsan03.sbcglobal.net) (Ping timeout: 206 seconds)
L601[12:59:59] <williewillus> 4096 i think?
L602[13:00:00] <gigaherz> Barteks2x: cat /proc/sys/fs/file-max
L603[13:00:15] <williewillus> oh lol I"m way off
L604[13:00:17] <gigaherz> but there's a limit per process
L605[13:00:21] <Barteks2x> that output is 799019 for me
L606[13:00:23] <williewillus> ah yeah
L607[13:00:24] <gigaherz> which is usually 4096
L608[13:00:39] <gigaherz> ulimit -Hn
L609[13:00:42] <williewillus> ulimit
L610[13:00:45] <gigaherz> for the per-process FD limit
L611[13:00:45] <williewillus> woops
L612[13:00:56] <gigaherz> and ulimit -Sn for the soft-limit, wahtever that is
L613[13:01:00] <gigaherz> http://www.tecmint.com/increase-set-open-file-limits-in-linux/
L614[13:01:04] <Barteks2x> I probably forgot to close region files
L615[13:01:05] <williewillus> both 4096 for me
L616[13:01:17] ⇨ Joins: shadekiller666 (~shadekill@adsl-108-71-36-4.dsl.lsan03.sbcglobal.net)
L617[13:01:40] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de) (Remote host closed the connection)
L618[13:02:23] ⇦ Quits: Davnit (~Davnit@72-189-115-20.res.bhn.net) (Quit: bye)
L619[13:02:35] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de)
L620[13:02:47] *** cpw|out is now known as cpw
L621[13:04:30] ⇨ Joins: Davnit (~Davnit@72-189-115-20.res.bhn.net)
L622[13:06:17] <McJty> This lack of localization is going to be a bigger problem for the rftools storage system
L623[13:06:23] <McJty> As it does searching by name on the server
L624[13:06:29] <McJty> Not sure how I'm going to solve that one
L625[13:08:02] ⇦ Quits: ThePsionic (~Psi@ip5457f909.direct-adsl.nl) (Read error: Connection reset by peer)
L626[13:11:48] <Barteks2x> is there some place with up to date information about MC NBT chunk format?
L627[13:11:53] <Barteks2x> (other than the code)
L628[13:12:21] <Barteks2x> http://minecraft.gamepedia.com/Chunk_format this seems to contain outdated/incorrect information
L629[13:12:43] <williewillus> wiki.vg
L630[13:13:14] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de) (Remote host closed the connection)
L631[13:14:02] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de)
L632[13:14:13] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de) (Remote host closed the connection)
L633[13:15:09] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de)
L634[13:15:32] <Barteks2x> information about chunk NBT data is incomplete on wiki.vg
L635[13:15:43] <williewillus> it's just those two places + the code
L636[13:15:44] <williewillus> :P
L637[13:16:48] <Barteks2x> and both are wrong
L638[13:16:53] <Barteks2x> only code is right
L639[13:17:38] <williewillus> :P
L640[13:17:45] <williewillus> as expected
L641[13:19:05] <Barteks2x> First part of my converter seems to work (=not crash)
L642[13:19:25] ⇨ Joins: killjoy (~killjoy@cpe-76-182-16-229.nc.res.rr.com)
L643[13:19:35] <Barteks2x> but the result is surprisingly small
L644[13:20:09] <Barteks2x> 3MB converted into 0.5MB
L645[13:20:20] ⇨ Joins: glasspelican (~quassel@stanley.glasspelican.ca)
L646[13:21:30] <TechnicianLP> f3+t helps so much when dubggin models...
L647[13:22:11] <Barteks2x> z->x typos are always so hard to find...
L648[13:23:18] <McJty> Is there a way on the client to translate a string which preserves formatting stuff?
L649[13:23:29] <McJty> i.e. the TextFormatting codes
L650[13:23:39] <McJty> Or do I have to first strip that and then readd it?
L651[13:24:12] <williewillus> if you use ITextComponent and setStyle() those are serialized and sent over the network properly
L652[13:24:36] <williewillus> new TextComponentTranslation("tile.stone.name").setStyle(new Style().setColor(BLUE)); or something like that
L653[13:25:07] <McJty> How do you send that over the network?
L654[13:25:15] <McJty> I mean how do I pack that in a ByteBuf?
L655[13:25:38] <williewillus> see SPacketChat
L656[13:26:34] <McJty> Hmm, not sure that I can use that
L657[13:26:37] <McJty> I have to think about that
L658[13:26:44] <williewillus> ?
L659[13:26:57] <williewillus> it's serialized into json and the string is sent
L660[13:26:58] <McJty> Well TOP actually uses its own TextFormatting variant
L661[13:27:18] <McJty> So I might have to manually do it in this case
L662[13:28:50] <TechnicianLP> almost looks like a fancy capr
L663[13:29:00] <TechnicianLP> almost looks like a fancy carpet: http://imgur.com/a/P9Aow *
L664[13:32:41] <McJty> Is I18n.format(text) the proper way to translate on the client?
L665[13:33:11] <williewillus> yeah
L666[13:33:57] <McJty> Thanks
L667[13:36:22] <McJty> In case you are wondering. I need my own TextFormatting variant because my formatting is conceptual and not an actual color. i.e. one doesn't say RED but instead one says ERROR
L668[13:36:24] *** V is now known as Vigaro
L669[13:36:35] <McJty> And client can reconfigure ERROR to be RED, or BOLD, or whatever
L670[13:39:07] <killjoy> How did windows use up a whole TB?
L671[13:40:05] <TechnicianLP> because its made by microsoft ...
L672[13:40:09] <TechnicianLP> use linux ;)
L673[13:40:18] ⇦ Quits: BlueMonster (~BlueMonst@cpc23-telf11-2-0-cust237.16-1.cable.virginm.net) (Quit: Goodbye)
L674[13:41:46] <killjoy> Do I really have that many games?
L675[13:42:10] <killjoy> 500 GB is my steam folder so far
L676[13:42:52] <killjoy> the rest is taken by FileHistory
L677[13:45:05] <TechnicianLP> is there something like modelloaders for images?
L678[13:47:18] <diesieben07> built in to java actually
L679[13:48:08] <kashike> I've only got a 250GB SSD :P
L680[13:48:26] <diesieben07> see javax.imageio.spi.*
L681[13:48:29] <diesieben07> TechnicianLP, ^
L682[13:48:33] <Akkarin> > not using 20 250GB SSDs in raid 0
L683[13:48:35] <Akkarin> pls kashike
L684[13:48:53] ⇦ Quits: cpup (~cpup@32.218.117.201) (Ping timeout: 384 seconds)
L685[13:48:55] <kashike> lol
L686[13:49:15] <TechnicianLP> well i need to specify the animationspeed of that image manually (config value)
L687[13:49:43] <diesieben07> animationspeed?
L688[13:49:56] <TechnicianLP> animated textures name.png.mcmeta
L689[13:50:04] <diesieben07> oh you are talking about textures. not images
L690[13:50:29] * TechnicianLP should have specified that
L691[13:50:36] <diesieben07> you can extend TextureAtlasSprite and generate your texture hwoever you like
L692[13:54:55] ⇦ Quits: McJty (~jorrit@94-224-154-146.access.telenet.be) (Quit: Leaving)
L693[13:56:21] <TechnicianLP> thanks for pointing me in the right direction ;)
L694[14:02:30] <shadekiller666> for blocks that have a property that controls a direction that they are facing, it is likely that it is a PropertyDirection or a PropertyEnum<EnumFacing> right?
L695[14:02:41] <shadekiller666> or maybe a PropertyEnum<EnumFacing.Axis>
L696[14:02:51] <williewillus> probably
L697[14:03:04] <williewillus> but even in vanilla there's special cases
L698[14:03:11] <shadekiller666> like what?
L699[14:03:20] <williewillus> logs for example have axis X/Y/Z but they also have NONE which is bark on all sides
L700[14:03:25] <williewillus> so they don't use AXIS
L701[14:04:27] <shadekiller666> ahh they use PropertyEnum<BlockLog.EnumAxis>
L702[14:04:28] <shadekiller666> hmm
L703[14:05:27] <shadekiller666> and so does quartz
L704[14:06:26] <TechnicianLP> btw: you never know what that facing is for ... it could be orientation but it could also be something different ...
L705[14:07:31] <shadekiller666> i have a custom multiblock structure system that is loosly based off of the vanilla structure system
L706[14:08:04] <TechnicianLP> structure system?
L707[14:09:19] <williewillus> TechnicianLP: structure blocks? :P
L708[14:09:26] <williewillus> the things added in 1.9 and exposed in 1.10
L709[14:09:35] <shadekiller666> and i'm trying to figure out how to make blocks within the structure face in a specific direction relative to the structure, i was using IBlockState.withRotation() to get the rotated states, but that doesn't work well when the facing direction of the state (if it has one) is EnumFacing.UP or EnumFacing.DOWN
L710[14:09:36] ⇨ Joins: Koward (~Koward@2a02:2788:7d4:4dd:69ba:5e9f:345a:6033)
L711[14:09:53] <williewillus> there is no general solution unfortunately
L712[14:09:56] <shadekiller666> my system doesn't use structure blocks specifically
L713[14:10:28] ⇨ Joins: immibis (~chatzilla@125-237-220-104.jetstream.xtra.co.nz)
L714[14:10:31] <shadekiller666> the basic ideas of how vanilla handles the structure templates that are created/loaded by structure blocks are the same
L715[14:10:48] <williewillus> oh yeah the 1.6.4 structure system
L716[14:11:35] <shadekiller666> though, the "templates" in my system are parsed from a json and a png file in the mod's resources
L717[14:12:17] <shadekiller666> the json contains information about the structure in general, and information about what the pixels in the png should mean in the template
L718[14:12:44] <TechnicianLP> so basically a pixelart generator?
L719[14:13:00] <shadekiller666> a StructureManager class is set up to store a ResourceLocation->StructureTemplate map
L720[14:13:03] <williewillus> the structure blocks feel more intuitive :P
L721[14:13:10] ⇨ Joins: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L722[14:13:46] ⇦ Quits: Vazkii (~Vazkii@144.134.37.188.rev.vodafone.pt) (Read error: Connection reset by peer)
L723[14:13:50] <shadekiller666> and when one of the blocks in my mod is a "structure master", it tells the manager to "place structure X at POS facing DIRECTION"
L724[14:14:10] <shadekiller666> and the manager pulls the appropriate template out of the map and builds it
L725[14:14:57] <shadekiller666> TechnicianLP, the system doesn't save templates to disk as of yet, it only reads them, though i might add support for using structure blocks to define a structure in the future
L726[14:15:47] <shadekiller666> the main thing that i'm using this system for atm is to have blocks that place more than just one block at a time (ie. beds, doors, etc.)
L727[14:16:15] <shadekiller666> but i'm trying to make it support more than just the blocks in my mod
L728[14:16:52] <shadekiller666> at least all of the vanilla blocks, but preferably (almost) any block in the game
L729[14:17:04] ⇨ Joins: cpup (~cpup@32.218.117.201)
L730[14:17:20] <Koward> I want to increase the max health of all cows to 35. If I do it at EntityJoinWorld it's too late, they already have their initial health (20) so they're just at 20/35.
L731[14:17:47] <shadekiller666> to do that, i have to have a way of making the blocks in the template face in any direction (assuming they have a concept of "facing")
L732[14:18:48] <shadekiller666> i suppose i could have a key in my json files for the name of the property used for "facing" and the appropriate allowed values...
L733[14:18:50] <gigaherz> Koward: fix the real health too?
L734[14:19:06] <gigaherz> also
L735[14:19:12] <gigaherz> check EntityConstructing
L736[14:19:20] <shadekiller666> though i'd like to have that information parsed from what i already have if possible
L737[14:19:25] <williewillus> pretty entityconstructing might be too early
L738[14:19:31] <kashike> friendly reminder to thumbs-up or comment on these: https://github.com/ModCoderPack/MCPBot-Issues/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Amappings%20label%3A%22modder%20comments%20wanted%22%20
L739[14:19:34] <williewillus> attributes not registered yet
L740[14:20:41] <williewillus> that Block.causesDrag is really weird
L741[14:20:53] <williewillus> I don't know why it's in Block when the fluids only call it on themselves
L742[14:21:06] <diesieben07> Block.tickRate is the same
L743[14:21:10] <diesieben07> never called virtually
L744[14:21:23] <Koward> Imagine I fix the real health at that time, then obvious problem : when I log off&back, cows are full hp again
L745[14:21:45] <williewillus> apply a permanent atttribute modifier to the cow for +15
L746[14:21:48] <williewillus> then heal it
L747[14:21:51] <williewillus> and it'll persist
L748[14:22:53] <Koward> When should I heal it ?
L749[14:23:13] ⇨ Joins: Zaggy1024 (~Zaggy1024@184-100-92-96.mpls.qwest.net)
L750[14:23:15] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit: Leaving.)
L751[14:23:50] <williewillus> hrm
L752[14:23:56] <williewillus> this is something that belongs in onInitialSpawn
L753[14:24:03] <williewillus> but no external access to it
L754[14:24:25] <williewillus> "Called only once on an entity when first time spawned, via egg, mob spawner, natural spawning etc, but not called when entity is reloaded from nbt"
L755[14:24:41] <Koward> Ooh
L756[14:24:59] <Koward> That sounds too good to be true.
L757[14:25:10] <williewillus> yeah bc there's no way to hook into it externally
L758[14:25:24] ⇦ Quits: Waterpicker (~Waterpick@2602:306:35ba:ca40:19:b497:af31:ed7c) (Read error: Connection reset by peer)
L759[14:25:32] <williewillus> seems like a good place for an event PR though
L760[14:26:51] <williewillus> i guess you could have an nbt boolean on it that marks if it hasn't been initially healed
L761[14:27:03] <williewillus> and in entityjoinworld, apply the modifier, then if the flag is unset heal it
L762[14:28:29] <Koward> Mmm right before onInitialSpawn there's always a forge event called, SpecialSpawn
L763[14:28:50] <williewillus> that's only for natural spawns + spawners though, not mob eggs or any time a mod calls spawnEntity
L764[14:28:59] <Koward> Damn it.
L765[14:29:27] <williewillus> because most mods don't know you should be calling that before you spawn fresh entities :P
L766[14:29:55] <Koward> The NBT tag idea sounds good.
L767[14:30:26] <williewillus> the modifier actually probably needs to be saved because setHealth is called in readFromNBT and if the attribute modifier isn't applied at that point the health gets clamped
L768[14:32:01] <williewillus> so i think this should work: have a static final AttributeModifier for +15 health. when a cow joins the world, check for the flag. if not present, apply the modifier and heal it, otherwsie do nothing
L769[14:32:05] <gigaherz> kashike: done, gave my thoughts and +1s
L770[14:32:54] <williewillus> Entity.getEntityData() gets you a NBT tag compound for any entity, that mods can use
L771[14:33:58] <Koward> But as you just said there's a clamping risk. Imagine my cow 35/35hp, I hit it with a sword and it's now at 29/35. I log off, log back. The entity is read, hp clamped to 20, then EntityJoinWorld is called and the modifier is applied. Result : 20/35
L772[14:34:19] <williewillus> if the attribute modifier is saved it'll load before setHealth is called
L773[14:34:28] <williewillus> and modifiers are saved by default
L774[14:34:40] <williewillus> actually
L775[14:34:50] <williewillus> since the modifier is permanent and saved you wouldn't need an nbt flag at all
L776[14:34:54] <williewillus> just check if the modifier is already there
L777[14:35:01] <williewillus> if not add it and heal the cow
L778[14:35:37] <Koward> Would something like cow.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(NEW_COW_HEALTH) count as saved ?
L779[14:35:49] <williewillus> no
L780[14:35:56] <Koward> No because it would be aplied each time, okay
L781[14:36:03] <Koward> so I need a proper modifier, makes sense
L782[14:37:02] <Koward> Tho it's a bit weird, what's the point of these attributes if they are not saved ?
L783[14:37:08] <williewillus> ?
L784[14:37:09] <williewillus> they are
L785[14:37:22] <williewillus> if you need to change and attribute you apply a *modifier*
L786[14:37:24] <williewillus> you don't change the base value
L787[14:37:42] <williewillus> modifiers are saved (and you can force them to be unsaved as well)
L788[14:37:46] <Koward> Sorry, I meant the base value. Why can we change it if it does not get saved ?
L789[14:37:50] <williewillus> idk :P
L790[14:38:00] <williewillus> but setting the base value shouldn't really ever be done
L791[14:42:05] <williewillus> oh actually, the base value *is* saved :P so I guess that could be done
L792[14:42:15] <williewillus> it becomes a matter of preference then
L793[14:44:45] ⇦ Quits: Hea3veN (~Hea3veN@190.247.156.175) (Ping timeout: 206 seconds)
L794[14:46:28] <williewillus> yeah i just tried both ways and they both work, so it's up to you. personally I think the modifier is cleaner
L795[14:50:20] *** mezz_ is now known as mezz
L796[14:51:35] <TechnicianLP> !gf animationMetadata
L797[14:51:46] <TechnicianLP> !gm interpolateColor
L798[14:55:47] <Koward> Both ways ? You mean the base value and the modifier ?
L799[14:57:13] <Koward> Then I think the main difference would be that base value override the previous while modifier can stack, which would probably be better for compatibility
L800[15:01:21] *** fry is now known as fry|sleep
L801[15:03:49] <williewillus> yeah, both of them work and are saved
L802[15:04:21] <shadekiller666> is it possible to use any PropertyDirection to set the value of a different PropertyDirection with the same name in a given IBlockState?
L803[15:04:31] <williewillus> look at IProperty.equals
L804[15:04:41] <williewillus> same name + same set of allowed values
L805[15:05:01] <williewillus> *PropertyHelper.equals
L806[15:05:07] <williewillus> oh wait nvm
L807[15:05:15] <williewillus> just name
L808[15:05:51] <williewillus> and the T of IProperty<T> needs to tightly match the other one
L809[15:06:45] <shadekiller666> so if they are named the same, and have the same generic type, then it should be possible?
L810[15:06:52] <williewillus> yes
L811[15:07:05] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L812[15:07:09] <williewillus> doesn't guarantee that the value you pass to withProperty is accepted though
L813[15:07:23] <williewillus> and withProperty throws if the value given is not in the set of allowed values
L814[15:07:53] *** Flaeme is now known as myst
L815[15:08:04] <shadekiller666> ok
L816[15:08:20] *** myst is now known as foxfoxfox
L817[15:08:29] *** foxfoxfox is now known as mtst
L818[15:08:34] *** mtst is now known as myst
L819[15:08:45] ⇦ Quits: myst (sid36625@id-36625.ealing.irccloud.com) (Quit: Updating details, brb)
L820[15:08:52] ⇨ Joins: myst (sid36625@2604:8300:100:200b:6667:2:0:8f11)
L821[15:09:08] <shadekiller666> withProperty uses the IProperty as a key in a map of IProperty->Comparable
L822[15:12:38] ⇨ Joins: Waterpicker (~Waterpick@waterpicker-144-167-206-111.ddns.ualr.edu)
L823[15:17:18] <williewillus> yes, and the ipropertys are compared by class and name
L824[15:17:29] <shadekiller666> withProperty accepts an IProperty with the same name and value list, going to test what conditions it wants
L825[15:18:16] <shadekiller666> sweet
L826[15:19:07] <shadekiller666> that means i can work out the proper EnumFacing given my structure's rotation conditions and give them to the IBlockState directly
L827[15:19:20] <williewillus> you still have to catch anything thrown
L828[15:19:24] ⇦ Quits: Hgreb (~Hgrebnedn@d8D872A6E.access.telenet.be) (Quit: Leaving)
L829[15:19:27] <shadekiller666> assuming i have an IProperty with the same name and type
L830[15:19:29] <TechnicianLP> !gm updateAnimationInterpolated
L831[15:19:37] <shadekiller666> thats fine
L832[15:20:04] <williewillus> not necessarily, if the property on the foreign block doesn't have something in it's allowedvalues you have to catch the exception thrown
L833[15:20:17] <shadekiller666> and i will do so
L834[15:20:32] <shadekiller666> and i will try and be smart about it
L835[15:21:50] <shadekiller666> the template these are being placed from knows what all of the IProperties in each state are named, and at least the name of the value
L836[15:27:41] <shadekiller666> the special cases like logs/quarts will be tricky
L837[15:27:53] ⇨ Joins: ThePsionic (~Psi@ip5457f909.direct-adsl.nl)
L838[15:32:25] ⇦ Quits: esKaayY (~esKaayY@2607:5300:100:200::3fc) (Quit: kbai)
L839[15:32:25] ⇦ Quits: minecreatr (~minecreat@tterrag.com) (Quit: I left for some reason)
L840[15:32:25] ⇦ Quits: tterrag (~tterrag@tterrag.com) (Quit: *poof*)
L841[15:32:25] ⇦ Quits: Drullkus (~Drullkus@tterrag.com) (Quit: Goodbye IRC!)
L842[15:32:34] <williewillus> does a client player entity's uuid match their gameprofile uuid?
L843[15:33:09] ⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 384 seconds)
L844[15:34:17] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping timeout: 384 seconds)
L845[15:34:31] ⇨ Joins: tterrag (~tterrag@tterrag.com)
L846[15:35:31] ⇨ Joins: esKaayY (~esKaayY@2607:5300:100:200::3fc)
L847[15:39:38] ⇦ Quits: fatguylaughing (~fatguylau@worx01.worxco.net) (Quit: fatguylaughing)
L848[15:41:26] ⇦ Quits: Koward (~Koward@2a02:2788:7d4:4dd:69ba:5e9f:345a:6033) (Ping timeout: 180 seconds)
L849[15:44:01] <Shambling> I don't suppose there is a way to make a forge mod that disables superficial version checking from occuring in other mods? lol
L850[15:44:26] <williewillus> what you actually do is yell at the author to use the forge version checker
L851[15:44:30] <williewillus> and then turn that off
L852[15:44:48] <Shambling> I'm trying to recompile... but keep getting roadblocks
L853[15:44:55] * Ashindigo_ gives shamblin a pitchfork
L854[15:44:57] <TechnicianLP> whom do you have to yell at?
L855[15:44:58] <Shambling> missing dependencies, etc etc etc
L856[15:45:12] <Shambling> no one, because I'm too lazy to post to their issues page :P
L857[15:45:23] <SkySom> That's a poor response
L858[15:45:23] <williewillus> there really isn't any reason a mod should be using their own checker now to be honest
L859[15:45:27] <tterrag> if said mod's dev setup process isn't `gradlew sDecW` -> `gradlew eclipse` (or other IDE setup), they've done it wrong
L860[15:45:29] <Shambling> one should never complain about a dev, without giving them the ability to fix :P
L861[15:45:43] <Shambling> they have no gradle files on their github
L862[15:45:45] <SkySom> It's not a complain really
L863[15:45:48] <Shambling> so I was relying on default forge lol
L864[15:45:49] <SkySom> It's a proper report
L865[15:45:52] <tterrag> then they've DEFINITELY done it wrong
L866[15:45:57] <tterrag> no wonder it won't work, you have no buildscript
L867[15:46:01] <Shambling> yup
L868[15:46:03] <tterrag> report an issue
L869[15:46:09] <tterrag> if you haven't at least done that, you're doing the dev a disservice
L870[15:46:13] <gigaherz> I remember seeing a mod that had only the contents of the src/ folder in the repo
L871[15:46:14] <SkySom> But yeah I need to add Forge's version checker to my mod (I currently have no checker)
L872[15:46:19] <gigaherz> no diea which
L873[15:46:19] <tterrag> recompiling their mod should be a last resort
L874[15:46:21] <Shambling> if anything, the issue is curse allowing the download, but it checking for 1.11 instead of 1.11.2
L875[15:46:22] <gigaherz> ;P
L876[15:46:24] <gigaherz> idea*
L877[15:46:41] <Shambling> I'll go post to the tracker.
L878[15:46:50] <gigaherz> wait you mean the version range of minecraft
L879[15:46:57] <gigaherz> not that it checks for updates?
L880[15:47:13] <williewillus> oh lol
L881[15:47:15] <williewillus> those are different
L882[15:47:26] <gigaherz> yeah no way around recompiling if that's the case
L883[15:47:27] <gigaherz> ;P
L884[15:47:51] <gigaherz> well you could technically edit the annotation metadata and repack
L885[15:47:52] <gigaherz> but eh.
L886[15:48:56] <Shambling> yes gigaherz, the mod was showing on curse as 1.11.2 compatible, but checks against 1.11 only
L887[15:50:12] <williewillus> bug the author :P
L888[15:50:42] <Shambling> just did
L889[15:51:15] <Shambling> so, do you think the following modpack would get alot of reddit visibility? "Test Modpack - Please don't upvote"
L890[15:51:35] <williewillus> the joke is old so idk
L891[15:51:45] <williewillus> anyways, do instance initializers run before constructors?
L892[15:51:49] <williewillus> like final field init
L893[15:52:03] <TechnicianLP> http://i.imgur.com/SddWYFx.gifv
L894[15:53:05] <Shambling> is it an old joke? I didn't know it was an old joke, it just seems people that ask a question and say "don't upvote" get alot of upvotes :P
L895[15:53:10] <Shambling> guess I don't use reddit enough
L896[15:53:36] ⇨ Joins: illy (uid69226@id-69226.highgate.irccloud.com)
L897[15:53:53] <illy> boop o/
L898[15:53:57] <williewillus> it's from the old "test post please ignore" thing
L899[15:53:59] <Shambling> nice gif :P
L900[15:54:01] <williewillus> from years ago
L901[15:54:05] <TechnicianLP> class gets initialized before instances ... so <clinit> gets called befor <init>
L902[15:54:12] <Shambling> is that where test pack please ignore came from? lol
L903[15:54:20] <williewillus> TechnicianLP: was asking about *instance* initializers :P
L904[15:54:28] <williewillus> i.e. final fields you assign inline
L905[15:54:32] <williewillus> before or after ctors?
L906[15:55:31] <diesieben07> i think after the super constructor call but before your constructor code
L907[15:55:35] <diesieben07> but don't quote me on that
L908[15:56:09] <TechnicianLP> https://hastebin.com/kuceqidevi.php this one?
L909[15:56:29] <williewillus> "The Java compiler copies initializer blocks into every constructor"
L910[15:56:33] <diesieben07> const?
L911[15:56:40] <williewillus> thansk for telling where x.x
L912[15:57:00] <williewillus> TechnicianLP: wat language is that :P
L913[15:57:29] <TechnicianLP> java ... (was just too lazy to write out the constructor ...)(and too lazy to change the autodetected lang)
L914[15:59:01] ⇦ Quits: killjoy (~killjoy@cpe-76-182-16-229.nc.res.rr.com) (Read error: Connection reset by peer)
L915[15:59:31] ⇨ Joins: TechnicianLP2 (~Technicia@p4FE1C779.dip0.t-ipconnect.de)
L916[16:00:23] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de) (Quit: founderio)
L917[16:00:30] ⇨ Joins: killjoy (~killjoy@cpe-2606-A000-1118-8158-E800-A7F5-D628-D89A.dyn6.twc.com)
L918[16:00:52] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de)
L919[16:01:36] <williewillus> it seems to be field init -> initializer block -> ctor
L920[16:01:41] <williewillus> which makes sense
L921[16:02:26] ⇦ Quits: TechnicianLP (~Technicia@p4FE1C779.dip0.t-ipconnect.de) (Ping timeout: 180 seconds)
L922[16:03:04] <tterrag> Shambling: yeah, that joke is already taken
L923[16:03:08] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de) (Client Quit)
L924[16:03:15] <williewillus> lol
L925[16:03:32] <tterrag> https://github.com/TPPIDev/TestPackPleaseIgnore#information
L926[16:03:33] <Shambling> ok well I'll just need a hipster name then
L927[16:03:41] <tterrag> as of 3 years ago :)
L928[16:03:47] ⇨ Joins: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de)
L929[16:03:48] <Shambling> "Not my modpack"
L930[16:03:55] <Shambling> wait that wouldn't be hipster
L931[16:04:07] <tterrag> "This modpack is not cool (yet)"
L932[16:04:08] <Shambling> hrmmm... well anyways, I need to get inside. Thanks for the help earlier
L933[16:04:27] ⇦ Quits: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Read error: Connection reset by peer)
L934[16:06:43] ⇨ Joins: Hea3veN (~Hea3veN@190.247.156.175)
L935[16:12:48] <LexMobile> Someone should test that...
L936[16:13:04] <LexMobile> Add a field with an init after the ctr in the class file
L937[16:13:33] <LexMobile> I think it'd work and I think it'd add it at the end of the ctr
L938[16:13:47] * gigaherz checks
L939[16:13:52] <williewillus> i think where a field is in the source file doesn't matter, but lemme try that
L940[16:14:19] <LexMobile> I think it does it's worth a rest
L941[16:14:33] <LexMobile> Cuz I know you can interweave statics
L942[16:15:39] <williewillus> okay just tried it. ctor always runs last, but fields and instance initializer {} blocks are in order
L943[16:15:53] <williewillus> *in order of declaration
L944[16:15:58] <LexMobile> Gunna
L945[16:16:01] <LexMobile> Gunna
L946[16:16:05] <LexMobile> Fuck you phone
L947[16:17:16] <gigaherz> https://gist.github.com/gigaherz/442f3eceef00126bb06485f885b01c47
L948[16:17:17] <gigaherz> nope
L949[16:17:19] <gigaherz> the constructor is last
L950[16:17:29] <gigaherz> oh williewillus ninja'd
L951[16:17:56] <gigaherz> oh and I forgot to add one initialized block
L952[16:19:33] <gigaherz> https://gist.github.com/gigaherz/442f3eceef00126bb06485f885b01c47
L953[16:19:34] <gigaherz> better ;P
L954[16:19:39] <LexMobile> Umm
L955[16:19:40] ⇨ Joins: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L956[16:19:52] <LexMobile> Ldc2_w is long right?
L957[16:19:59] <LexMobile> Err float
L958[16:20:12] <LexMobile> So it did interweave?
L959[16:20:27] <gigaherz> yes everything except the constructor
L960[16:20:39] <LexMobile> I'll look later
L961[16:20:41] ⇦ Quits: Waterpicker (~Waterpick@waterpicker-144-167-206-111.ddns.ualr.edu) (Quit: Leaving)
L962[16:21:22] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L963[16:24:11] <LexMobile> Fc doesn't suck
L964[16:24:16] <LexMobile> The code is identical
L965[16:24:33] <gigaherz> I meant that it makes no effort to keep the initializer order
L966[16:24:34] <LexMobile> I'd have to see more then the opcodes to see the exact fields
L967[16:24:43] <LexMobile> It does
L968[16:24:51] <LexMobile> IF it matters
L969[16:24:52] <gigaherz> but those values have no dependencies so eh.
L970[16:25:23] <LexMobile> Yao wrote a specific "make sure this init had no higher deps"
L971[16:25:37] <LexMobile> *ya I
L972[16:26:17] <gigaherz> that's idea's one, btw, not forge's
L973[16:26:20] *** diesieben07 is now known as diesieben|away
L974[16:27:12] <LexMobile> Meh either way it has no deps so the code is identical enough
L975[16:28:16] ⇦ Quits: foxy (~gravityfo@superfox.dyn.ucr.edu) (Read error: Connection reset by peer)
L976[16:30:50] ⇨ Joins: foxy (~gravityfo@superfox.dyn.ucr.edu)
L977[16:39:26] ⇨ Joins: Girafi (~Girafi@0x555178eb.adsl.cybercity.dk)
L978[17:00:48] ⇦ Quits: Samario (~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You think you are above consequences.)
L979[17:03:57] ⇦ Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L980[17:06:05] ⇦ Quits: Jezza (~Jezza@92.206.161.17) (Ping timeout: 384 seconds)
L981[17:06:27] ⇨ Joins: bjorguv (~reidboyce@c-73-83-133-41.hsd1.wa.comcast.net)
L982[17:08:34] *** illy is now known as illy[Dinner]
L983[17:12:31] ⇦ Quits: bjorguv (~reidboyce@c-73-83-133-41.hsd1.wa.comcast.net) (Quit: bjorguv)
L984[17:14:41] ⇦ Quits: TimRiker (~TimRiker@proxy.lds.org) (Quit: This space intentionally left blank)
L985[17:20:06] ⇦ Quits: founderio (~Thunderbi@p200300C4E3C0C000B3123BE8F53092CB.dip0.t-ipconnect.de) (Quit: founderio)
L986[17:21:35] *** DarkevilAway is now known as Darkevilmac
L987[17:23:40] <shadekiller666> i like how Block.java has getValidRotations() but nothing actually overrides it
L988[17:24:11] <shadekiller666> do any vanilla blocks have a property named "rotation"?
L989[17:24:15] ⇦ Quits: gigaherz (gigaherz@198.red-88-22-37.staticip.rima-tde.net) (Ping timeout: 206 seconds)
L990[17:24:35] ⇨ Joins: gigaherz (gigaherz@198.red-88-22-37.staticip.rima-tde.net)
L991[17:25:26] <shadekiller666> oh, its a forge method :P
L992[17:36:33] <Mraof> How often do mods register recipes in postinit or later?
L993[17:40:27] ⇨ Joins: Waterpicker (~Waterpick@2602:306:35ba:ca40:3d91:e7ea:84b9:b89)
L994[17:42:46] <gigaherz> Mraof: I doubt it's very often, xcept for like, minetweaker/crafttweaker
L995[17:44:20] <Mraof> Alright
L996[17:45:56] <Mraof> I noticed Minestuck's thing where it calculates grist costs based on recipes (which happens in postinit) didn't work for one mod
L997[17:46:07] <Mraof> Because that mod apparently adds its recipes in postinit
L998[17:47:04] <Mraof> So now I'm wondering if I should make it do that later, for mods that add recipes unusually late
L999[17:47:32] ⇦ Quits: AforAnonymous (bitch2k@dyn-050-100.vix2.mmc.at) (Remote host closed the connection)
L1000[17:50:23] ⇨ Joins: Daomephsta (~Leviathan@90.22.226.49.dyn.cust.vf.net.nz)
L1001[17:50:48] ⇦ Quits: ThePsionic (~Psi@ip5457f909.direct-adsl.nl) (Read error: Connection reset by peer)
L1002[17:51:51] ⇦ Quits: AnrDaemon (~ZNC@darkdragon-nln.starlink.ru) (Ping timeout: 206 seconds)
L1003[17:52:50] ⇨ Joins: Falconerd (~falconerd@ppp118-209-74-141.bras1.mel11.internode.on.net)
L1004[18:00:46] <Daomephsta> When attempting to create an IForgeRegistry I noticed that there was little documentation. With some help from here I figured out how to use Forge Registries, so I've decide to make some docs. I have a few questions about Forge Registries. Firstly, why use them? I can think of 3 reason. That IForgeRegistryEntrys have both an RSL id and an integer id, the substitution system, not having to implement your own registry and
L1005[18:00:46] <Daomephsta> that most modders will already be familiar with Forge Registries. The second question is about RegistryEvent. Why is it better to perform registration in RegistryEvent instead of preinit/init/postinit?
L1006[18:01:15] ⇨ Joins: AnrDaemon (~ZNC@darkdragon-nln.starlink.ru)
L1007[18:01:29] <williewillus> forge registries: you get automatic id assignment. no faffing with int ids. they are also per-world, and sync automtaically to the client
L1008[18:03:41] <Daomephsta> Thanks. What about RegistryEvent?
L1009[18:05:12] <williewillus> so you don't have to care about "when should I register this?". I personally haven't switched to them but it's useful to subscribe like that and know it's being done at the right time
L1010[18:06:46] <Daomephsta> Right. So they aren't a standard, more of a recommended solution? There's nothing wrong with registration in preinit/init/postinit?
L1011[18:07:49] <williewillus> it is more recommended
L1012[18:07:57] <williewillus> I just personally have been too lazy to switch ;p
L1013[18:08:37] <Daomephsta> The main thing I was wondering about was inter-mod compat, which AFAIK can't be done in RegistryEvent.
L1014[18:09:05] <Daomephsta> Stuff like Botania's Botanist's Scribing Tools
L1015[18:09:16] <williewillus> yeah
L1016[18:09:26] <williewillus> well, actually that can be done in registryevent
L1017[18:09:42] <williewillus> it's just an if(thaumcraft loaded) { evt.register(blah) }
L1018[18:11:25] <Daomephsta> I think that's everything I wanted to know. Thanks for your time.
L1019[18:11:31] <williewillus> no prob
L1020[18:11:52] ⇦ Quits: Daomephsta (~Leviathan@90.22.226.49.dyn.cust.vf.net.nz) (Quit: Leaving)
L1021[18:11:57] *** illy[Dinner] is now known as illy
L1022[18:18:57] *** gigaherz is now known as ghz|afk
L1023[18:24:40] ⇦ Quits: SquareWheel (~SquareWhe@s0106687f7463986c.ok.shawcable.net) (Quit: Leaving)
L1024[18:25:42] ⇨ Joins: Eragonn1490 (~eragonn14@2607:fb90:1b9f:2f8c:997e:4393:5169:3d65)
L1025[18:25:52] ⇦ Quits: Eragonn1490 (~eragonn14@2607:fb90:1b9f:2f8c:997e:4393:5169:3d65) (Client Quit)
L1026[18:27:11] ⇨ Joins: Naiten (Naiten@77.35.5.218)
L1027[18:40:52] <GeoDoX> Any decent tutorials for custom events? Or links to relevant code? Also, I've read something about transforming the event? Explanation please xD
L1028[18:41:02] <killjoy> look at forge events
L1029[18:41:14] <killjoy> 1. extend event
L1030[18:41:38] <killjoy> 2. subscribe to event
L1031[18:41:49] <GeoDoX> I have, as far as I can tell it's just extending Event, and calling post when necessary?
L1032[18:41:53] <williewillus> yes
L1033[18:41:57] <killjoy> 3. post to eventbus
L1034[18:42:11] <GeoDoX> Is there any reason why you need to subscribe to it?
L1035[18:42:15] <williewillus> killjoy: uh what is step 2 doing?
L1036[18:42:16] <williewillus> yeah
L1037[18:42:23] <williewillus> if you're making one what are you subscribing to? :P
L1038[18:42:32] <killjoy> you don't need to subscribe
L1039[18:42:40] <killjoy> but someone else could
L1040[18:42:52] <killjoy> It was filler while I looked up what the right word was (post)
L1041[18:43:01] <GeoDoX> Alright haha
L1042[18:43:09] <williewillus> lol shulker boxes move items properly but items on top of shulker entities phase through
L1043[18:43:10] <williewillus> gg mojang
L1044[18:43:13] <GeoDoX> So no need to subscribe to it?
L1045[18:43:40] <GeoDoX> The intention is that other mods will
L1046[18:44:06] ⇦ Quits: Naiten (Naiten@77.35.5.218) (Read error: Connection reset by peer)
L1047[18:44:44] <GeoDoX> Will other mods need to mark the subscriber as Optional?
L1048[18:44:53] <williewillus> what does that mean
L1049[18:45:09] <williewillus> if other mods don't want to see the event they just don't subscribe
L1050[18:45:47] <GeoDoX> Like how GuideBook (I think) uses an event to register books, and something about soft dependency?
L1051[18:46:08] <williewillus> oh that's letting others even see the event class
L1052[18:46:12] <williewillus> that's on other mods to do
L1053[18:46:21] <williewillus> (stripping soft deps, etc.)
L1054[18:46:35] <williewillus> as the event firer just make sure the class is in your api package
L1055[18:46:36] <GeoDoX> Is that necessary for other mods to do?
L1056[18:46:36] <Shambling> do shulker boxes have AI?
L1057[18:46:45] <williewillus> Shambling: no, they're TE's :P
L1058[18:47:00] <williewillus> GeoDoX: if they don't want to require your mod, yes
L1059[18:47:01] <Shambling> well that is why, shulker's are mobs. Do you know any other mob that moves blocks or interacts in some way
L1060[18:47:15] <williewillus> Shambling: one would think they use the same motion code
L1061[18:47:21] <GeoDoX> Oh okay, it's suddenly making sense
L1062[18:47:23] <Shambling> maybe they should have made shulkers tile entitites that just fire off entities
L1063[18:47:31] <Shambling> as a reaction to distance t oplayer
L1064[18:47:35] <williewillus> then it can't have AI :P
L1065[18:47:36] <Shambling> that way both could have same code
L1066[18:47:45] <williewillus> they can have the same code without being related by inheritance
L1067[18:47:51] <GeoDoX> In your opinion, is it annoying to do so?
L1068[18:48:10] <williewillus> it's literally "check in AABB, push mobs up", which doesn't depend on either being an entity or TE, so it doesn't make sense for it to behave differently
L1069[18:48:13] <williewillus> GeoDoX: is what annoying?
L1070[18:48:25] <killjoy> interfaces should be used for an api
L1071[18:48:27] <GeoDoX> Having to use Optional
L1072[18:49:02] <williewillus> killjoy: we're talking about events :P
L1073[18:49:12] <killjoy> events can use interfaces afaik
L1074[18:49:33] <williewillus> unless you can subscribe to interface types on the bus which I'm pretty sure you can't
L1075[18:49:35] <Shambling> wait, is it just mobs that shulker's don't interact with?
L1076[18:49:41] <williewillus> Shambling: what do you mean
L1077[18:49:50] <williewillus> it's siupposed to bump any entity on top of it upward
L1078[18:49:52] <williewillus> when it opens
L1079[18:49:55] <GeoDoX> @killjoy, Honestly I don't get how that whole thing works
L1080[18:49:58] <Shambling> nm I thought I saw you say that they don't interact with entities standing on top
L1081[18:50:04] <killjoy> eventbus is magic
L1082[18:50:10] <williewillus> no I said that item entities fall through the shulker when it opens
L1083[18:50:13] <williewillus> but not shulkerbox
L1084[18:50:22] <Shambling> weird
L1085[18:50:23] <williewillus> which is weird because I imagined they would use the same colliding code
L1086[18:50:58] <GeoDoX> @killjoy, I know interfaces (at least the basics of them) but I don't get how they're useful because they can't be instantiated?
L1087[18:51:07] ⇦ Quits: Ashindigo_ (uid202308@id-202308.hathersage.irccloud.com) (Quit: Connection closed for inactivity)
L1088[18:51:15] <killjoy> multiple implementations for a single type
L1089[18:51:19] <GeoDoX> (thinking in terms of API's)
L1090[18:51:46] <killjoy> specification vs implementation
L1091[18:52:03] <killjoy> think bukkit vs paper
L1092[18:52:21] <GeoDoX> bukkit vs paper?
L1093[18:52:26] <killjoy> or spigot
L1094[18:52:45] <LexMobile> Doesn't mean anything
L1095[18:52:46] <GeoDoX> i'm aware of bukkit and spigot, but i've never heard of paper
L1096[18:52:55] <killjoy> Yeah, I don't know where I'm going
L1097[18:53:02] <williewillus> idk why you're talking about ifaces killjoy :P
L1098[18:53:03] <killjoy> it's just another bukkit fork
L1099[18:53:03] <LexMobile> Interfaces are a simple programming concept
L1100[18:53:11] <williewillus> we're trying to implement a subclass of Event
L1101[18:53:15] <GeoDoX> lol
L1102[18:53:22] <LexMobile> And?
L1103[18:53:48] <GeoDoX> @williewillus, it's actually more useful than what I'm leading on. I'm creating an API as well, so whatever helps
L1104[18:54:58] <GeoDoX> If I only have a single data type that needs to be used, is there any point in using interfaces?
L1105[18:55:11] <williewillus> depends :P
L1106[18:55:21] <LexMobile> What do you mean by "API"
L1107[18:55:37] <GeoDoX> I get that other mods can implement different stuff if it's an interface, but my mod isn't going to be aware of that data, so I'm not seeing the point
L1108[18:55:44] <LexMobile> You're speaking in vague terms start being specific
L1109[18:56:05] <killjoy> I find using interfaces helps to avoid using "stub" classes
L1110[18:56:18] <GeoDoX> API meaning that another mod will interact with my mod and my API will be the middle man to handle that
L1111[18:56:22] <williewillus> yeah this discussion is way too vague/abstract :P
L1112[18:56:32] <LexMobile> Again fucking vague
L1113[18:56:33] <GeoDoX> I'll lay it all out haha
L1114[18:56:33] <killjoy> e.g. a dummy class with method names with an empty body
L1115[18:57:13] <killjoy> interfaces also only expose things you want exposed.
L1116[18:57:40] <GeoDoX> My mod is going to display tooltips for inventory slots to provide a basic explanation of what the slot is used for, ex: bottom furnace slot will display a "Fuel" tooltip.
L1117[18:57:52] ⇦ Quits: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com) (Quit: Leaving)
L1118[18:58:07] <GeoDoX> Other mods will be able to use my API to register a tooltip for their slots in their guis
L1119[18:58:23] <killjoy> might as well use intermod-comms
L1120[18:58:39] <LexMobile> Okay, what data needs to be passed?
L1121[18:58:52] <LexMobile> What identifiers are you using
L1122[18:58:59] <LexMobile> If it's just another mod feeding
L1123[18:59:05] <GeoDoX> They need to make a call to my registry for each slot that will have a tooltip
L1124[18:59:14] <LexMobile> You data then no you don't need anything the modder can implement
L1125[18:59:41] <LexMobile> However
L1126[18:59:45] <GeoDoX> identifiers as in?
L1127[19:00:03] <LexMobile> How the fuck are you gunna tell two slots apart
L1128[19:00:19] <GeoDoX> @killjoy, that was a recommendation but I honestly don't grasp it
L1129[19:00:36] <GeoDoX> Storing the slot
L1130[19:00:49] <killjoy> some mod sends you a nbttagcompound
L1131[19:00:53] <killjoy> you parse that for data you need
L1132[19:00:57] <LexMobile> Intermodal comma are fairly simple mods shove shit in it, and your mod can read things for your mod
L1133[19:01:20] <LexMobile> No
L1134[19:01:20] <LexMobile> You don't store the Slot
L1135[19:01:44] <LexMobile> That would be retarded as the slot instances are regenerated every time you open a GUI
L1136[19:01:50] <GeoDoX> https://hastebin.com/alagowiwux Some code, this is the data that will be registered
L1137[19:02:05] <GeoDoX> I wasn't aware of that
L1138[19:02:13] <killjoy> where is this called?
L1139[19:02:25] <killjoy> I suggest using an int
L1140[19:02:30] <killjoy> or 2
L1141[19:02:42] <killjoy> x/y coords
L1142[19:02:51] <LexMobile> GUI class + isn't for slot index should work
L1143[19:03:05] <LexMobile> Int*
L1144[19:03:31] <GeoDoX> GuiContainer?
L1145[19:03:44] <LexMobile> No
L1146[19:03:44] <killjoy> You should also add a configuration for this
L1147[19:03:53] <LexMobile> Whatever GUI class holds the slots
L1148[19:04:17] <LexMobile> And yes config file would peobably be the way to go
L1149[19:04:19] <GeoDoX> Which GUI class would you recommend? I'm not providing one
L1150[19:04:26] <LexMobile> Or more specifically a Lang file
L1151[19:04:37] <LexMobile> You're not THEY ARE
L1152[19:04:38] <killjoy> Which guis does this occur in?
L1153[19:04:49] <LexMobile> Whatever fucking GUI they have the slots on
L1154[19:05:05] <killjoy> e.g. in a chest? crafting table? their inventory?
L1155[19:05:16] <LexMobile> You really haven't thought this through much, or at least have no idea how guis and slots work
L1156[19:05:20] <GeoDoX> Any, as long as they have slots in it, which is why I'm trying to figure out which class to require a param for
L1157[19:05:33] <LexMobile> You don't
L1158[19:05:37] <GeoDoX> It's a learning experience haha
L1159[19:05:45] <LexMobile> You require a Class
L1160[19:06:03] <LexMobile> As in a parameter of type Class
L1161[19:06:33] <GeoDoX> Makes sense, so what would I do with said class?
L1162[19:06:41] <LexMobile> So you can be like If currentScreen.getClass() == registeredClass then do shit
L1163[19:07:05] <killjoy> Personally, I would use a class map
L1164[19:07:08] <GeoDoX> Ahh, that makes more sense
L1165[19:07:18] <GeoDoX> How would I address the slots then>?
L1166[19:07:24] <killjoy> use an int
L1167[19:07:34] <killjoy> for the array index
L1168[19:07:56] <GeoDoX> The reason why I was thinking GuiContainer is because it has an inventorySlots field
L1169[19:08:39] <GeoDoX> @killjoy, if I don't know which class the slots are in, then I dont know how I'd access the slots
L1170[19:09:25] <killjoy> (GuiContainer) mc.currentScreen
L1171[19:10:30] ⇨ Joins: Brokkoli (~Brokkoli@p5B23C6BC.dip0.t-ipconnect.de)
L1172[19:11:10] <GeoDoX> Why store a Class if it's safe to assume it's a GuiContainer?
L1173[19:11:36] <killjoy> just because gui instanceof GuiContainer doesn't mean gui.getClass() == GuiContainer.class
L1174[19:11:48] <GeoDoX> That's what I'm saying
L1175[19:12:21] <killjoy> You don't need access to sub classes
L1176[19:13:02] <GeoDoX> No but there's no guarantee that the mod is extending GuiContainer
L1177[19:13:14] <GeoDoX> gui, not mod
L1178[19:13:40] <killjoy> But it's likely it is
L1179[19:13:56] <killjoy> find an example of a container gui which doesn't extend GuiContainer
L1180[19:14:15] <GeoDoX> ghz did yesterday haha
L1181[19:15:15] <GeoDoX> I figured that if a mod is crazy enough to implement their own gui, then chances are they're not going to use this haha
L1182[19:15:53] <killjoy> they'll probably extend GuiContainer
L1183[19:16:02] <killjoy> because they're supposed to if it deals with an inventory
L1184[19:16:12] <killjoy> am I wrong?
L1185[19:20:05] <GeoDoX> I don't think so, are GuiContainer.inventorySlots used consistently?
L1186[19:22:15] <killjoy> if it's vanilla and forge doesn't provide an alternative, it's the right way to do it
L1187[19:32:38] <LexMobile> Mm
L1188[19:34:28] <GeoDoX> I think I should be able to continue with that, thanks willie, killjoy, and lex
L1189[19:34:58] <GeoDoX> @killjoy, if you wanted to go into more detail about IMC, I'm all ears
L1190[19:35:18] <killjoy> remind me what IMC is?
L1191[19:35:25] <GeoDoX> intermod-comms
L1192[19:35:36] <killjoy> there's not much to say
L1193[19:36:25] <GeoDoX> I've never used it before so I don't even know where to start, and the only thing I know about it is that it's for mods to "talk" to each other, at least as far as I know
L1194[19:37:39] ⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping timeout: 206 seconds)
L1195[19:40:23] <Shambling> mekanism ores are very strange
L1196[19:40:41] <Shambling> I've managed to generate ore variants for all stones... except osmium
L1197[19:41:30] <Shambling> if I use give name OreBlock 1 0, it gives me osmium, so the meta is 0. yet when I make my strain of marble osmium based off of osmium, when you break it and it drops a block of osmium, it drops nothing and leaves a phantom block
L1198[19:45:18] ⇨ Joins: AstralSorcerer (~AstralSor@128.151.114.194)
L1199[19:47:17] <killjoy> GeoDoX, see FMLInterModComms
L1200[19:48:21] <killjoy> https://github.com/MinecraftForge/MinecraftForge/blob/1.11.x/src/main/java/net/minecraftforge/fml/common/event/FMLInterModComms.java
L1201[19:48:26] ⇦ Quits: cpup (~cpup@32.218.117.201) (Ping timeout: 180 seconds)
L1202[20:00:40] ⇨ Joins: CoolerExtreme (~CoolerExt@45.249.156.97)
L1203[20:02:36] ⇦ Quits: shadekiller666 (~shadekill@adsl-108-71-36-4.dsl.lsan03.sbcglobal.net) (Quit: Leaving)
L1204[20:03:00] ⇦ Quits: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit: Leaving)
L1205[20:06:51] ⇦ Quits: Cooler (~CoolerExt@45.249.156.108) (Ping timeout: 384 seconds)
L1206[20:15:02] ⇨ Joins: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com)
L1207[20:15:12] <williewillus> !gp p_150804_1_
L1208[20:18:44] ⇦ Quits: ghz|afk (gigaherz@198.red-88-22-37.staticip.rima-tde.net) (Ping timeout: 206 seconds)
L1209[20:20:37] *** Vigaro is now known as V
L1210[20:21:49] ⇨ Joins: gigaherz (gigaherz@198.red-88-22-37.staticip.rima-tde.net)
L1211[20:27:32] ⇨ Joins: Shambling (~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L1212[20:28:11] <Shambling> is there a way to tell if an event has been fired once, and cancel it from firing automatically again? I'd like to see about making an item that when held stops you from breaking more than one block per left click
L1213[20:28:38] <Shambling> I'd imagine its pretty simple, but just want to make sure before attempting to go through the steps and coding it
L1214[20:29:38] <Shambling> or is onleftclick just going to keep firing if the player keeps holding down left click?
L1215[20:31:35] <GeoDoX> I'm not sure, so all I can say is set up a test case
L1216[20:31:49] <killjoy> here's an idea
L1217[20:32:03] <killjoy> subscribe to the block break event, then reset the cooldown
L1218[20:34:52] <Shambling> I'll try that first. The next thing I could think of would be temporarily setting it so the player can't break blocks until they release the left mouse button. But that sounds like it would work smoother
L1219[20:36:10] <Shambling> could always override block break speed to always be a set number when wearing the item too I suppose, but I kind of want to leave the "instant break" of being insanely enchanted, but want more fine control
L1220[20:38:30] *** Shambling is now known as ShamblingZzz
L1221[20:42:02] <Waterpicker> How do I get a BlockPos from the string idea like "minecraft:sand[variant=sand]"
L1222[20:42:14] <Waterpicker> *a IBlockState.
L1223[20:43:58] <williewillus> Waterpicker: see how setblock does it
L1224[20:43:59] <williewillus> in 1.11
L1225[20:44:00] ⇨ Joins: CoolerExtreme__ (~CoolerExt@45.249.156.97)
L1226[20:44:14] <Waterpicker> it's 1.10.2 I'm looking for
L1227[20:44:28] <killjoy> blockstates were added in 1.8
L1228[20:44:31] <killjoy> should be the same concept
L1229[20:44:43] <williewillus> yeah youcan look at the logic
L1230[20:44:56] <williewillus> they added support in 1.11 for using variant strings in /setblock instead of meta
L1231[20:45:02] <williewillus> so just looking at the logic might be helpful
L1232[20:45:10] <Waterpicker> forge
L1233[20:45:19] <williewillus> ?
L1234[20:45:27] <Waterpicker> I'm using forge ><
L1235[20:45:35] <williewillus> and?
L1236[20:45:43] <williewillus> I don't understand :P
L1237[20:46:18] <Waterpicker> why wouldn't there be direct usage of that id.
L1238[20:46:30] <williewillus> what are you talking about?
L1239[20:46:46] ⇦ Quits: CoolerExtreme (~CoolerExt@45.249.156.97) (Ping timeout: 206 seconds)
L1240[20:47:02] <Waterpicker> creating IBlockState based on a string id.
L1241[20:47:20] <williewillus> minecraft:sand[variant=sand] is not a string id, it's an id + a variant string
L1242[20:47:44] <williewillus> so I'm saying, you can look at 1.11 code to get an *idea* how to parse variant strings into an IBlockState object
L1243[20:47:56] <williewillus> specifically, the /setblock command in 1.11 does something very similar
L1244[20:52:12] <GeoDoX> !gf Slot.xDisplayPosition
L1245[20:52:43] <GeoDoX> Was that changed?
L1246[20:53:03] <killjoy> use !fh for field history
L1247[20:53:16] <GeoDoX> !fh Slot.xDisplayPosition
L1248[20:53:23] <GeoDoX> Thank you
L1249[20:58:59] <tterrag> fry|sleep: hm...it looks like forge lighting will apply shading twice to a model with overlapping quads (i.e. a translucent overlay) which causes strange artifacts
L1250[20:59:14] ⇦ Quits: sinkillerj (~sinkiller@nc-67-232-15-221.dhcp.embarqhsd.net) (Quit: またね)
L1251[20:59:53] <tterrag> wait....apparently not, it's just straight up broken
L1252[21:00:09] <tterrag> this simple structure causes some pretty ugly artifacts http://i.imgur.com/f2lEB9J.png
L1253[21:02:43] ⇦ Quits: Wastl2_ (~Wastl2@x4e3441a1.dyn.telefonica.de) (Ping timeout: 206 seconds)
L1254[21:04:20] <GeoDoX> Any plans to use discord (possibly instead of) along with irc?
L1255[21:04:59] <killjoy> I'd join ^_^
L1256[21:05:00] ⇨ Joins: Wastl2 (~Wastl2@x4e341384.dyn.telefonica.de)
L1257[21:06:01] <GeoDoX> I agree, I don't think it would be *too* difficult to transfer the functionality of MCPBot
L1258[21:06:28] <williewillus> i mean what does it offer over irc :P
L1259[21:06:43] <GeoDoX> Well, in most cases, a prettier UI
L1260[21:06:56] <mezz> there's definitely no plans, it has been brought up before
L1261[21:07:04] <GeoDoX> and friendlier imo
L1262[21:07:06] <mezz> IRC is forever
L1263[21:07:10] <williewillus> i don't care about prettier ui >_>
L1264[21:07:11] <killjoy> Make a server and link it. maybe people will join
L1265[21:07:12] <killjoy> maybe
L1266[21:07:18] <GeoDoX> I didn't think so, but who knows
L1267[21:07:27] <GeoDoX> Alrighty @killjoy
L1268[21:07:31] <williewillus> discord consumes more resources than IRC for basically the same service
L1269[21:07:53] <killjoy> afaik, there's no text client for discord
L1270[21:08:21] <killjoy> unless someone makes a bot for it
L1271[21:09:33] ⇨ Joins: Maxwell (~Maxwell@pool-108-50-151-21.nwrknj.fios.verizon.net)
L1272[21:10:26] <GeoDoX> exactly :)
L1273[21:11:18] <GeoDoX> It's up :P https://discord.gg/jzjdMAN
L1274[21:12:26] <progwml6> most of the modern chat clients use chromium underneath them
L1275[21:12:57] <progwml6> they use the thing github built for atom
L1276[21:13:15] <williewillus> which is heavy as hell compared to a simple irc client in C/C++ >_>
L1277[21:13:40] * illy wants a weechat plugin for discord
L1278[21:14:21] <williewillus> how do I rename a git branch
L1279[21:14:23] <williewillus> before I push it
L1280[21:14:31] <GeoDoX> I've never seen a decent looking, easy to use IRC client, which is why I like discord
L1281[21:14:36] <mezz> git checkout -b newBranchName
L1282[21:14:37] <killjoy> git branch name
L1283[21:14:44] <killjoy> *just create a new branch
L1284[21:14:55] <williewillus> oh lol, thanks
L1285[21:15:04] <williewillus> GeoDoX: what's decent looking? :P
L1286[21:15:17] <GeoDoX> Discord ;)
L1287[21:15:52] <williewillus> this is what mine looks like. gets the job done, and doesnt gobble more resources than a chat client should use :P https://gyazo.com/2ccc3ff98e4104898df6821fab39c946
L1288[21:16:33] ⇦ Quits: TechnicianLP2 (~Technicia@p4FE1C779.dip0.t-ipconnect.de) (Ping timeout: 384 seconds)
L1289[21:16:47] <GeoDoX> @williewillus, https://puu.sh/txEAc/ba8cb33913.png
L1290[21:17:07] <killjoy> ?
L1291[21:17:21] <killjoy> anyone have a client that supports emoji?
L1292[21:17:25] <GeoDoX> nope
L1293[21:17:27] <williewillus> hexchat can see it
L1294[21:17:41] <GeoDoX> I'm using hexchat, and I can't see it
L1295[21:17:45] <mezz> I'm using hexchat and I can't see it either
L1296[21:17:50] <williewillus> are you guys on windows?
L1297[21:17:53] <mezz> yes
L1298[21:17:53] <GeoDoX> yerp
L1299[21:17:54] <killjoy> square square
L1300[21:18:17] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:e43d:c3fb:ed94:a123)
L1301[21:18:24] <williewillus> i'm on linux_64, hexchat 2.12.4. might be some fonts I have
L1302[21:18:42] <GeoDoX> Someone else join the discord hahaha
L1303[21:18:49] <mezz> probably font-dependent yeah
L1304[21:19:08] <mezz> GeoDoX, what are you accomplishing with that discord? there are several minecraft discords you can join, just not an official Forge one
L1305[21:19:11] <killjoy> Oh, I can see it now
L1306[21:19:21] <killjoy> I switched to a emoji supporting font
L1307[21:19:27] <mezz> which font?
L1308[21:19:39] <killjoy> EmojiOne
L1309[21:19:42] <GeoDoX> Something more preferable
L1310[21:19:59] <mezz> weird that Arial does not have emoji
L1311[21:20:33] <GeoDoX> I'm sure it wouldn't be hard to have a bot that sends between Discord and IRC, so if you'd still prefer IRC then no worries
L1312[21:20:54] <killjoy> Then what would be the point?
L1313[21:21:17] <GeoDoX> Some people (like me) prefer alternatives
L1314[21:21:41] <williewillus> no but the question is
L1315[21:21:46] <williewillus> what does the alternative offer you
L1316[21:21:50] <williewillus> that the original does not?
L1317[21:21:58] <GeoDoX> Honestly, I hate IRC with a passion because there isn't a decent client out there
L1318[21:22:06] <williewillus> what's wrong with hc?
L1319[21:22:08] <killjoy> hexchat
L1320[21:22:14] <illy> weechat
L1321[21:22:19] <illy> irssi
L1322[21:22:19] <killjoy> there's just no good mobile client
L1323[21:22:31] <illy> there isnt one for discord either
L1324[21:22:36] <tterrag> GeoDoX: there is a server, but it's quasi-private
L1325[21:22:39] <GeoDoX> imo they look terrible and they're not as easy to use
L1326[21:22:45] <tterrag> if you're a mod dev, just ask though, I can invite you (am admin)
L1327[21:22:46] <killjoy> discord has a official app
L1328[21:23:09] <illy> yes even chris says it sucks :p
L1329[21:23:15] <GeoDoX> tterrag, why not :)
L1330[21:23:20] <killjoy> Better than skype
L1331[21:23:34] <illy> well that just not trying hard :D
L1332[21:23:37] <williewillus> GeoDoX: i mean, what else is there other than "channel list -> esper -> connect -> /join #channel"
L1333[21:23:38] <tterrag> I'll go ahead and just mention this here, if you're a mod dev (new or old :P ) and want to join a discord of other mod devs, go ahead and ping me
L1334[21:24:02] <killjoy> tterrag,
L1335[21:24:16] ⇨ Joins: Naiten (Naiten@77.35.172.47)
L1336[21:24:19] <mezz> there's also the ftb subreddit discord
L1337[21:24:44] <tterrag> GeoDoX: killjoy: invite sent
L1338[21:24:55] <tterrag> mezz: yes, but that's more focused on players (mod devs are welcome though!)
L1339[21:25:04] <GeoDoX> williewillus, I only EVER use IRC for modding, which makes IRC pointless for me in the first place
L1340[21:25:04] <tterrag> and it's public, just check the top of /r/feedthebeast
L1341[21:31:03] ⇦ Quits: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com) (Quit: Leaving)
L1342[21:33:28] ⇨ Joins: p455w0rd (~p455w0rd@c-68-39-246-30.hsd1.in.comcast.net)
L1343[21:36:08] <Maxwell> tterrag: I'll take a Discord invite
L1344[21:46:56] ⇦ Quits: InusualZ (InusualZ@2a06:a006:c5:8f::3) (Ping timeout: 180 seconds)
L1345[21:51:59] ⇨ Joins: poiuy_qwert (~poiuy_qwe@135-23-136-82.cpe.pppoe.ca)
L1346[21:55:15] ⇨ Joins: TechnicianLP2 (~Technicia@p4FE1C4A3.dip0.t-ipconnect.de)
L1347[22:04:30] <Naiten> Discord? is there Forge discord now?
L1348[22:07:11] <tterrag> no
L1349[22:07:21] <tterrag> but there is a discord server comprised mostly of other modders
L1350[22:09:49] <Naiten> okay
L1351[22:09:56] ⇦ Quits: V (Vigaro@2a06:a006:c5:8f::4) (Ping timeout: 180 seconds)
L1352[22:14:00] *** Abrar|gone is now known as AbrarSyed
L1353[22:20:20] ⇨ Joins: McJty (~jorrit@94-224-154-146.access.telenet.be)
L1354[22:20:24] ⇦ Quits: poiuy_qwert (~poiuy_qwe@135-23-136-82.cpe.pppoe.ca) (Quit: Leaving)
L1355[22:25:43] ⇨ Joins: InusualZ (InusualZ@2a06:a006:c5:8f::3)
L1356[22:33:06] ⇦ Quits: Lathanael|Away (~Lathanael@p54961190.dip0.t-ipconnect.de) (Ping timeout: 206 seconds)
L1357[22:36:28] ⇦ Quits: GeoDoX (~GeoDoX@bas1-cornwall24-76-64-18-64.dsl.bell.ca) (Quit: Leaving)
L1358[22:38:12] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:e43d:c3fb:ed94:a123) (Read error: Connection reset by peer)
L1359[22:38:35] ⇨ Joins: Lathanael|Away (~Lathanael@p549608B5.dip0.t-ipconnect.de)
L1360[22:44:13] ⇦ Quits: Akkarin (~Akkarin@bnc.basinmc.org) (Ping timeout: 189 seconds)
L1361[22:44:19] ⇨ Joins: Akkarin (~Akkarin@bnc.basinmc.org)
L1362[22:45:49] ⇦ Quits: Naiten (Naiten@77.35.172.47) (Read error: Connection reset by peer)
L1363[22:48:11] *** TTFTCUTS is now known as TTFT|Away
L1364[23:17:36] ⇦ Quits: useless2764 (useless@meerkat.danmackay.com) (Quit: ZNC - http://znc.in)
L1365[23:17:47] ⇨ Joins: useless2764 (useless@meerkat.danmackay.com)
L1366[23:32:07] ⇦ Quits: McJty (~jorrit@94-224-154-146.access.telenet.be) (Quit: Leaving)
L1367[23:55:13] ⇦ Quits: Savos (~Savos@CPEf0f24903d453-CMf0f24903d450.cpe.net.cable.rogers.com) (Ping timeout: 384 seconds)
<<Prev Next>> Scroll to Top