<<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
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
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?
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
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.
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
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
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:
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
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
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:
L171[06:06:50] <Falconerd> ahh, that tool
is pretty cool
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
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?
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
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
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.
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)
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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 :)
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 ;)
L1288[21:16:33]
⇦ Quits: TechnicianLP2
(~Technicia@p4FE1C779.dip0.t-ipconnect.de) (Ping timeout: 384
seconds)
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)