<<Prev
Next>>
Scroll to Bottom
Stuff goes here
L1[00:03:56] ⇦
Quits: TwistedCode (~macks2008@192.99.226.232) (Ping timeout: 186
seconds)
L2[00:06:25] ⇨
Joins: Zesty (~Zesty@180.97.28.12)
L4[00:07:37] <Disconsented> (Potion
hud/inventory effects)
L5[00:17:06] ***
TTFTCUTS is now known as TTFT|Away
L6[00:18:43] <killjoy> my xbox periodically
says I have networking hardware issues
L7[00:18:58] <killjoy> If unplugging my xbox
fixes the problem, is it really a hardware issue?
L8[00:24:03] ⇨
Joins: Twisted_Code (~macks2008@dusky.horse)
L9[00:32:44] <FusionLord> Could be a heat
issue with a piece of hardware and unplugging should
"Fix" all/none of the issues... as with no power you
won't get the issues but you won't get the desired results.
L10[00:32:45] ***
Keridos is now known as Keridos|away
L11[00:33:51] <killjoy> I bet turning off
always on mode will fix it
L12[00:34:00] <killjoy> or maybe this
november update will
L13[00:34:47] ⇦
Quits: Zed (~Zed@21.243.7.51.dyn.plus.net) (Remote host closed the
connection)
L14[00:35:37] ⇨
Joins: Zed (~Zed@21.243.7.51.dyn.plus.net)
L15[00:44:19] ⇦
Quits: Brokkoli (~Brokkoli@p2E5B1DD8.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))
L16[00:52:06] ⇦
Quits: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
(Quit: ChatZilla 0.9.93 [Firefox 50.0/20161104212021])
L17[00:57:16] ⇨
Joins: Eragonn1490 (~eragonn14@172.56.20.212)
L18[01:01:20] ⇨
Joins: iari (~iari___@evana.futhark24.org)
L19[01:06:44] ⇨
Joins: MrIbby (~MrIbby@173.85.192.160)
L20[01:06:46] ⇦
Quits: MrIbby (~MrIbby@173.85.192.160) (Remote host closed the
connection)
L21[01:06:53] ⇨
Joins: MrIbby (~MrIbby@173.85.192.160)
L22[01:07:23] <Disconsented> Welp
L23[01:07:27] <Disconsented> I know the
issue
L24[01:08:16] <Disconsented> Needs to be
called client side as well
L26[01:10:11] <Disconsented> without
destroying the server side logic?
L27[01:11:16] <Ordinastie> hum what ?
L28[01:12:04] <Disconsented> TL;DR potion
works fine but icon doesn't render because its not being added
client side
L29[01:12:38] <Ordinastie> then add it
client side too, what's the problem ?
L31[01:13:25] <Disconsented> Logic relies
on that
L32[01:14:02] <Ordinastie> first, why do
you need to cast ?
L33[01:14:23] <Ordinastie> second, I still
don't see the problem
L34[01:15:16] <Disconsented> So I can get
back the enum in a useful state /?
L35[01:15:16] <Disconsented> Thats server
side only code
L37[01:15:29] <Disconsented> hence
that
L38[01:16:05] <Disconsented> But for potion
effects to render, I need that client side
L39[01:16:14] <Ordinastie> can you show
BlockCrystal.PROPERTY_ENUM ?
L40[01:16:55] <Ordinastie> as for client,
you either need to do the process client side too, or send a packet
to clients to apply the potion I think
L41[01:17:03] <Ordinastie> how are other
potions usually applied ?
L43[01:17:34] <Ordinastie> (the
property)
L44[01:18:39] <Disconsented> I assume you
mean by Minecraft
L45[01:18:53] <Ordinastie> yeah, or maybe
other mods
L46[01:19:43] <Disconsented> Vanilla applys
it on ItemPotion#onItemFinish
L47[01:19:51] <Ordinastie> called both
sides I gues
L48[01:19:52] <Ordinastie> s
L49[01:28:15] ⇦
Quits: McJty (~jorrit@94-225-196-91.access.telenet.be) (Quit:
Leaving)
L50[01:32:11] ⇦
Quits: KnightMiner
(~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net) (Quit:
Leaving)
L51[01:35:08] ⇦
Quits: Eragonn1490 (~eragonn14@172.56.20.212) (Ping timeout: 198
seconds)
L52[01:35:09] ⇦
Quits: MrIbby (~MrIbby@173.85.192.160) (Read error: Connection
reset by peer)
L53[01:35:17] ⇨
Joins: MrIbby (~MrIbby@173.85.192.160)
L54[01:35:18] <Disconsented> Is there
anything that needs to be done to have BlockStates exist client
side Ordinastie?
L55[01:35:33] <Ordinastie> they always
exist on the client
L58[01:36:24] ***
Mine|away is now known as Mine|dreamland
L59[01:36:49] ***
tterrag|away is now known as tterrag|ZZZzzz
L60[01:37:54] <Ordinastie> that's weird,
you don't have the block at the position, yet the TE exists
L61[01:38:20] <Ordinastie> (I'd still like
to see the definition of your property enum though)
L63[01:39:05] <Disconsented> Ehh Ill just
push changes to the repo
L64[01:39:09] <Ordinastie> show
BlockCrystal
L66[01:42:42] ⇨
Joins: AstralSorcerer
(~AstralSor@cpe-66-66-15-47.rochester.res.rr.com)
L67[01:43:39] <Ordinastie> Disconsented,
doesn't your IDE tell you that you don't need to cast your value
into EnumType ?
L68[01:44:16] <Disconsented> It is casted
/?
L69[01:44:31] ⇨
Joins: DigitalFeonix
(webchat@69-10-213-158.rainierconnect.com)
L70[01:44:51] <Ordinastie> you do, but
don't need to
L71[01:44:55] <Ordinastie> getValue()
return T
L72[01:47:21] ***
covers1624_ is now known as covers1624
L73[01:48:49] <Disconsented> I don't
understand, as far as I am aware Java doesn't allow you to set
method return types without overriding the method
L74[01:50:11] <Disconsented> And since
thats from vanilla I can't do that without bytecode
manipulation
L75[01:50:24] ⇦
Quits: MrIbby (~MrIbby@173.85.192.160) (Remote host closed the
connection)
L76[01:50:24] <Ordinastie> that's what
generics are for
L77[01:50:30] <Ordinastie> you should read
about that
L78[01:50:34] <Disconsented> Even then from
what i understand about the JVM, is that it is smart enough that it
will remove the cast internally if it can
L79[01:51:08] ⇦
Quits: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp) (Ping
timeout: 186 seconds)
L80[01:51:30] <Disconsented> I dont see how
that helps here, I need that specific value which a generic type
doesn't allow me to access
L81[01:52:24] <Ordinastie> getValue()
returns a type that depends on the generic of the IProperty you
pass
L82[01:52:48] <Ordinastie> ah, I missed
it
L83[01:52:56] <Ordinastie> the issue is
your field
L84[01:53:01] <Ordinastie> you don't
declare the generic there
L85[01:53:30] <Disconsented> You mean in
BlockCrystal?
L86[01:53:34] <Ordinastie> yes
L87[01:53:42] <Disconsented> Ah I see
now
L88[01:53:43] <Ordinastie> it should be
PropertyEnum<EnumType>
L89[01:53:48] <Disconsented> Yeah just did
that
L90[01:54:00] <Disconsented> Neat
L91[01:54:11] <Ordinastie> you should
configure the compiler for the IDE to warn about those things
L92[01:54:53] ⇦
Quits: Doty1154 (~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net)
(Read error: Connection reset by peer)
L93[01:55:26] <Disconsented> Yeah that will
be handy later
L94[01:55:34] <Disconsented> but this
dosen't really solve my problem
L95[01:55:40] <Ordinastie> true
L96[01:55:48] <Ordinastie> but I fear your
problem is a vanilla issue
L97[01:56:08] <Disconsented> So bite the
bullet and send a packet?
L98[01:56:09] <Ordinastie> although I never
had this issue inside the TE directly
L99[01:56:38] <Ordinastie> try to find out
why you don't have the correct block for the position on the
client
L100[01:56:46] <Ordinastie> that shouldn't
really happen
L101[01:57:03] <Ordinastie> also, when
does it happen ?
L102[01:57:32] <Disconsented> When the TE
ticks
L103[01:58:34] <Ordinastie> it
systematically crash ?
L104[02:00:03] <MCPBot_Reborn> [TEST CSV]
Pushing snapshot_20161126 mappings to Forge Maven.
L105[02:00:07] <MCPBot_Reborn> [TEST CSV]
Maven upload successful for mcp_snapshot-20161126-1.11.zip
(mappings = "snapshot_20161126" in build.gradle).
L106[02:00:18]
⇨ Joins: Noppes
(~Noppes@ip56530f2e.direct-adsl.nl)
L107[02:01:59] <Disconsented> Block Cords
arnt the issue
L108[02:02:07] <Disconsented> At least I
dont think so
L109[02:02:21] <Disconsented> Logged the
side + cords
L110[02:02:24] <Disconsented> Got a
match
L111[02:02:48] <Me4502> what's the thing I
need to do to allow a mod on the server without it on the client -
but still allowing it to be on the client?
L112[02:02:57] <Me4502> Like, I need it
optional for it to be installed on the client
L113[02:03:15] <Ordinastie>
acceptableRemoteVersion=* IIRC
L114[02:03:21] <Me4502> Ah, thanks
L115[02:04:49] <Ordinastie> Disconsented,
if you check for the block first before accessing the blockState,
does it resolve itself the next tick ?
L116[02:05:46] <Me4502> yeah that worked,
thanks
L117[02:06:53] <Ordinastie> you can
consider a vanilla bug I think then
L118[02:07:05] <Ordinastie> wait, no, how
is that even possible ?
L119[02:07:41] <Ordinastie> wait never
mind, I should have read the name ><
L120[02:07:46] <Ordinastie> Me4502, you're
welcome
L121[02:09:46] ⇦
Quits: Chais (~Chais@62-178-210-212.cable.dynamic.surfer.at) (Read
error: Connection reset by peer)
L122[02:12:02] ⇦
Quits: VikeStep (~VikeStep@101.184.229.226) (Ping timeout: 384
seconds)
L123[02:12:47]
⇨ Joins: Chais
(~Chais@62-178-210-212.cable.dynamic.surfer.at)
L124[02:17:03]
⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L125[02:20:54] ⇦
Parts: DigitalFeonix (webchat@69-10-213-158.rainierconnect.com)
())
L127[02:23:01] <Ordinastie> well, if you
keep isRemote...
L128[02:23:08] <Disconsented> ...
L129[02:23:33] <Ordinastie> or does it
also happen server side too ?
L130[02:23:57] <Disconsented> That was an
oversight
L131[02:24:02] <Ordinastie> k :p
L132[02:25:22] <Disconsented> Same
issue
L133[02:26:56] <Ordinastie> same issue
what ?
L136[02:28:46] <Ordinastie> that's not
possible to what your block check and then still have the wrong
block in your method below
L137[02:29:45]
⇨ Joins: DigitalFeonix
(webchat@69-10-213-158.rainierconnect.com)
L138[02:29:55] <Ordinastie> wait
L139[02:30:09] <Ordinastie> ...
L140[02:30:16] <Ordinastie> what does
explode do ... ?
L141[02:31:34] <Disconsented> yep
L142[02:31:37] <Disconsented> thats
it
L143[02:31:40] <Disconsented> Dont know
why
L144[02:31:41] <Disconsented> but that
is
L145[02:31:57] <Ordinastie> let just say
that wasn't very smart :p
L146[02:32:53] <Disconsented> What its
meant to do, is explode if the ticker is 0. Which should be -1
unless some other conditions are met
L147[02:33:05] ⇦
Parts: DigitalFeonix (webchat@69-10-213-158.rainierconnect.com)
())
L148[02:33:36] <Ordinastie> whatever the
condition, that's probably something that should be done last
L149[02:33:46]
⇨ Joins: DigitalFeonix
(webchat@69-10-213-158.rainierconnect.com)
L150[02:34:27] <Ordinastie> however, I
wonder how did that not crash on the server...
L151[02:34:32] <Ordinastie> DigitalFeonix,
read the rules
L152[02:34:47] <Disconsented> Oh
well
L153[02:34:52] <Disconsented> Thanks for
wasting your time with me
L154[02:35:51] ⇦
Quits: DigitalFeonix (webchat@69-10-213-158.rainierconnect.com)
(Client Quit)
L155[02:36:36]
⇨ Joins: DigitalFeonix
(~reedt@69-10-213-158.rainierconnect.com)
L156[02:36:54] <DigitalFeonix> can someone
help a newbie?
L157[02:36:59] <Disconsented> Amusing that
this was exploding client side only
L158[02:37:42] <DigitalFeonix> I am new to
modding and Java and thought I would cut my teeth on something
simple
L159[02:37:58] <DigitalFeonix> So, today I
started created a mod that adds just 1 block
L160[02:38:15] <DigitalFeonix> a solid
block that can hydrate farmland
L161[02:38:35] <DigitalFeonix> I got
everything working, but found that if I click it with an empty
bucket it crashes
L163[02:39:29] <DigitalFeonix> basically
it comes down to line 71 in ItemBucket.java
L164[02:39:42] <Ordinastie> Disconsented,
probably because you're missing a few sync methods
L165[02:39:45] <DigitalFeonix> if
(material == Material.WATER &&
((Integer)iblockstate.getValue(BlockLiquid.LEVEL)).intValue() ==
0)
L166[02:39:53] <Disconsented> Which ones
Ordinastie?
L167[02:40:38] <DigitalFeonix> I'm faking
the water material to get hydration to work, but it crashes on
attempting to get the fluid level
L168[02:40:57] <Ordinastie> DigitalFeonix,
as the error says
L169[02:41:08] <Ordinastie> it queries for
a property in the block that your block doesn't have
L170[02:41:29] <DigitalFeonix> I tried
putting that property on and it crashed as well
L171[02:41:31] <Ordinastie> Disconsented,
the ones commented
L172[02:41:46] <Disconsented> Ah so I need
to implement those
L173[02:41:47] <Ordinastie> DigitalFeonix,
not the same crash
L174[02:41:47] <Disconsented> ty
L175[02:42:03] <DigitalFeonix> from that
crash log... // Surprise! Haha. Well, this is awkward.
L176[02:42:03] <DigitalFeonix> Time:
11/25/16 11:23 PM
L177[02:42:03] <DigitalFeonix>
Description: Initializing game
L178[02:42:03] <DigitalFeonix>
java.lang.IllegalArgumentException: Don't know how to convert
hydrogel:blockHydroGel[level=0] back into data...
L179[02:42:07] <Ordinastie> Disconsented,
the syncing is a bit of a mess in vanilla I feel
L181[02:42:57] <Ordinastie> DigitalFeonix,
the stacktrace should make it pretty obvious what you need
L182[02:43:13] <Ordinastie> but you should
read the docs
L183[02:43:43] <DigitalFeonix> I have been
trying to find something in the docs to help me for like the last 6
hours
L184[02:43:57] <DigitalFeonix> I just want
my block to ignore empty bucket clicks
L185[02:44:18] <DigitalFeonix> I tried to
capture the FillBucketEvent and cancel that, but it prevented all
buckets from working
L186[02:44:20] ⇦
Quits: Larry1123 (Larry1123@irc.larry1123.net) (Ping timeout: 384
seconds)
L187[02:46:17] <Ordinastie> that means you
messed something in your event
L188[02:48:35]
⇨ Joins: Savos
(~Savos@CPEf0f24903d453-CMf0f24903d450.cpe.net.cable.rogers.com)
L189[02:51:25] ⇦
Quits: Savos
(~Savos@CPEf0f24903d453-CMf0f24903d450.cpe.net.cable.rogers.com)
(Client Quit)
L190[02:54:24]
⇨ Joins: p455w0rd (~p455w0rd@172.76.245.162)
L191[03:01:13]
⇨ Joins: Cooler (~CoolerExt@45.249.156.36)
L192[03:01:44]
⇨ Joins: ThePsionic
(~ThePsioni@ip5457f909.direct-adsl.nl)
L193[03:02:13] ⇦
Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Client
Quit)
L194[03:05:44]
⇨ Joins: Larry1123 (Larry1123@irc.larry1123.net)
L195[03:24:16]
⇨ Joins: Hgrebnednav
(~Hgrebnedn@ptr-2hj4tbppx785m70ryu6wwl7a5.ip6.access.telenet.be)
L196[03:26:38] <masa> DigitalFeonix: you
are missing some required method overrides in your block
L199[03:30:25] <DigitalFeonix> this is
what I have to put the states in
L200[03:31:12] <DigitalFeonix> I think I
need to change the default state to a 1 for that, and then update
my blockstate json to deal with that so my texture will be there
right?
L201[03:33:34] <masa> if the bucket code
is actually looking for BlockLiquid.LEVEL then I think this will
still crash, because the property you have is not the same one,
although it is identical
L202[03:33:55] <masa> so you should simply
use that one
L203[03:34:13] <DigitalFeonix> no longer
crashing, but it's acting like a water source block to the empty
bucket
L204[03:34:33] <DigitalFeonix> and missing
texture in the world
L205[03:34:38] <masa> oh, this property
does work? okay...
L206[03:34:42] <DigitalFeonix> inventory
texture still fine
L207[03:35:04] <masa> I think you'll want
a StateMapper to ignore the level since you only have one
model
L208[03:36:08] ⇦
Quits: Naiten (Naiten@5.143.78.107) (Read error: Connection reset
by peer)
L209[03:37:03] <DigitalFeonix> any other
suggestions for methods to get my block to ignore the empty bucket
issue?
L210[03:37:16] ⇦
Quits: Noppes (~Noppes@ip56530f2e.direct-adsl.nl) (Read error:
Connection reset by peer)
L211[03:38:26] <masa> looking...
L212[03:43:05] <masa> DigitalFeonix: okay
so you want the FillBucketEvent, and in that event check if the
targeted block is yours, and if so, set the result of the event to
Result.DENY
L213[03:43:46] <DigitalFeonix> how would I
find if the targeted block is mine?
L214[03:44:32] <masa> actually no, I think
you might want to cancel the event. But in any case, first check
the targeted block is yours
L215[03:44:38] <DigitalFeonix> I tried
that before, and was unsuccessful
L216[03:44:50] <masa> did you check
anything in the event?
L217[03:44:51] <DigitalFeonix> trying to
narrow it to my block
L218[03:46:51] <masa> if (event.getTarget
!= null && event.getTarget.typeOfHit ==
RayTraceResult.Type.BLOCK &&
event.getWorld.getBlockState(event.getTarget().getBlockPos()).getBlock
== ModBlocks.blockHydroGel)
L219[03:47:08] <masa> missing some
brackets but anyway
L220[03:47:27] <masa> or parenthesis
whatever
L221[03:48:16] <DigitalFeonix> working it
in now....
L222[03:52:41] <DigitalFeonix> sweeet,
that worked
L223[03:54:38] <DigitalFeonix> thank
you
L224[03:54:52] ⇦
Quits: Relkofizz (~Relkofizz@s0106602ad0816fd5.ss.shawcable.net)
(Ping timeout: 186 seconds)
L226[03:58:13] <DigitalFeonix> new
crash.... Description: Exception while ticking a block
L227[03:58:18] <DigitalFeonix>
<sigh>
L228[03:58:24] <killjoy> Who does
that?
L229[03:58:32] <killjoy> Just throwing
Exception everywhere?
L230[03:58:40] <killjoy> Come on! Make
your own
L231[04:01:47] <DigitalFeonix> line 71
hates me
L232[04:02:09] <DigitalFeonix> first line
71 in ItemBucket.java and now line 71 in BlockLiquid.java
L233[04:03:41] <DigitalFeonix> real water
next to my fake water causes crash.
L234[04:06:00] ⇦
Quits: Cooler (~CoolerExt@45.249.156.36) (Read error: Connection
reset by peer)
L235[04:06:17]
⇨ Joins: Cooler (~CoolerExt@45.249.156.36)
L236[04:11:52] ***
MrKick|Away is now known as MrKickkiller
L237[04:13:48]
⇨ Joins: maxanier
(~maxanier@cable-89-16-153-148.cust.telecolumbus.net)
L238[04:16:38] <maxanier> I've played
around with the substitution system a little bit and managed to
substitute the vanilla night vision potion with my own version. An
ObjectHolder field contains the substitution afterwards, but is
there a way to update the reference in MobEffects?
L239[04:17:46]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L240[04:17:58] <maxanier> Using reflection
manually would probably work, but is there a "cleaner"
approach built into Forge somehow?
L241[04:18:54] ⇦
Quits: AstralSorcerer
(~AstralSor@cpe-66-66-15-47.rochester.res.rr.com) (Ping timeout:
206 seconds)
L242[04:21:22] <maxanier> looks like Forge
adds ObjectHolders to all public static final fields in Blocks and
Items
L243[04:22:01] <maxanier> guess if Forge
did this for Mobeffects, it's fields should also be updated
L244[04:22:01] *** V
is now known as Vigaro
L245[04:22:26]
⇨ Joins: CoolerExtreme
(~CoolerExt@45.249.156.132)
L246[04:25:11] ⇦
Quits: Cooler (~CoolerExt@45.249.156.36) (Ping timeout: 206
seconds)
L247[04:29:06] ⇦
Quits: Everseeking
(~Everseeki@pool-100-6-80-90.pitbpa.fios.verizon.net) (Quit: Big
Gulps, huh? Alright... Welp, see ya later)
L248[04:29:28]
⇨ Joins: Naiten (Naiten@5.143.2.12)
L249[04:48:00] ***
amadornes[OFF] is now known as amadornes
L250[04:59:54]
⇨ Joins: agowa338
(~Thunderbi@p549180E5.dip0.t-ipconnect.de)
L251[05:01:17]
⇨ Joins: JuiceGrape
(~JuiceGrap@31-151-51-200.dynamic.upc.nl)
L252[05:01:27] <JuiceGrape> how do I
update my forge version?
L253[05:01:45] <TechnicianLP2> edit your
build.gradle
L254[05:01:53] <TechnicianLP2> and rerun
setup
L255[05:02:02] <JuiceGrape> okay,
thanks
L256[05:05:37] <ghz|afk> then afterward,
you have to refresh the project
L257[05:05:54] <ghz|afk> if you are in
IDEA, there's a blue refresh icon in the gradle panel
L258[05:06:17] <ghz|afk> for eclipse, I
think you have to rerun the eclipse task instead?
L259[05:06:54] <JuiceGrape> I just closed
eclipse for the time being
L260[05:08:18] <ghz|afk> yeah but I mean
that updating forge changes the referenced libraries, so you have
to do something for the IDE to realize that need to be
different
L261[05:08:59] <JuiceGrape> ah okay, will
get annoyed by that
L262[05:09:31] <ghz|afk> I suggest
switching to IDEA, then I can assure you that little blue arrow
does its job just fine
L263[05:09:32] <ghz|afk> ;P
L264[05:09:58]
⇨ Joins: Noppes (~Noppes@62.41.77.242)
L265[05:10:07]
⇨ Joins: sciguyryan (~sciguyrya@45.62.37.30)
L266[05:10:44] <JuiceGrape> sorry m8, I'm
an eclipse guy
L267[05:12:39] <killjoy> I just switched
from it
L268[05:13:00] <killjoy> And boy are my
hands tired
L269[05:13:19] <killjoy> (Default keybinds
are all over the place)
L270[05:13:38] <killjoy> Ctrl+Shift+F9 to
recompile a class.
L271[05:13:44] <killjoy> It's required
when debugging.
L272[05:14:03] <killjoy> Ctrl+Alt+L to
formaty
L273[05:14:13] <killjoy> Ctrl+Y deletes
the current line
L274[05:14:20] <killjoy> careful with
that. It's not redo
L275[05:14:33] <ghz|afk> I don't use
default keybinds XD
L276[05:14:50] <Ordinastie> are you
serious about Ctrl+Y ?
L277[05:15:04] <Ordinastie> who is the
moron that thought it was a good idea ? :x
L278[05:15:08] <ghz|afk> any program
designed by macos people
L279[05:15:23] <ghz|afk> they use
cmd-shift-z for redo
L280[05:16:03] <Ordinastie> It's that
shortcut in PS too, I hate it :x
L281[05:16:20] <ghz|afk> in PS it's worse,
because undo is really ctrl-alt-z
L282[05:16:35] <Ordinastie> hum no ?
L283[05:16:38] <ghz|afk> ctrl-z will undo,
yes, but the next undo will undo the undo
L284[05:16:41] <ghz|afk> redoing the
action
L285[05:16:44] <Ordinastie> ah
L286[05:16:49] <Ordinastie> yes, I hate
that too
L287[05:16:52] <ghz|afk> so if you truly
want to go back in history
L288[05:16:56] <ghz|afk> you have to use
ctrl-alt-z
L289[05:17:50] <Ordinastie> hum, I think
you mixed up something
L290[05:18:05] <JuiceGrape> [12:06]
<ghz|afk> for eclipse, I think you have to rerun the eclipse
task instead? how do I this
L291[05:18:19] <ghz|afk> gradlew eclipse,
I guess
L292[05:18:23] <ghz|afk> I haven't used
eclipse for modding
L293[05:18:28] <Ordinastie> ah no, you're
right, it's just I got use to it too :/
L295[05:19:32] <Ordinastie> and yes, it's
gradlew eclipse, and they you need to refresh the project in
eclipse
L296[05:20:42] <JuiceGrape> worked,
ty
L297[05:24:12] ⇦
Quits: Noppes (~Noppes@62.41.77.242) (Read error: Connection reset
by peer)
L299[05:25:48]
⇨ Joins: Noppes (~Noppes@62.41.77.242)
L300[05:30:56] ⇦
Quits: Vigaro (Vigaro@vigaro.tk) (Ping timeout: 384
seconds)
L301[05:31:00] ⇦
Quits: DigitalFeonix (~reedt@69-10-213-158.rainierconnect.com)
(Quit: Leaving)
L302[05:33:12] ⇦
Quits: killjoy
(~killjoy@cpe-2606-A000-1118-C091-572-5795-4C90-4D5E.dyn6.twc.com)
(Ping timeout: 384 seconds)
L303[05:36:25] ***
Darkhax_AFK is now known as Darkhax
L304[06:06:23]
⇨ Joins: KGS
(~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L305[06:08:23]
⇨ Joins: Scoaex_
(~Scoaex@p5B2791C7.dip0.t-ipconnect.de)
L306[06:15:58]
⇨ Joins: Cast0077
(~Cast0077@24-181-179-41.dhcp.nwtn.ct.charter.com)
L307[06:16:24]
⇨ Joins: InusualZ
(~InusualZ@adsl-64-237-236-19.prtc.net)
L308[06:19:25] <JuiceGrape> is there a
list of general OreDic block and item names?
L309[06:19:36] <ghz|afk> in the
OreDictionary class
L310[06:19:38] <ghz|afk> at the
bottom
L311[06:20:03] <JuiceGrape> oh cool
:P
L312[06:22:18]
⇨ Joins: Vigaro (~Vigaro@vigaro.tk)
L313[06:38:07]
⇨ Joins: Umbraco
(~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L314[06:43:30] ***
Keridos|away is now known as Keridos
L315[06:45:10] ***
Cast0077 is now known as Hotdog_Daddy_Away
L316[06:53:00] ⇦
Quits: Vigaro (~Vigaro@vigaro.tk) (Ping timeout: 186
seconds)
L317[06:53:49] ⇦
Quits: Scoaex_ (~Scoaex@p5B2791C7.dip0.t-ipconnect.de) (Quit:
Leaving)
L318[07:04:51] ***
Keridos is now known as Keridos|away
L319[07:15:54] <Wuppy> omg
JuiceGrape
L320[07:18:42] <Wuppy> whatcha doing
here
L321[07:18:55] <JuiceGrape> I'm modding
again ;)
L322[07:19:09] <Wuppy> oh god why
L323[07:19:16] <JuiceGrape> cause I felt
like failing college
L324[07:19:30] <Wuppy> lel
L325[07:19:35] <Wuppy> again?
L326[07:19:37] <JuiceGrape> cause it's
fun
L327[07:19:44] <JuiceGrape> oi, I was
allowed to continue at NHTV >.>
L328[07:19:45] <Wuppy> oh well, you got
out on time :P
L329[07:19:56] <Wuppy> lucky you didn't
:V
L330[07:20:06] <raoulvdberge> forge maven
is down
L331[07:20:30] <JuiceGrape> hehe, I don't
even want to develop games
L332[07:20:38] *
JuiceGrape is gonna attend the ludum dare
L333[07:21:06] <JuiceGrape> anyway, I'm
getting for release. Some small changes, recipes, config
options
L334[07:21:19] <JuiceGrape> rest of
juicewares is pretty much ready. Missing some features but I don't
mind atm
L335[07:21:35] <Wuppy> juicewares :V
L336[07:21:36] ⇦
Quits: FusionLord (~FusionLor@2600:8800:1:e900:2183:4d68:d305:76d)
(Ping timeout: 206 seconds)
L337[07:21:40] <JuiceGrape> yeah yeah, I
know
L338[07:21:51] <Wuppy> also, why join
ludum if you dont like games
L339[07:21:52] <JuiceGrape> it was
downloaded 34,000 times
L340[07:21:54] <ghz|afk> raoulvdberge: yep
seems so
L341[07:22:01]
⇨ Joins: Eragonn1490
(~eragonn14@2607:fb90:1b78:5611:88aa:ecc3:8237:64e2)
L342[07:22:09] <JuiceGrape> I do like
developing games, just not as a job, I do it as a hobby
L343[07:22:13] <Wuppy> right
L344[07:22:17] <ghz|afk> it couldn't even
fetch FG
L345[07:22:26] <raoulvdberge> it seems to
always happen when i need to update something
L346[07:22:29] <raoulvdberge> lol
L347[07:23:12] <ghz|afk> the stack trace
for the timeout is BIG
L349[07:23:37] <ghz|afk> XD
L350[07:23:50] ⇦
Quits: Actuarius (~Actuarius@195.91.246.187) (Read error:
Connection reset by peer)
L351[07:24:34]
⇨ Joins: Actuarius (~Actuarius@195.91.246.187)
L352[07:24:34]
MineBot sets mode: +v on Actuarius
L353[07:25:58] ***
Keridos|away is now known as Keridos
L354[07:29:01] ⇦
Quits: AshIndigo_ (~AshIndigo@188.29.164.186.threembb.co.uk) (Quit:
Bye)
L355[07:29:02]
⇨ Joins: AshIndigo
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L356[07:29:49]
⇨ Joins: VikeStep (~VikeStep@101.184.229.226)
L357[07:34:39] ⇦
Quits: maxanier
(~maxanier@cable-89-16-153-148.cust.telecolumbus.net) (Ping
timeout: 206 seconds)
L358[07:47:42]
⇨ Joins: maxanier
(~maxanier@cable-89-16-153-148.cust.telecolumbus.net)
L359[07:51:08] ⇦
Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Ping
timeout: 186 seconds)
L360[07:52:03] ⇦
Quits: Naiten (Naiten@5.143.2.12) (Ping timeout: 206
seconds)
L361[07:52:32] ⇦
Quits: JuiceGrape (~JuiceGrap@31-151-51-200.dynamic.upc.nl) (Ping
timeout: 198 seconds)
L362[07:52:32] ⇦
Quits: AshIndigo (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
(Read error: Connection reset by peer)
L363[07:52:34]
⇨ Joins: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L364[08:05:04] ⇦
Quits: Umbraco (~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp) (Ping
timeout: 384 seconds)
L365[08:05:10] ⇦
Quits: jackmcbarn (jackmcbarn@gateway.insomnia247.nl) (Ping
timeout: 192 seconds)
L366[08:07:17]
⇨ Joins: jackmcbarn
(jackmcbarn@gateway.insomnia247.nl)
L367[08:13:00] ⇦
Quits: maxanier
(~maxanier@cable-89-16-153-148.cust.telecolumbus.net) (Ping
timeout: 186 seconds)
L368[08:13:24] ⇦
Quits: agowa338 (~Thunderbi@p549180E5.dip0.t-ipconnect.de) (Quit:
agowa338)
L369[08:13:57]
⇨ Joins: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L370[08:14:28] ⇦
Quits: Dark (~MrDark@cpe-104-230-227-71.columbus.res.rr.com) (Read
error: Connection reset by peer)
L371[08:16:49] ***
Katie is now known as Caitlyn
L372[08:18:46]
⇨ Joins: Vigaro (~Vigaro@vigaro.tk)
L373[08:27:51]
⇨ Joins: Inusua1Z
(~InusualZ@adsl-72-50-85-10.prtc.net)
L374[08:29:45] ⇦
Quits: InusualZ (~InusualZ@adsl-64-237-236-19.prtc.net) (Ping
timeout: 206 seconds)
L375[08:33:16]
⇨ Joins: md678685 (~md678685@92.222.64.98)
L376[08:35:43]
⇨ Joins: TechnicianLP
(~Technicia@p4FE5738E.dip0.t-ipconnect.de)
L377[08:37:08] <raoulvdberge> can anyone
get the forge servers back up please lol
L378[08:39:33] <Eragonn1490> overriding
isBlockOpque should make it so that you cant see through the world
right?
L379[08:40:55] <howtonotwin> yes, I
think
L380[08:41:08] <howtonotwin> those methods
are too much of a mess to be completely sure though :P
L381[08:41:21] <Eragonn1490> whats the new
method? :o
L382[08:41:33] <howtonotwin> there is no
new method
L383[08:41:39] <howtonotwin> I mean all
the isBlock* methods
L384[08:41:51] <howtonotwin> they're a
mess, and they're badly named to boot
L385[08:42:00]
⇨ Joins: Emris (~Miranda@62.178.245.147)
L386[08:42:03] <ghz|afk>
isOpaqueCube
L387[08:42:14] <ghz|afk> to prevent it
from showing the inside of the world
L388[08:42:35] <ghz|afk> and isFullCube
for lighting purposes
L389[08:43:03]
⇨ Joins: Dark
(~MrDark@cpe-104-230-227-71.columbus.res.rr.com)
L390[08:43:21] <ghz|afk> or was it the
other way around?
L391[08:43:34] ⇦
Quits: Dark (~MrDark@cpe-104-230-227-71.columbus.res.rr.com)
(Client Quit)
L392[08:43:37] <ghz|afk> we need the real
names for those methods, XD
L393[08:43:38] <howtonotwin> isOpaqueCube
is for face culling
L394[08:43:45] <howtonotwin> so yes it's
that one
L395[08:43:47] <ghz|afk> I'm certain they
make more sense in mojang's codebase
L396[08:51:46] <barteks2x> somehow IDEA
doesn't know the word "spliterator". And they claim to
support java 8 :D
L397[08:52:17] <ghz|afk> "A new
interface added to java.util is the Spliterator, which as the name
implies, is a new special kind of Iterator that can traverse a
Collection"
L398[08:52:18] <ghz|afk> NO
L399[08:52:22] <ghz|afk> it does NOT
"imply" that
L400[08:52:23] <ghz|afk> at all
L401[08:52:42] <ghz|afk> how does
"split" mean "traverse a collection"?
L402[08:53:53] <ghz|afk> I gues they mean
the "iterator" part
L403[08:54:26] <ghz|afk> that sentence is
so poorly written XD
L404[08:54:39] ***
Keridos is now known as Keridos|away
L405[08:55:31] <ghz|afk> now something
"The Spliterator is a new interface that makes it possible to
both traverse a collection, and split off into other Spliterators,
for partitioning"
L406[08:55:40] <ghz|afk> that'd be more
accurate with what it seems to be doing
L407[09:03:05]
⇨ Joins: williewillus
(~williewil@cpe-24-28-24-13.austin.res.rr.com)
L408[09:03:06] <barteks2x> Is there some
class other than Minecraft Vec3i that I can use as general 3d int
vector?
L409[09:03:19] <barteks2x> (that I don't
need another library for)
L410[09:03:26] <williewillus>
vecmath?
L411[09:03:36] <ghz|afk> I believe there's
at least 3 separate vector libraries in mc
L412[09:03:49] <williewillus> anyhow, this
is weird. does PlayerEvent.Clone not fire anymore when you travel
using nether portals?
L413[09:03:54]
⇨ Joins: maxanier
(~maxanier@cable-89-16-153-148.cust.telecolumbus.net)
L414[09:04:04] <williewillus> (or did it
ever)
L415[09:04:05] <ghz|afk> uhm clone never
fired for nether portals?
L416[09:04:09] <ghz|afk> only for
returning from the end
L417[09:04:10] <ghz|afk> and dying
L418[09:04:22] <ghz|afk> normal nether
traveling doesn't count as a respawn
L419[09:04:22] <barteks2x> indexing in
progress... seriously IDEA?
L420[09:04:28] <williewillus> oh I asked
the wrong question.
L421[09:04:51] <williewillus> the problem
is: my caps are being cleared when going to the nether, but in the
past I didn't have to do any work
L422[09:04:53] <williewillus> on that
front
L423[09:05:01] <barteks2x> Vec3i is the
inly int vector here
L424[09:05:11] <ghz|afk> ah
L425[09:05:15] <ghz|afk> that could be a
bug/oversight
L426[09:05:17] <barteks2x> And I want int
vector. Normally BlockPos would be good except of the name
L427[09:05:22] <barteks2x> because it's
not always block position
L428[09:06:24] <ghz|afk> ah
L429[09:06:37] <ghz|afk> then yes, Vec3i
is probably the only one
L430[09:09:33]
⇨ Joins: Shambling
(~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L431[09:09:56] <barteks2x> The problem
with vec3i is that it's in minecraft code
L432[09:10:08] <barteks2x> so it can
change at any time, be removed or whatever
L433[09:11:12] <ghz|afk> make your own?
XD
L434[09:11:23] <ghz|afk> it takes only a
few minutes to write such a class
L435[09:11:46] <barteks2x> I'm already
writing code that was supposed to take ony a few minutes
L436[09:11:58] <barteks2x> and something
that is really useful from blockPos: getAllInBox
L437[09:12:09] <Ordinastie> you know that
doesn't really exist right ?
L438[09:12:25] <williewillus> wat
L439[09:12:30] <Ordinastie> code that
takes only a few minutes
L440[09:12:30] <barteks2x> What doesn't
exist?
L441[09:12:41] <barteks2x> ah yes
L442[09:13:21] <williewillus> i'm confused
why my caps are lost on dim change .. at least clientside
L443[09:14:01] <Shambling> caps or
capes?
L444[09:14:28] <williewillus> caps
L445[09:14:28] <Shambling> wasn't there
something silly with electra not rendering if you're holding
something in your hand or something equally weird?
L446[09:14:29] <williewillus>
capabilities
L447[09:14:31] <Shambling> oh
L448[09:14:56] <williewillus> okay it
seems to be clientside
L449[09:15:00] <Shambling> unneccessary
garbage collection?
L450[09:15:29] <williewillus> no lol
L451[09:15:37] <Shambling> the wither is
mocking you
L452[09:15:39] <williewillus> the gc won't
just take random stuff you still need
L453[09:15:40] <Eragonn1490> ordi can you
point me towards making a furnace like block with a single block?
(not 2 like a furncace?)
L454[09:15:49] <williewillus> blockstates
:P
L455[09:16:03] <Shambling> yeah but
changing dimensions might flag it as garbage if its tied to
something that minecraft frees up upon dimension change
L456[09:16:09] <Ordinastie> Eragonn1490,
the ONLY reason why furnace is two block is because of
lightValue
L457[09:16:14] <williewillus> did you read
the rtd article I posted yesterday (I think it was to you)
L458[09:16:17] <williewillus> about
blockstates
L460[09:16:31] <Ordinastie> the state
dependant version is added by forge and doesn't exist in
vanilla
L461[09:17:01] <Eragonn1490> oh?
L462[09:17:27] <TechnicianLP> didnt one
have to copy over capabilitydata on changing dimensions?
L463[09:17:29] <williewillus> use
blockstates lol
L464[09:17:37] <williewillus> add a
boolean property ON or something
L465[09:17:46] <williewillus>
TechnicianLP: no that was only returning from the end/on
death
L466[09:17:59] <williewillus> normal
nether portaling *should* copy everything for you
L467[09:18:07] <williewillus> and it seems
to be, it's just lost clientside for osme reason
L468[09:18:53] <ghz|afk> I keep wondering
why all the light/opacity/etc isn't just in the material
L469[09:19:03] <ghz|afk> and why not just
simply have getMaterial(IBlockState) instead
L470[09:19:35] <Ordinastie> because bad
code is bad ?
L471[09:20:01] <ghz|afk> in the toy engine
I was coding
L472[09:20:14] <ghz|afk> I gave my blocks
a RenderingMaterial and a PhysicsMaterial
L473[09:20:23] <ghz|afk> for defining the
look & behaviour of the block
L474[09:20:24] ⇦
Quits: Alex_hawks
(~Alex_hawk@2001:8003:858e:dd00:113e:eb30:8caf:51ee) (Read error:
Connection reset by peer)
L475[09:21:02]
⇨ Joins: Alex_hawks
(~Alex_hawk@2001:8003:858e:dd00:113e:eb30:8caf:51ee)
L476[09:25:00] <Shambling> weirdest thing
I have seen since the introduction of json models in 1.8... I've
yet to find a resource pack that actually adds the cool 3d torches
and ladders :P
L477[09:25:13] <williewillus> default
3d
L478[09:26:07] <Ordinastie> hum? I have a
some side effect in my code, I wonder if i should keep it
L479[09:26:08] <Shambling> maybe not the
best pictures as examples... first thing I see is overly stylized
workbench with unneccessary beveling everywhere lol
L480[09:26:21] <Ordinastie> getPickBlock
can get you the "on" version of the switches
L481[09:26:43] <williewillus> Shambling:
default 3d is "if it can be 3d'ed it's 3d'ed" :P
L482[09:26:55] <williewillus> I pick and
choose specific models from it when I do use it
L483[09:27:06] <Shambling> yeah I'm
thinking I might use it for torches and gut the rest
L484[09:27:13] <Shambling> 3d cobblestone?
really? lol
L485[09:27:45] <Shambling> what is a
legitimate resourcepack download site? it seems like there are 3000
of them for every real texture
L486[09:27:56] <Shambling> ah curse has
it
L487[09:29:46] <ghz|afk> wasn't there some
extras like cobblestone/stone/dirt/grass that didn't come as 3D by
default?
L488[09:29:56] <williewillus> yeah they
have a "lite" version
L489[09:30:05] <williewillus> without some
3d models for some of the super common blocks
L490[09:32:01] ⇦
Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Quit:
Leaving)
L491[09:33:27] <Shambling> this download
site seems shady AF
L492[09:34:53] ⇦
Quits: VikeStep (~VikeStep@101.184.229.226) (Quit:
Leaving)
L493[09:36:15]
⇨ Joins: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net)
L494[09:39:13] <williewillus> wtf
L495[09:39:42] <williewillus> the cap data
is going away even on death/respawn. and I explicitly resync it
too
L496[09:43:50] <Ordinastie> hum, I
realised there a bit of an annoyance with my component
system...
L498[09:44:28] <Ordinastie> but the flow
is, each component get the original state passed in
L499[09:44:50] <Ordinastie> so if any of
them changes it, the following one don't get the current one
L501[09:49:54] <williewillus> oh what the
fuck
L502[09:50:05] <williewillus>
setDimensionAndSpawnPlayer recreatesd the EntityPlayerSP
L503[09:50:46] <williewillus> !gm
setDimensionAndSpawnPlayer
L504[09:50:53] <williewillus> !gm
setDimensionAndSpawnPlayer 1.9.4
L505[09:53:30] <barteks2x> Writing
Iterator for something like getAllInBox is hard enough, writing one
that does linear interpolation when scaling values as it goes is
just close to impossible
L506[09:55:59] <williewillus> lol wow this
logic is fucked
L507[09:56:27] <barteks2x> it's basically
writing Iterator for ChunkProviderOverworld.setBlocksInChunk
L508[09:56:51] <barteks2x> (that one with
6 nested loops)
L509[09:58:05] <barteks2x> and after
writing it I will also have to proably debug it
L510[09:58:12] <barteks2x> because there
is no way it will work the first time
L511[09:58:17] <williewillus> every time
you go through a portal the client first calls loadWorld to load
the new world, then calls setDimensionAndSpawnPlayer. Thing is both
of them spawn an EntityPlayerSP into the world...
L512[09:59:18]
⇨ Joins: Fye
(~Fye@dynamic-adsl-84-221-215-62.clienti.tiscali.it)
L513[10:00:34]
⇨ Joins: Brokkoli
(~Brokkoli@p2E5B1DD8.dip0.t-ipconnect.de)
L514[10:00:58] <williewillus> lol yeah
setDimensionAndSpawnPlayer makes a completely useless new
EntityPlayerSP
L515[10:01:37] <williewillus> wait no it's
actually used
L516[10:01:48] <williewillus> it just
forces the old entity id onto the new playerSP after it spawns
it
L517[10:01:49] <williewillus> -.-
L518[10:02:07] <Shambling> barteks2x,
you're trying to find out all entities/blocks in a box? I'm fairly
sure psi has a reference to similar code in its library or main
code if you want to look at an example. I know someone has done the
linear interpolation as well recently on ftb reddit
L519[10:02:17] <williewillus> no idea why
you would ever spawn the player in loadWorld though..
L520[10:02:18] <barteks2x> I'm writing
worldgen code
L521[10:02:37] <barteks2x> The early
worldgen code that deals with noise generators
L522[10:02:49] <Shambling> oh wait I
remember where I saw it, was the botania fork williewillus did, saw
it referenced by the tree leaf eating flower
L523[10:03:33] *
barteks2x hopes it will work the first time
L524[10:03:45] <Shambling> I had a program
like that once
L525[10:03:51] <Shambling> that worked the
first time :P
L526[10:03:52] <williewillus> anyone have
a 1.9 or 1.8 workspace handy
L527[10:04:01] <williewillus> and can look
at a method def for me
L528[10:04:04] <barteks2x> I maybe
have
L529[10:04:06] <barteks2x> let me
check
L530[10:04:36] <williewillus>
Minecraft.setDimensionAndSpawnPlayer does it call
createClientPlayer or otherwise construct any additional
EntityPlayerSP?
L531[10:06:02] <barteks2x> wait,
what?
L532[10:06:12] <barteks2x> where in the
methodit's supposed to be?
L533[10:06:47] <barteks2x> it calls
this.playerController.func_178892_a
L534[10:07:09] <barteks2x> which is
createClientPlayer
L535[10:07:33] <williewillus> hrm, and
that's 1.9?
L536[10:07:39] <barteks2x> 1.8
L537[10:07:53] <barteks2x> I just happened
to have workspace with it
L538[10:16:32] ⇦
Quits: Eragonn1490
(~eragonn14@2607:fb90:1b78:5611:88aa:ecc3:8237:64e2) (Ping timeout:
198 seconds)
L539[10:16:39] <Shambling> hey where do
mods usually store their recipes for crafting?
L540[10:16:46] <Shambling> in the java
source structure that is
L541[10:17:26] <barteks2x> as I know, you
usually just add/register your recipes and then don't store gthem
anywhere
L542[10:17:59] <barteks2x> but last time I
attempted to do that was a long time ago
L543[10:18:56] <Shambling> I'm thinking
this mod I'm trying to find a recipe for, doesn't have a recipe, as
its in alpha I just saw
L544[10:19:03]
⇨ Joins: Eragonn1490 (~eragonn14@172.56.4.77)
L545[10:19:04] <Shambling> and searching
the repo for addRecipe yields nada
L546[10:19:11] <Shambling> heck, searching
for recipe yields 0
L547[10:19:50] <barteks2x> are you sure it
has any recipes?
L548[10:21:07] <barteks2x> maybe search
for addShapedRecipe?
L549[10:21:25] <barteks2x> (recipe may
fidn nothing is upper/lower case matters
L550[10:24:09]
⇨ Joins: ThePsionic
(~ThePsioni@ip5457f909.direct-adsl.nl)
L551[10:29:08] ⇦
Quits: Inusua1Z (~InusualZ@adsl-72-50-85-10.prtc.net) (Ping
timeout: 206 seconds)
L552[10:29:16]
⇨ Joins: AshIndigo__
(~AshIndigo@188.29.165.75.threembb.co.uk)
L553[10:31:04] ⇦
Quits: AshIndigo_ (~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
(Ping timeout: 206 seconds)
L554[10:31:36]
⇨ Joins: McJty
(~jorrit@94-225-196-91.access.telenet.be)
L555[10:33:37] <Shambling> I'm not sure if
github search is case sensitive, but JEI also doesn't list a
recipe. So I'm assuming its just because its an alpha
L556[10:33:52] ⇦
Quits: Artillect (webchat@mobile-107-77-227-137.mobile.att.net)
(Ping timeout: 195 seconds)
L557[10:34:11] <barteks2x> it's github
search, it either returns too much or too little, never what you
want
L558[10:34:16] <Shambling> I played around
with the mod a bit, its a bit like transvector interfaces from
thaumcraft
L559[10:34:22] <Shambling> haha true
enough
L560[10:36:17] <Shambling> lmao just
realized that the link says "no crafting recipes
included" right on the second line. Way to put it in an
obvious place man :P
L561[10:36:24]
⇨ Joins: KnightMiner
(~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net)
L562[10:37:32] <Shambling> I'm morbidly
curious to see how torcherino would interact with a transvector
interface
L563[10:39:02] <howtonotwin> probably not
very interestingly, sadly
L564[10:39:04] <williewillus> it just
gives it extra ticks
L565[10:39:10] <williewillus> i.e. calls
update() more :P
L566[10:39:12] <howtonotwin>
2adverbial4me
L567[10:40:35] <Ordinastie> anybody sees a
reason why GuiScreen mc, itemRender and fontRenderObj is set in
setWorldAndResolution and not in constructor ?
L568[10:41:36] <barteks2x> oh god I just
realized I'm writing anonyous class inside a method inside an
anonymous class in default method of an interface
L569[10:41:59] <howtonotwin> my potato is
so laggy it managed to split the redstone signal travelling in a
repeater clock in two
L570[10:42:20] ⇦
Quits: Eragonn1490 (~eragonn14@172.56.4.77) (Ping timeout: 198
seconds)
L571[10:44:22] <barteks2x> this anonymous
class is already almost 100 lines and it's nowhere near done
L572[10:44:40] <williewillus> just pull it
into a real class then :P
L573[10:44:47] <barteks2x> when I'm done
with it
L574[10:45:03] <howtonotwin> If you think
you've nested too many anon classes you have not seen scala
bytecode
L575[10:45:25] <Ordinastie> nobody want to
see scala bytecode
L576[10:45:31] <howtonotwin> indeed
L577[10:45:33] <Ordinastie> hell, nobody
wants to see scala code
L578[10:45:43] <barteks2x> it's the
iterator that does scaling and linear interpolation...
L579[10:49:04] ⇦
Quits: AshIndigo__ (~AshIndigo@188.29.165.75.threembb.co.uk) (Quit:
Bye)
L580[10:49:17]
⇨ Joins: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L581[10:49:58] ⇦
Quits: TechnicianLP2 (~Technicia@p4FE5738E.dip0.t-ipconnect.de)
(Ping timeout: 384 seconds)
L582[10:58:16] <howtonotwin> So far as I
can tell, Block::onEntityCollidedWithBlock is only called when the
entity is actually INSIDE the grid space of the block, so in order
to do something whenever an entity touches my block, I have to make
the collision box a tiny bit smaller than a full block. Is that
correct?
L583[10:59:02] <barteks2x> just test
it?
L584[10:59:17] <howtonotwin> was wondering
if there was another way
L585[10:59:35] ⇦
Quits: williewillus (~williewil@cpe-24-28-24-13.austin.res.rr.com)
(Ping timeout: 206 seconds)
L586[10:59:43] <howtonotwin> but this is
good enough if there isn't
L587[11:01:09] <barteks2x> something like
this should probably be done by the entity itself if you had
control over it, not block. But that may also be impossible.
L588[11:01:52] <barteks2x> how redstone
ore blocks do ti?
L589[11:02:00] <barteks2x> or they
don't?
L590[11:02:09] <barteks2x> I think they
light up if you step on them
L591[11:02:14] <barteks2x> but I may
remember it wrong
L592[11:03:05] <howtonotwin> only the top
iirc
L593[11:03:15] <howtonotwin> they use
onEntityWalk
L594[11:03:18] <howtonotwin> I need all 6
sides
L595[11:03:45] <barteks2x> I know cuchaz
somehow did it for debug display in ships mod but he probably used
asm
L596[11:03:56] <barteks2x> or made his own
physics code
L597[11:05:01] ***
amadornes is now known as amadornes[Streaming]
L598[11:05:18] <howtonotwin> Where's that
method that takes a double and moves it down an ulp...
L599[11:05:22] ⇦
Quits: Shambling
(~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit:
Leaving)
L600[11:06:38] <howtonotwin> there it
is
L601[11:07:30] <barteks2x> it would
probably also work if you took binary representation, incremented
it and converted back to double
L602[11:07:39] <barteks2x> (at least for
positive numbers it would work)
L603[11:09:28] <howtonotwin> That's
Double.longBitsToDouble(Double.doubleToRawLongBits(d)+1) vs.
Math.nextDown(d) xD
L604[11:09:36] <howtonotwin> *-1
L605[11:10:15] <barteks2x> which
Math?
L606[11:10:49] <howtonotwin>
java.lang.Math
L608[11:15:03] <howtonotwin> There's a
monad in there somewhere... but I'm not smart enough to find
it.
L609[11:16:16] <barteks2x> last time I
tried to understand and explanation of what is monad, I came to
conclusion that Biolder classes are monads, so not sure if I
understood it right
L610[11:16:23] <barteks2x> *Builder
L611[11:16:33] <howtonotwin> lol
L612[11:16:47] <howtonotwin> Monad
Tutorial Fallacy/Monad Curse
L613[11:17:05] <howtonotwin> The first one
means that the more tutorials you read, the more confused you
get
L614[11:17:21] <howtonotwin> the second
one means that those who DO understand them can never explain them
to anyone ever again
L615[11:18:15] <barteks2x> so it's not
only me being stupid...
L616[11:18:16] <howtonotwin> The leap of
abstraction needed to understand them is just too much.
L617[11:19:09] <howtonotwin> But really
they are very neat
L618[11:19:22] <howtonotwin> but all the
formal terminology also scares people away
L619[11:19:26] ⇦
Quits: maxanier
(~maxanier@cable-89-16-153-148.cust.telecolumbus.net) (Ping
timeout: 384 seconds)
L620[11:19:39] <howtonotwin> I presume you
heard "type constructor" ">>="
"bind" "unit" and "pure"
L621[11:19:47] <barteks2x> maybe if I
first learned haskell it would be easier to understand most
explanations
L622[11:20:27] <howtonotwin> how many of
those did you hear and how many of them confused you to heaven and
hell? :P
L623[11:21:49] <barteks2x> I read about 6
so far and once I though I understood them, it seemed too simple
(the explanation from wihch I deduced that builder classes are
monads)
L624[11:21:58] <howtonotwin> yeah no
that's off :P
L625[11:22:03] <howtonotwin> ok so answer
me this
L626[11:22:09] <howtonotwin> what is
"java.util.List"
L627[11:22:18] <howtonotwin> is it a type
or is it something else
L628[11:22:28] <howtonotwin> (imagine raw
types are demon spawn and do not exist)
L629[11:22:37] <barteks2x>
"java.util.List" is a string :D but no seriously, it's a
type
L630[11:22:44] <howtonotwin> WRONG!
L631[11:22:45] <howtonotwin> :P
L632[11:22:53] <howtonotwin> Can you have
a value of type List?
L633[11:22:58] <howtonotwin> just
List
L634[11:23:01] <howtonotwin> no type
params
L635[11:23:14] <howtonotwin> (and no raw
types)
L636[11:23:22] <barteks2x> ah, right
didn't read that
L637[11:23:39] <barteks2x> then List
itself... uh... that would be closer to template now
L638[11:23:45] <howtonotwin> correct
L639[11:23:51] <howtonotwin> we call that
a type constructor
L640[11:23:59] <howtonotwin> (think of
"type function")
L641[11:24:16] <howtonotwin> they are what
funtions are to values to types
L642[11:24:19] <howtonotwin>
*functions
L643[11:24:29] <howtonotwin> a function
takes a value
L644[11:24:34] <howtonotwin> and it
returns a new value
L645[11:24:40] <howtonotwin> a type
constructor takes a type
L646[11:24:45] <howtonotwin> and returns a
new type
L647[11:24:48] <howtonotwin> see?
L648[11:24:53] <howtonotwin> so
"List" is not a type
L649[11:24:54] <barteks2x> yes, so far I
understand it
L650[11:25:03] <howtonotwin> If you give
it a parameter, say "String"
L651[11:25:11] <howtonotwin> NOW,
"List<String>" is a type
L652[11:25:18] <howtonotwin> Now monads
are never concrete types
L653[11:25:27] <howtonotwin> like
"List<String>"
L654[11:25:44] <howtonotwin> they are type
constructors
L655[11:25:45] <howtonotwin> always
L656[11:25:50] <howtonotwin> they have
kind (* -> *)
L657[11:26:09] <howtonotwin> which means
they take a concrete type as input and return a new concrete
type
L658[11:26:16] <howtonotwin> (kinds are
like type types)
L659[11:27:07] <howtonotwin> so a monad
simply is a type constructor of kind (* -> *) (which we have so
far explained) with two functions associated with it
L660[11:27:30] <howtonotwin> the first
function we call "return" "pure" or
"unit"
L661[11:27:52] <howtonotwin>
"return" is specific to monads
L662[11:28:09] <howtonotwin>
"pure" is actually from applicative functors (forget
about them now :P)
L663[11:28:15] <howtonotwin> idk where
"unit" is from
L664[11:28:55] <howtonotwin> so unit takes
a value of any type T, and it returns a value of type
"M<T>"
L665[11:29:06] <howtonotwin> so <T>
M<T> unit(T t)
L666[11:29:11] <barteks2x> and what is
M?
L667[11:29:14] <howtonotwin> where M is
the type constructor of the monad
L668[11:29:19] <howtonotwin> so List is a
monad
L669[11:29:32] <howtonotwin> erm
L670[11:29:36] <howtonotwin> forget that
sentence :P
L671[11:29:43] <howtonotwin> the second is
"bind"
L672[11:29:52] <howtonotwin> in haskell
it's called >>=
L673[11:30:04] <howtonotwin> in scala it's
called "flatMap"
L674[11:30:14] <howtonotwin> for you
L675[11:30:16] <howtonotwin> coming from
Java
L676[11:30:18] <barteks2x> is it related
in any way to Streams?
L677[11:30:28] <howtonotwin> it's easiest
to think of it as being called "flatMap" (for now)
L678[11:30:30] <howtonotwin> yes
actually
L679[11:30:37] <howtonotwin> all the
collection classes are monads
L680[11:31:00] <howtonotwin> so flatMap
has this type
L681[11:31:55] <howtonotwin> <I, O>
M<O> flatMap(Function<I, M<O>> function,
M<I> monadic)
L682[11:32:06] <howtonotwin> think of it
like this
L683[11:32:19] <howtonotwin> it
"unwraps" a value of I from a value of M<I>
L684[11:32:28] ⇦
Quits: Reika (~Reika@reika.kalseki.mods.abrarsyed.com) (Ping
timeout: 384 seconds)
L685[11:32:34] <howtonotwin> passes it
into a function that takes I and returns M<O>
L686[11:32:39] <howtonotwin> and then
returns M<O>
L687[11:32:58] <howtonotwin> now this
sentence: "it 'unwraps' a value of I from a value of
M<I>"
L688[11:32:58]
⇨ Joins: Reika
(~Reika@reika.kalseki.mods.abrarsyed.com)
L689[11:33:04] <howtonotwin> you'll have
to forget it
L690[11:33:06] <howtonotwin>
eventually
L691[11:33:10] <howtonotwin> monads are
very abstract
L692[11:33:18] <howtonotwin> some of them
just do not work that way
L693[11:33:26] <howtonotwin> but for now
it's okish
L694[11:33:34] <barteks2x> but.. ifit's
M<I> how it becomes M<O>?
L695[11:33:34]
⇨ Joins: Hgreb
(~Hgrebnedn@ptr-2hj4tbppx785m70ryu6wwl7a5.ip6.access.telenet.be)
L696[11:33:47] <howtonotwin> you have a
function I => M<O>
L697[11:33:52] <howtonotwin> it's one of
the parameters
L698[11:33:54] <howtonotwin> BUT
L699[11:34:00] <howtonotwin> here's
another way to think of it
L700[11:34:05] <howtonotwin>
currying
L701[11:34:15] <howtonotwin> lemme drop
into a bit of haskell
L702[11:34:21] <barteks2x> that's
something I remember from some page that talked about
javascript
L703[11:34:26] <barteks2x> (the
currying)
L704[11:34:44] ⇦
Quits: Necro
(~Necro@p200300700D64169138FA35666DE2B74E.dip0.t-ipconnect.de)
(Ping timeout: 384 seconds)
L705[11:34:46] <howtonotwin> (>>=)
:: i -> m o -> m i -> m o
L706[11:34:54] <howtonotwin> that's the
signature from above
L707[11:35:01] <howtonotwin> m o means
M<O>
L708[11:35:12] <howtonotwin> but -> is
right associative
L709[11:35:15] <howtonotwin> so this is
equal to
L710[11:35:32] <howtonotwin> (>>=)
:: (i -> m o) -> (m i -> m o)
L711[11:35:36]
⇨ Joins: maxanier
(~maxanier@cable-89-16-153-148.cust.telecolumbus.net)
L712[11:35:40] ⇦
Quits: maxanier
(~maxanier@cable-89-16-153-148.cust.telecolumbus.net) (Client
Quit)
L713[11:35:42] <howtonotwin> it
"lifts" a function
L714[11:35:45] <howtonotwin> it makes it
smarter
L715[11:35:55] <howtonotwin> instead of
just taking inputs of I and returning M<O>
L716[11:35:56] <barteks2x> at this point
I'm getting lost
L717[11:35:59]
⇨ Joins: Necro
(~Necro@p200300700D6416214DC9623574501AAF.dip0.t-ipconnect.de)
L718[11:36:07] <howtonotwin> it takes the
entire M<I> and returns M<O>
L719[11:36:14] <howtonotwin> ok what's the
last thing you got?
L720[11:36:49] <Ordinastie> that people
who understand monads can't explain them
L721[11:36:54] <barteks2x> right before
you started talking in haskell (that (>>=) :: i -> m o
-> m i -> m o)
L722[11:37:10] <barteks2x> the signature I
kind of understand
L723[11:37:13] <howtonotwin> that's not
completely required to get :P
L724[11:37:19] <howtonotwin> if you don't
get it it's fine
L725[11:37:32] <ghz|afk> the problem with
monads, is the concept of monad
L726[11:37:34] <howtonotwin> and that's
it
L727[11:37:45] <howtonotwin> A monad is a
type constructor with kind (* -> *)
L728[11:37:50] <ghz|afk> you could do
exactly the same with the same purpose and the same rules
L729[11:37:50] <howtonotwin> and it has
two functions attached to it
L730[11:37:53] <ghz|afk> and explain in
differently
L731[11:37:57] <howtonotwin> <T>
M<T> unit(T t)
L732[11:37:57] <ghz|afk> and it would be
easier to "get"
L733[11:38:02] <howtonotwin> <I, O>
M<O> flatMap(Function<I, M<O>> function,
M<I> monadic)
L734[11:38:16] <howtonotwin> there is no
more and no less
L735[11:38:25] <howtonotwin> but you ask
"why is this useful?"
L736[11:38:38] <barteks2x> that would be
next question
L737[11:38:40] <howtonotwin> and it's
because it's a pattern that's everywhere
L738[11:38:49] <ghz|afk> monads are a
copnsequence of functional programming
L739[11:39:01] <ghz|afk> they aren't
useful outside functional programming
L740[11:39:05] <howtonotwin> In imperative
code they're harder to spot
L741[11:39:14] <howtonotwin> but they do
exist
L742[11:39:16] ⇦
Quits: Hgrebnednav
(~Hgrebnedn@ptr-2hj4tbppx785m70ryu6wwl7a5.ip6.access.telenet.be)
(Ping timeout: 384 seconds)
L743[11:39:29] <howtonotwin> and yes they
are an artifact of functional programming :P
L744[11:39:42] ⇦
Quits: Fye (~Fye@dynamic-adsl-84-221-215-62.clienti.tiscali.it)
(Ping timeout: 206 seconds)
L745[11:39:43] <howtonotwin> but you can
take ideas from them and translate them into imperative code
L746[11:39:49] <ghz|afk> yes
L747[11:40:16] <howtonotwin> so let's
start with a familiar monad
L748[11:40:18] <howtonotwin> List
L749[11:40:18] <ghz|afk> but they are
meaningless unless you are programming with immutable data and code
without side-effects
L750[11:40:35] <ghz|afk> if you lift those
two restrictions, it's just a wrapper
L751[11:40:35] <howtonotwin> not
really...
L752[11:40:56] <howtonotwin> they do have
uses outside of that :P
L753[11:40:59] <ghz|afk> a thing that
takes things and can apply an operation to those things in order to
conver them into another thing
L754[11:41:07] <howtonotwin> they make
code much prettier
L755[11:41:39] <howtonotwin> and they're
less of a mess to maintain
L756[11:41:47] <howtonotwin> anyway
L757[11:41:50] <howtonotwin> List as a
monad
L758[11:42:05] <howtonotwin> List already
has flatMap
L759[11:42:24] <howtonotwin> The return
function is the singleton list
L760[11:42:38] <howtonotwin> but that's
not very interesting, is it?
L761[11:42:45] <howtonotwin> another
one
L762[11:42:55] <barteks2x> where it has
flatMap?
L763[11:42:59] <howtonotwin>
Maybe/Option/Optional/whatever name it's wearing today
L764[11:43:09] <howtonotwin> It's not on
List directly bc Java
L765[11:43:18] <howtonotwin> but you can
call .stream().flatMap
L766[11:43:27] <howtonotwin> and then turn
it back into a list
L767[11:43:38] <howtonotwin> so for all
intents and purposes it does
L768[11:44:10] <howtonotwin> Optional (as
you know) is wrapper that contains or doesn't contain a value
L769[11:44:20] <barteks2x> yes, Sponge
uses it everywhere
L770[11:44:41] <howtonotwin> return is now
the function that takes a value and returns a Optional with a value
insie
L771[11:44:44] <howtonotwin> *inside
L772[11:44:51] <howtonotwin> flatMap is a
bit more complicated now
L773[11:45:36] <howtonotwin> Now, if a
value does exist, it gets passed to the function passed to flatMap,
which returns a new Optional
L774[11:46:01] <howtonotwin> If it
doesn't, it bails out and the value continues to not exist
L775[11:46:26] <howtonotwin> so now
Optional embodies an entire pattern of code
L776[11:46:57] <howtonotwin> in java it
embodies the pattern if(x != null) { return f(x); } else return
null;
L777[11:47:15] <howtonotwin> ok, so that's
nice
L778[11:47:28] <howtonotwin> but you may
as well write that out manually yourself anyway
L779[11:47:36] <howtonotwin> no point in
all this fancy crap
L780[11:47:49] <howtonotwin> (though
Option would be easier to maintain imo)
L781[11:47:59] <howtonotwin> So let's move
on
L782[11:48:06] <howtonotwin> A new monad,
Futures
L783[11:48:13] <barteks2x> so far I
understand it
L784[11:52:57] *
howtonotwin is dumb
L785[11:53:10] <howtonotwin> I thought you
said "so far AS I understand it"
L786[11:53:19] <howtonotwin> and I was
waiting for you to say something
L787[11:53:27] <howtonotwin> continuing
on
L788[11:53:40] <howtonotwin> You know what
Future is, right?
L789[11:53:43] <barteks2x> yes
L790[11:54:16] <howtonotwin> So return for
Futures just wraps the value in a little wrapper and does
nothing
L791[11:54:44] <howtonotwin> Future has
other functions attached to it that actually deal with the
threads
L792[11:54:50] <howtonotwin>
"return" is just a dummy
L793[11:55:06] <howtonotwin> flatMap is
more interesting
L794[11:55:12] <barteks2x> and what would
be the java equivalent of the return function there in java?
L795[11:55:16] <howtonotwin> it also
doesn't anything special
L796[11:56:20] <howtonotwin> return for
Futures in java would be something stupid, like "return new
Future() { private final T value = t };"
L797[11:56:32] <howtonotwin> It just wraps
the value in a box
L798[11:56:36] <howtonotwin> it doesn't do
anything
L799[11:56:47] <howtonotwin> (nothing
useful, that is)
L800[11:56:58] <howtonotwin> and flatMap
isn't very special either
L801[11:57:25] <howtonotwin> because it
just applies a function to the value inside the Future
L802[11:57:28] <howtonotwin> BUT
L803[11:57:50] <howtonotwin> Future itself
embodies asynchronicity
L804[11:58:02] <howtonotwin> (my
spellchecker disagrees with that word)
L805[11:58:39] ⇦
Quits: sciguyryan (~sciguyrya@45.62.37.30) (Remote host closed the
connection)
L806[11:58:53] <barteks2x> I also disagree
with existance of that word, but let's say it exists
L807[11:59:04] <howtonotwin> flatMap now
takes a function and lets you pass it a value asychronously
L808[11:59:13] <ghz|afk> words are
fluids
L809[11:59:21] <ghz|afk> dictionaries are
cages trying to keep them fixed
L810[11:59:30] <howtonotwin> Say I have a
function doAThing(Thing t)
L811[11:59:51] <howtonotwin> *OtherThing
doAThing(Thing t)
L812[12:00:09] <howtonotwin>
*Future<OtherThing> doAThing(Thing t)
L813[12:00:14] <howtonotwin> there
:P
L814[12:00:23] <howtonotwin> and a
Future<Thing>
L815[12:00:47] <howtonotwin> doAThing
requires a Thing before it can run
L816[12:00:58] ⇦
Quits: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308) (Ping timeout:
206 seconds)
L817[12:01:06] <howtonotwin> you can't
just give it an IOU that says "eventually I will give you a
Thing"
L818[12:01:14] <howtonotwin> It wants the
Thing right now!
L819[12:01:29] <howtonotwin> so you use
flatMap on Future to shut it up
L820[12:01:44] <howtonotwin> when the
future finishes, then it passes the value into doAThing
L821[12:02:19] <howtonotwin>
"but," you say, "doAThing needs to also return a
Future! That makes it less flexible."
L822[12:02:35] <howtonotwin> as you can't
just take any old function and make it async
L823[12:02:46] <howtonotwin> but,
actually, you can
L824[12:02:54]
⇨ Joins: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308)
L825[12:03:21] <howtonotwin> remember that
all Future has return
L826[12:03:24] <barteks2x> you can as long
as it doesn't modify any state
L827[12:03:36] <howtonotwin> *any old pure
function
L828[12:04:02] <barteks2x> I just realized
I will be able to make worldgen kind of multithreaded. At least
part of it
L829[12:04:04] <howtonotwin> you can take
the output of the function, and pass it to return
L830[12:04:36] <howtonotwin> So return can
be used to turn any old function A => B into A =>
Monad<B>
L831[12:05:13] <howtonotwin> and flatMap
turns any function A => Monad<B> into Monad<A> =>
Monad<B>
L832[12:05:24] <howtonotwin> so by
combining them you can take any function and make it async
L833[12:05:33] <howtonotwin> for
Future
L834[12:05:58] <howtonotwin> and before I
punch more holes into my own words and prove the tutorial
fallacy/monad curse
L835[12:06:03] <howtonotwin> (and waste
your time)
L836[12:06:13] <howtonotwin> Fin.
L837[12:06:32] <barteks2x> I think you
just disproved it
L838[12:07:03] <howtonotwin> It
worked!?!?!
L839[12:07:10] *
howtonotwin dies of surprise
L840[12:07:28] <howtonotwin> of course my
explanation is on the crappy side
L841[12:07:43] <howtonotwin> I probably
missed a crapton along the way
L842[12:07:54] <howtonotwin> anyway I
should get going
L843[12:07:59] <howtonotwin> Good
luck
L844[12:08:01] <barteks2x> it's enough for
me to understand what people are talking about when they say
":monad"
L845[12:08:12] ⇦
Quits: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
(Quit: Pop!)
L846[12:08:34] <sham1> You guys know what
is really cool?
L847[12:08:53] <sham1> KVM
L848[12:10:29] <ghz|afk> why?
L849[12:10:52] <sham1> Because VMs that I
can pass my GPU to
L850[12:13:30] ***
diesieben|away is now known as diesieben07
L851[12:19:44]
⇨ Joins: Girafi
(Girafi@0x555178eb.adsl.cybercity.dk)
L852[12:20:51]
⇨ Joins: agowa338
(~Thunderbi@p549180E5.dip0.t-ipconnect.de)
L853[12:21:52]
⇨ Joins: KGS
(~KGS@h-155-4-129-249.na.cust.bahnhof.se)
L854[12:22:22]
⇨ Joins: Fye
(~Fye@dynamic-adsl-84-221-215-62.clienti.tiscali.it)
L855[12:24:46] <diesieben07> mezz, if you
are here, this should be faster for discussion than Github :D
L856[12:25:08] <diesieben07> do you think
I should be deprecating the direct accessor for the List in
FurnaceRecipes? because there is no way to keep that map up to date
with the new recipes
L857[12:26:55] <mezz> yeah getSmeltingList
needs to be redirecting people to your replacement
L858[12:27:11] <diesieben07> Ok. as for
the hashing, it does actualyl take wildcards into account
L859[12:27:17] <diesieben07> since
getExperience in the registry checks both
L860[12:27:33] <diesieben07> but if you
want i'll just use FurnaceRecipes as the backend
L861[12:28:00] <mezz> it's not something
that gets hammered 100 times a tick so I think you should keep it
simple
L862[12:28:10] ***
PaleOff is now known as PaleoCrafter
L863[12:28:20] <mezz> it's only checked
when you pull an item out of a furnace by hand
L864[12:29:21] <diesieben07> ok then
:)
L865[12:29:42] <diesieben07> although
there are probably machines that grab the XP
L866[12:29:44] <diesieben07> but oh
well
L867[12:30:07] <mezz> for (SmeltingRecipe
recipe : recipes) if (recipe.matches(input)) return recipe;
L868[12:30:14] <mezz> if anything, that'll
be the slow point heh
L869[12:31:23] ***
Mine|dreamland is now known as minecreatr
L870[12:31:52] <mezz> one last thing, can
you add getters for the inputs and outputs of the smelting
implementations you have? it will mean I don't need reflection in
JEI to get the values for displaying the recipes
L871[12:32:23] <ghz|afk> That'd be nice
for mods like ProjectE
L872[12:32:25] <ghz|afk> or my magic
mod
L873[12:32:29] <diesieben07> uh, sure i
can do that
L874[12:32:35] <ghz|afk> that compute
"equivalences" basedon input->output
L875[12:32:41] <mezz> yeah
L876[12:32:54] <diesieben07> another
question... @Deprecated tags in vanilla patches: javadocs yes or
no?
L877[12:33:04] <sham1> maybe
L878[12:33:20] <diesieben07> or just a
"// go to SmeltingRecipeRegistry" style comment
L879[12:33:36] <ghz|afk> IMO, anything
forge deprecates should have at least a comment explaining
why
L880[12:33:44] <ghz|afk> or at least
pointingto the explanation
L881[12:33:46] <mezz> just leave a comment
if it's in a patch
L882[12:33:58] <mezz> so it can be one
line
L883[12:34:09] <mezz> if you link to stuff
with a javadoc in one line it's going to be reaaally long
L884[12:34:33] <ghz|afk> I'd go for
"// Use the new recipe registry. See
SmeltingRecipeRegistry" or something along those lines
L885[12:34:45] <mezz> yep
L886[12:35:27] <mezz> I guess it could be
"@Deprecated /** see {@link
net.minecraftforge.common.smelting.SmeltingRecipeRegistry}
**/" ?
L887[12:35:52] <mezz> as long as the link
is to forge code it should always work, the only problem is linking
to obfuscated code
L888[12:36:31] <mezz> I dunno. as long as
there's some explanation it's probably good
L889[12:36:48]
⇨ Joins: RichardG (~richardg8@201.37.255.130)
L890[12:36:48]
MineBot sets mode: +v on RichardG
L891[12:39:35] <diesieben07> ok i'll do
that then
L892[12:41:53] <diesieben07> oh another
question... there is this existing patch for duplicate
recipes
L893[12:42:05] <diesieben07> really that
should be throwing an exceptino or at least a big warning...
L894[12:42:11] <diesieben07> or do you
wnat me to keep it as is?
L895[12:45:52] <mezz> with recipes it's
kind of whoever's there first wins
L896[12:46:04] <diesieben07> i know
L897[12:46:16] <mezz> you could log an
error but so far there has never been feedback
L898[12:46:20] <diesieben07> Ok
L899[12:46:45] <diesieben07> well, with
recipes i can't really do it anyways
L900[12:46:58] <diesieben07> my questino
was simply if the existing FML patch can now be removed
L901[12:47:22] <mezz> ok I haven't looked
at it, one sec
L902[12:48:49] <mezz> yeah keep it as-is.
maybe forge can be made stricter about recipes but I think it's a
separate issue
L903[12:49:15] <diesieben07> ok
L904[12:55:32]
⇨ Joins: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L905[12:58:48] <PaleoCrafter> do we have
any linguists specialising in Germanic/Scandinavian languages here?
:D
L906[13:02:33] ⇦
Quits: ThePsionic (~ThePsioni@ip5457f909.direct-adsl.nl) (Quit:
Leaving)
L907[13:05:51] <raoulvdberge> what
happened to Slot#onPickupFromSlot?
L908[13:07:33] <diesieben07> seems to be
func_190901_a now
L909[13:08:16] <raoulvdberge> !gm
func_190901_a
L910[13:08:24] <raoulvdberge> ty
L911[13:12:33]
⇨ Joins: Gil
(uid147942@id-147942.brockwell.irccloud.com)
L912[13:13:19] <mezz> hm diesieben07 it
looks like Item.getSmeltingExperience is useless now, can you
deprecate or remove it? I'm not sure which choice is best
L913[13:13:27] <Gil> blugh, Ex Nihilo
Omnia has a bunch of bugs apparently
L914[13:13:32] <Gil> my users are
complaining
L915[13:14:09] <diesieben07> is it useless
though? it can be used to set the experience for recipes that are
not yours but output your item
L916[13:14:35] <AshIndigo_> Woah mezz is
official forge member!
L917[13:14:45] <mezz> if I am reading your
patch correctly, you removed support for it
L918[13:15:08] <diesieben07> that is an
error then
L920[13:15:27] <diesieben07> yeah you are
right i forgot to restore the patch
L921[13:15:33] <diesieben07> should
i?
L922[13:16:07] <mezz> I feel like
Item.getSmeltingExperience is no longer useful with your new
system
L923[13:16:24] <diesieben07> Ok
L924[13:16:35] <diesieben07> I will
deprecate it then but still keep the patch. Or should I just kill
it?
L925[13:16:50] <diesieben07> i am not sure
how binary compatible we are trying to be with 1.11
L926[13:16:59] <mezz> just kill it, Forge
is still early
L927[13:17:03] <diesieben07> Ok
L928[13:19:25]
⇨ Joins: Ipsis
(~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L929[13:21:28] <mezz> oh another thing I
thought of, every interface in forge starts with I
L930[13:21:51] <diesieben07> oh yeah, that
stupid convention
L931[13:21:53] <mezz> it seems to be that
way consistently
L932[13:21:55] <diesieben07> are you going
ot make me follow it? :D
L933[13:21:59] <mezz> yeah
L934[13:22:07] *
diesieben07 grumps
L935[13:22:10] ⇦
Quits: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308) (Ping timeout:
206 seconds)
L936[13:22:17] <mezz> it's just how it is
*shrugs*
L937[13:22:36] <mezz> I like tabs over
spaces too but consistency is more important heh
L938[13:22:55] <diesieben07> i know, it's
just so 1994 :D
L939[13:24:30] <diesieben07> done :)
L940[13:24:31]
⇨ Joins: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308)
L941[13:25:13] <diesieben07> wat i broke
some patches... hold on
L942[13:25:56] <diesieben07> oh no i
didn't.
L943[13:26:07] <mezz> yeah it's fine,
patches are just confusing
L944[13:26:10] <diesieben07> yeah :D
L945[13:26:17] <mezz> took me a second to
see what was going on too
L946[13:26:19] <ghz|afk> patch-patches are
confusing
L947[13:26:26] <ghz|afk> or
patch-diffs
L948[13:26:30] <ghz|afk> whatever you
wanna call them
L949[13:26:30] <ghz|afk> XD
L950[13:27:56] <mezz> some of your javadoc
links are now broken from renaming things
L951[13:28:40] <diesieben07> fuck my life
haha
L952[13:28:55] <AshIndigo_> Fml
L953[13:28:59] <AshIndigo_> Forge mod
loader
L954[13:29:36] <ghz|afk> Forge my
Life
L955[13:30:35] <mezz> the @Nonnull
annotation on OreSmeltingRecipe.getInputStacks() is indented one
space too far :D
L956[13:31:04] <diesieben07> that's what i
get for normally coding with auto-formatting on...
L957[13:31:23] <diesieben07> Not sure
which javadocs you are talking about though, i found one
L958[13:31:54] <mezz> I just saw one that
was missing the I on front
L959[13:32:04] <diesieben07> Ah ok i found
that one
L960[13:32:07] <diesieben07> anything
else?
L961[13:32:11] <mezz> nope
L962[13:32:21] <diesieben07> cool
L963[13:33:16] <diesieben07> fixed
L964[13:34:08] <ghz|afk> yay ^_^
L965[13:34:10] <ghz|afk> so
L966[13:34:14] <ghz|afk> this talk about
Pr reminded me of
L968[13:34:37] <ghz|afk> I'm undecided
about what to do with it
L969[13:35:00] <ghz|afk> ultimately, I
believe the automation interface and the GUI interface don't belong
in one place
L970[13:35:21] <diesieben07> ghz well, for
a start I don't know why these methods need to be
container-exclusive
L971[13:35:27] <diesieben07> they sound
useful for other things too
L972[13:35:37] <diesieben07> AND
getInventoryStackLimit is a terrible name :D
L973[13:35:46] <ghz|afk> yes, but it was
the name used in the old IInventory
L974[13:35:49] <ghz|afk> that's why I used
it
L975[13:35:51] <diesieben07> i know
L976[13:36:21] <Gil> blugh, I switched
from Ex Nihilo Adscensio, which had some issues, to Ex Nihilo Omnia
and there's even more issues
L977[13:36:24] <Gil> this sucks
L978[13:36:32] <ghz|afk> anyhow, IMO,
there should have been multiple interfaces
L979[13:36:34] <ghz|afk>
IInventoryAutomation, with insert/extract
L980[13:36:43] <diesieben07> So ...
apparently forge now requires java 8, because it ships wiht
mercurious
L981[13:36:46] <diesieben07> -o
L982[13:36:46] <ghz|afk> and no
"slot" in them
L983[13:36:53] <Gil> I really don't feel
like digging into the code
L984[13:36:55] <PaleoCrafter> it does
indeed, diesieben07 :P
L985[13:37:02] *
diesieben07 dances happily
L986[13:37:09] <mezz> mercurious is java
8? sounds like a mistake
L987[13:37:11] <Gil> diesieben07: it's
2016, people should be on 8
L988[13:37:16] <ghz|afk> IInventoryAccess,
with size/get/set
L990[13:37:32] <diesieben07> Gil, oh i
know, that's why I am happy.
L991[13:37:44] <mezz> from what I
understand, forge is waiting for vanilla to do java 8
L992[13:37:52] <PaleoCrafter> cpw also
said that we would move to 8 anyways, not sure if it was due to
Mercurius though
L993[13:38:10] <ghz|afk> the idea is, I
believe
L994[13:38:13]
⇨ Joins: Artillect_ (~Artillect@166.170.45.49)
L995[13:38:15] <ghz|afk> as soon as mojang
makes mc java8
L996[13:38:17] <ghz|afk> forge will,
too
L997[13:38:18] <diesieben07> yeah cp w's
new FML stuff uses java 8
L998[13:38:45] ⇦
Quits: McJty (~jorrit@94-225-196-91.access.telenet.be) (Quit:
Leaving)
L999[13:38:49] <Gil> good
L1000[13:39:00] <Artillect_> So, for some
reason, I can't set the max stack size for an item
L1001[13:39:02] <Gil> I remember having
to support Java 5
L1002[13:39:05] <Gil> bluh
L1003[13:39:17] <ghz|afk> Gil: all my
mods are compiled for ajva8, already
L1004[13:39:23] <Gil> good plan
L1005[13:39:45] <Gil> I just released my
first new thing in a while and instantly remembered why I didn't
release shit anymore
L1006[13:39:50] <Gil> tech support is a
nightmare
L1007[13:39:56] <ghz|afk> heh
L1008[13:40:01] <Gil> "but I
downloaded it from Curse"
L1010[13:40:14] <Gil> did you install it
with Curse Launcher or CMPDL?
L1011[13:40:18] <Gil> "what's
that"
L1012[13:40:38] <Artillect_> I think the
triangles need a bit more velocity
L1013[13:40:42] <ghz|afk> PaleoCrafter:
they move too slowly
L1014[13:40:55] <Gil> that was AFTER an
hour of painfully trying to get him as far as he got
L1015[13:40:55] <ghz|afk> and they should
be stars, or at least equilateral
L1016[13:41:06] <Artillect_> Maybe add
more and make them a bit smaller
L1017[13:41:16] <ghz|afk> and yeah, too
big ;P
L1018[13:41:30]
⇦ Quits: Hotdog_Daddy_Away
(~Cast0077@24-181-179-41.dhcp.nwtn.ct.charter.com) (Quit:
Poof)
L1019[13:41:35] ***
Keridos|away is now known as Keridos
L1020[13:42:00] <PaleoCrafter> I would've
made them equilateral, but Synfig is stupid and doesn't actually
seem to have a triangle primitive and I didn't want to export them
from somewhere else xD
L1021[13:42:12] <Artillect_> Can anyone
help me with a problem setting max stack size?
L1022[13:42:21] <Artillect_> I think
having them irregular looks fine
L1023[13:42:25]
⇨ Joins: Shambling
(~Joseph@24-181-186-74.dhcp.nwtn.ct.charter.com)
L1024[13:42:34] <ghz|afk> Artillect_:
what's the problem?
L1025[13:43:41] <Gil> I assume no one
here knows the Ex Nihilo Omnia author? Jozufozu on GitHub
L1026[13:44:07] <Artillect_> ghz|afk:
I've created an item with "this.setMaxStackSize(1)" in
the super (so that it overrides my base item class) but it won't
set the max stack size to 1, it stays at 64
L1027[13:44:25] <ghz|afk> can you show
your code?
L1028[13:44:34] <ghz|afk> (the two
classes)
L1029[13:44:35] <Artillect_> sure, I'll
paste it
L1031[13:46:22] <Shambling> say I wanted
to change how pumpkins are placed in the world, by replacing the
part that checks if its placable with normal block behavior, do I
just override the original pumpkin block and override the placement
code with placement code that doesn't check underneath the
pumpkin?
L1032[13:46:37] <diesieben07> Shambling,
PlayerInteractEvent sounds appropriate
L1034[13:47:11] <Shambling> that is a
forge command that can override the default vanilla block behavior?
I'll go read up on that
L1035[13:47:18] <diesieben07> no that is
an event.
L1036[13:47:48] <diesieben07> Artillect_,
how do you notice it still is 64? and where do you use this
ItemVoltimeter class?
L1037[13:48:29] <ghz|afk> side-note:
setRegistryName(Voltaics.modId+":"+name);
L1038[13:48:33] <ghz|afk> you don't need
the modid in setRegistryName
L1039[13:48:36] <diesieben07> also you
don't need to override the deprecated versions of the container
item methods
L1040[13:48:38] <ghz|afk> it will default
to the current mod's modid
L1041[13:48:57] <Artillect_> When I run
the mod through eclipse, in MC it stacks to 64. To load this, I've
essentially "stolen" Embers's item code and loaded them
with a registry of sorts
L1042[13:49:18] <Artillect_> it seems
like a standard ModItems class (the RegistryManager class) but
feels better to me
L1043[13:49:26] <Artillect_> I'll fix all
of that yeah
L1044[13:49:52] <ghz|afk> are you
actually using "new ItemVoltimeter()" in your
registration code?
L1045[13:50:48] <Shambling> ok I get it,
if the player interacts in a way with the world somehow, do
something. So I could use that to place a pumpkin without modifying
underlying vanilla code
L1046[13:51:02] <Shambling> always
thought it silly that you couldn't place pumpkins unless there was
something under them.
L1047[13:51:37] <Artillect_> ghz|afk
yeah
L1048[13:52:00] <Artillect_> the line is
"items.add(voltimeter = new
ItemBase("voltimeter",true));
L1049[13:52:00] <Artillect_> "
L1050[13:52:13] <ghz|afk> that is NOT
"new Itemvoltimeter" is it?
L1051[13:53:33] <Artillect_> I think that
would become new ItemVoltimeter
L1052[13:53:39] <diesieben07> wat
L1053[13:53:42] <diesieben07> that's not
how java works.
L1054[13:53:42] <Ordinastie> lol
L1055[13:53:42] <howtonotwin> wat
L1056[13:53:48] <Artillect_> it seems to
work just fine
L1057[13:54:05] <ghz|afk> not really,
though
L1058[13:54:05] <Ordinastie> he says
after coming here complaining it doesn't work
L1059[13:54:11] <ghz|afk> it does EXACTLY
as it says
L1060[13:54:15] <howtonotwin>
ItemVoltimeter.<init> is where the stacksize is set
L1061[13:54:16] <ghz|afk> it creates a
new instance of ItemBase
L1062[13:54:19] <Artillect_> It adds it
to the game just fine
L1063[13:54:23] <howtonotwin> you are
completely bypassing it
L1064[13:54:26] <Artillect_> it doesn't
limit the stack size
L1065[13:54:27] <ghz|afk> yes
L1066[13:54:32] <Artillect_> what do I
need to do then?
L1067[13:54:34] <ghz|afk> but it adds an
instance of ItemBase
L1068[13:54:37] <ghz|afk> not of
ItemVoltimeter
L1069[13:54:38] <diesieben07> because you
are NEVER callign the code that sets the stack size
L1070[13:54:43] <ghz|afk> because you
told it to create a new ItemBase
L1071[13:54:48] <diesieben07> so it will
promptly go ahead and never set the stack size.
L1072[13:54:58] <diesieben07> computers
always do EXACTLY how they are told
L1073[13:55:00] <howtonotwin> there is no
relationship between new ItemBase("voltimeter",
true" and new ItemVoltimeter
L1074[13:55:04] <ghz|afk> think about
it
L1075[13:55:07] <ghz|afk> how would that
ever work?
L1076[13:55:10] <ghz|afk> how would the
compiler know that
L1077[13:55:11] <Artillect_> that makes
sense
L1078[13:55:13] <Artillect_> yeah
L1079[13:55:17] <ghz|afk> "new
ItemBase("voltimeter, true)"
L1080[13:55:19] <ghz|afk> should really
mean
L1081[13:55:23] <Artillect_> ok so how do
I call the ItemVoltimeter code?
L1082[13:55:23] <ghz|afk> "new
ItemVoltimeter()"
L1083[13:55:35] <ghz|afk> you... do
L1084[13:55:40] <ghz|afk> as you would
any other constructor
L1085[13:55:46] <Artillect_> ok
L1086[13:55:48] <ghz|afk> if you want a
new ItemVoltimeter, you tell java to do so
L1087[13:56:05]
⇨ Joins: Cast0077
(~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com)
L1088[13:56:24] <Artillect_> I'm not too
familiar with constructors and such
L1089[13:56:31] <ghz|afk> we can
tell
L1090[13:56:33] <Artillect_> I've never
worked a ton with object based programming
L1091[13:56:44] <ghz|afk> but you know
functions?
L1092[13:56:54] <Artillect_> yeah
L1093[13:56:59] <ghz|afk> so think of it
this way
L1094[13:57:02] <ghz|afk> when you
do
L1095[13:57:06] <ghz|afk> new
Something()
L1096[13:57:16] <ghz|afk> it internally
does
L1097[13:58:15] <Artillect_> now it
limits the stack size, thanks guys
L1098[13:58:27] <ghz|afk> "create
object of type"(Something); something.<init>(args)
L1099[13:58:44] <ghz|afk> where
<init> is a shorthand for the constructor function
L1100[13:58:53] <Artillect_> that makes
sense
L1101[13:59:02] <ghz|afk> so if you
say
L1102[13:59:04] <ghz|afk> new
ItemBase
L1103[13:59:08] <ghz|afk> it will
literally do
L1104[13:59:24] <ghz|afk> voltimeter =
new object of type ItemBase,
voltimeter.<init>("voltimeter", true)
L1105[13:59:32] <ghz|afk> which, being an
object of type ItemBase
L1106[13:59:39] <ghz|afk> will call the
ItemBase code
L1107[13:59:54] <Artillect_> so when it
does items.add(voltimeter = new ItemVoltimeter()); it adds a
variable with type ItemVoltimeter to the array items?
L1108[14:00:05] <ghz|afk> no it adds an
instance
L1109[14:00:16] <Artillect_> yeah,
that
L1110[14:00:21] <howtonotwin> assignments
have values
L1111[14:00:32] <ghz|afk>
"variable" is what we call the label that holds the
value
L1112[14:00:35] <howtonotwin> voltimeter
= new ItemVoltimeter()
L1113[14:00:48] <howtonotwin> will assign
a ItemVoltimeter to voltimeter
L1114[14:01:07] <howtonotwin> and also
pass that same instance to items.add(
L1115[14:01:10] <howtonotwin> *()
L1116[14:01:11] <Artillect_> voltimeter
is the variable then?
L1117[14:01:14] <ghz|afk> yes
L1118[14:01:17] <Artillect_> ah
L1119[14:01:19]
⇦ Quits: CoolerExtreme (~CoolerExt@45.249.156.132) (Ping
timeout: 206 seconds)
L1120[14:01:40] <ghz|afk> when you
do
L1121[14:01:40] <ghz|afk>
items.add(voltimeter = new
ItemBase("voltimeter",true));
L1122[14:01:45] <ghz|afk> it does
basically
L1123[14:01:51] <ghz|afk> voltimeter =
new ItemBase("voltimeter",true)
L1124[14:01:55] <ghz|afk> followed
by
L1125[14:02:01] <ghz|afk>
items.add(voltimeter);
L1126[14:02:14] <Artillect_> ah
L1127[14:02:34] <ghz|afk> (it's not
EXACTLY that, but it's close enough)
L1128[14:02:37] <Artillect_> yeah
L1129[14:02:50] <ghz|afk> one ofthe
features of C/C++/Java/C#
L1130[14:02:53] <ghz|afk> is chaining
assignments
L1131[14:03:04] <ghz|afk> since the
assignment returns the value of the expression on the right
L1132[14:03:05] <ghz|afk> you can
do
L1133[14:03:09] <ghz|afk> a=b=c=d=1
L1134[14:03:10] <Artillect_> so when we
refer to the item "voltimeter" elsewhere (such as in a
recipe) are we calling the variable or the class?
L1135[14:03:13] <ghz|afk> which compiles
as
L1136[14:03:20] <ghz|afk>
a=(b=(c=(d=1)))
L1137[14:03:29] <ghz|afk> you reference
the variable
L1138[14:03:44] <diesieben07> and the
variable is a reference
L1139[14:03:45] <ghz|afk> which will
contain an object reference to the instance
L1140[14:03:46] <diesieben07> to an
object
L1141[14:03:51] <diesieben07> just to
confuse you even more :D
L1142[14:04:03] <Artillect_> in an array
would that be items.voltimeter?
L1143[14:04:10] <ghz|afk> wat?
L1144[14:04:18] <ghz|afk> first of all,
you don't have an array, there
L1145[14:04:21] <ghz|afk> .add is a
method of List
L1146[14:04:29] <ghz|afk> an array isused
with []
L1147[14:04:30] <Artillect_> like how
would we call the item?
L1148[14:04:31] <Artillect_> just
voltimeter?
L1149[14:04:33] <ghz|afk> and is of fixed
size
L1150[14:04:40] <ghz|afk> depends on
where you reference it from
L1151[14:04:47] <ghz|afk> really
L1152[14:04:55] <Artillect_> ah
L1154[14:05:07] <Artillect_> at the top
of the class it says arraylist so I assumed it was an array
L1155[14:05:17] <howtonotwin> or the
official oracle java tutorial website
L1156[14:05:23] <AshIndigo_> ArrayList !=
array
L1157[14:05:31] <Artillect_> I understand
that now
L1158[14:05:34] <diesieben07> ArrayList
is a list that uses an array internally
L1159[14:05:36] <howtonotwin> It's backed
by an array internally
L1160[14:05:38] <diesieben07> hence the
name
L1161[14:05:38] <Artillect_> ah
L1162[14:05:43] <howtonotwin> but List is
something totally different
L1163[14:05:50] <ghz|afk> Artillect_: no,
an ArrayList is a list that internally uses arrays for storage
;P
L1164[14:06:00] <ghz|afk> if it needs
more space, it will allocate more arrays
L1165[14:06:20] <ghz|afk> (or a bigger
one)
L1166[14:06:21] <Artillect_> so when we
refer to the item elsewhere do we need to "access" it
from the list or do we just straight up put voltimeter?
L1167[14:06:34] <ghz|afk> depends on
you
L1168[14:06:46] <ghz|afk> but chances are
you want to use the field (variable)
L1169[14:07:09] <howtonotwin> why DO you
store them all in a list?
L1170[14:07:14] <ghz|afk> you really need
to learn the basic programming concepts
L1171[14:07:18] <ghz|afk> or our
explanations won't make sense
L1173[14:07:32] <howtonotwin> I don't see
a reason for it
L1174[14:07:34] <Artillect_> I understand
the concepts just not Java
L1175[14:07:40] <ghz|afk> yes
L1176[14:07:47] <Artillect_> Embers does
it that way and it's pretty easy to comprehend for me
L1177[14:08:04] <howtonotwin> that's
good
L1178[14:08:13] <howtonotwin> but why do
you need the list?
L1179[14:08:23] <howtonotwin> it seems
unnecessary
L1180[14:09:08] <Artillect_> when it
registers models it seems to call them from the list one at a
time
L1181[14:09:37] <howtonotwin> ah
L1182[14:10:39] <Artillect_> it's so
weird being able to define types (or moreso doing it)
L1183[14:10:57] <Artillect_> in python I
only used the built-in ones
L1184[14:11:42] *
howtonotwin introduces Artillect_ to the shapeless
library
L1185[14:12:11] <howtonotwin> (At this
point you look at the sheer amount of typing and run away
screaming. (I did.))
L1186[14:12:25] *
AshIndigo_ has oddly never done python
L1187[14:12:47] <Artillect_> shapeless
library?
L1188[14:12:52] <ghz|afk> I looked at
python once
L1189[14:13:00] <Artillect_> python was
great for me
L1190[14:13:07] <howtonotwin> Don't worry
about it :P
L1191[14:13:11] <ghz|afk> I'm not a fan
of linebreak+indentation for scoping
L1192[14:13:18] <howtonotwin> It's not
for Java and it's not very useful for MC
L1193[14:13:25] <ghz|afk> I very much
prefer having actual delimiters
L1194[14:13:32] <Artillect_> my first
language was MS-DOS scripting (or whatever it's called)
L1195[14:13:34] <Shambling> I'm still
stuck in C :P
L1196[14:13:41] <Shambling> batch
files?
L1197[14:13:44] <ghz|afk> batch
scripting
L1198[14:13:45] <Artillect_> yeah
L1199[14:13:52] <Artillect_> and then I
learned BASIC
L1200[14:13:55] <ghz|afk> but that's not
really programming
L1201[14:13:55] <Artillect_> then
lua
L1202[14:13:55] <ghz|afk> XD
L1203[14:13:59] ***
Kolatra is now known as Kolatra|away
L1204[14:14:08] <Shambling> commodore64
basic was the best basic next to visual basic 6 :P
L1205[14:14:08] <Artillect_> it is turing
complete (i think) and can do a shitload of things
L1206[14:14:15] <Shambling> or was that
VB5...
L1207[14:14:17] <ghz|afk> I went BASIC
-> VisualBasic -> C#
L1208[14:14:20] <ghz|afk> for my main
programming
L1209[14:14:25] <Artillect_> I was using
some application on the 3ds to program games in basic
L1210[14:14:32]
⇦ Quits: Ipsis (~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
(Ping timeout: 384 seconds)
L1211[14:14:37] <ghz|afk> but learned C,
C++, Java, Javascript, ...
L1212[14:14:41] <Shambling> yeah I could
see doing that, problem was, C# came out about 10 years after I
stopped programming in college :P
L1213[14:14:58] <Shambling> and all my
profs pretty much taught c or those ancient AI languages
L1214[14:15:08] <ghz|afk> my uni taught
java
L1215[14:15:15] <Shambling> so I never
picked up on the point of classes :P
L1216[14:15:33] <Shambling> "Why use
a class, when I can just use a struct" I said.
L1217[14:15:34] <AshIndigo_> Im self
taught :/
L1218[14:15:49] <Artillect_> I'm self
taught as well
L1219[14:15:52] <ghz|afk> I was
self-taught
L1220[14:15:55] <ghz|afk> until I went to
uni
L1221[14:16:05] <ghz|afk> at uni, I
learned the basic concepts of WHY things are things
L1222[14:16:09] <Shambling> "do I
really need to overload +, when I can just create another function
called struct_adding" :P
L1223[14:16:18] <ghz|afk> quite a few
times I went "OOOH, THAT's WHY!"
L1224[14:16:21] <Shambling> yeah I'd say
theory was a big part of comp sci
L1225[14:16:29] <ghz|afk> IMO
L1226[14:16:39] <ghz|afk> having someone
teach you the boring part is best
L1227[14:16:41] <ghz|afk> becuase being
the boring part
L1228[14:16:45] <ghz|afk> you'll never
get around to it yourself
L1229[14:17:01] <ghz|afk> then you can
learn all the fancy stuff on your own terms
L1230[14:17:02] <Shambling> definitely
more fun than that bastard child of calculus where the only thing
you got to do was show proofs, rather than real math
L1231[14:17:07] <Artillect_> Currently
learning C alongside a proprietary library for robotics
L1232[14:17:11] <Artillect_> and holy
crap i love modern languages
L1233[14:17:29] <ghz|afk> the basic of
programming paradigms, imperative, object-oriented, functional,
logic
L1234[14:17:42] <ghz|afk> the basic of
concurrency (threading/async)
L1235[14:17:47] <Artillect_> I wish my
math classes were more proof-based
L1236[14:17:49] <AshIndigo_> It feels
weird if I try using a language based around whitespace
L1237[14:17:54] <ghz|afk> the basic of
data structures, file I/O and databases
L1238[14:18:16] <Artillect_> I love
learning why more than how
L1239[14:18:17] <Shambling> I prefer
languages that compile into actual machine language and don't rely
on 10,000 libraries and interpreters to do the work, but my god
sometimes you just don't want to define what type a variable
is
L1240[14:18:24] <Artillect_> Holy moly
localization is easy as fuck in MC
L1241[14:18:37] <Artillect_> you should
try whitespace then
L1242[14:18:44] <ghz|afk> yup,
I18n.format("translation.key", args)
L1243[14:18:52] <Artillect_> whitespace
is a beautiful language
L1244[14:18:57] <ghz|afk>
translation.key=Text %s and %s args
L1245[14:19:08] <Artillect_> I want to
learn a low-level language so I can do some work with
microcontrollers
L1246[14:19:36] <Shambling> released 2003
on april 1st, lol nice
L1247[14:20:05] <ghz|afk> Shambling: java
needs "var"/"auto"
L1248[14:20:20] <ghz|afk> I feel it's
stupid they didn't get around to adding type inference for
variables
L1249[14:20:40] <PaleoCrafter> I just
listened for 10 minutes to some dude talking philosophical shit
about blacksmithing whilst I just wanted to get a look at the
sparks xD
L1250[14:20:42] <Artillect_> how do I
output something to chat when the user right clicks an item on a
block?
L1251[14:21:05] <PaleoCrafter> it was
considered for J9, ghz|afk, iirc
L1252[14:21:05] <ghz|afk>
player.addChatMessage or whatever
L1253[14:21:14] <ghz|afk> PaleoCrafter:
"considered"
L1254[14:21:15] <Artillect_> and is that
just a string?
L1255[14:21:19] <ghz|afk> should have
been in like, java56
L1256[14:21:22] <ghz|afk> java5*
L1257[14:21:23] <ghz|afk> ;P
L1258[14:21:55]
⇨ Joins: MalkContent
(~MalkConte@p4FDCCBC6.dip0.t-ipconnect.de)
L1259[14:21:59] <Shambling> oh lord, my
brain just suffered a stack overflow reading how the whitespace
language works.
L1260[14:22:09] <ghz|afk> XD
L1262[14:22:11] <Shambling> in the words
of meme people... nope.jpg
L1263[14:22:32] <PaleoCrafter> at least
Whitespace users won't get into arguments about tabs vs. spaces
:P
L1264[14:22:41] <Shambling> =O
L1265[14:23:20] <AshIndigo_> :|
L1266[14:24:40] <Artillect_> ok guys,
tabs or spaces?
L1267[14:25:59] *
howtonotwin creates wHITESPACE, which is just like Whitespace
except spaces are tabs and tabs are spaces
L1268[14:26:15] <Artillect_> how can I
get the block the player is looking at?
L1269[14:26:28] <diesieben07> depends on
the context.
L1270[14:26:47] <Artillect_> on right
click, i want to output the coordinates of the block to chat
L1271[14:26:49] <howtonotwin> (The
implementation of the interpreter is "tr ' \t' '\t ' |
whitespace")
L1272[14:26:58] <Artillect_> simply as a
debug sort of thing
L1273[14:27:00] <diesieben07> right click
with your item?
L1274[14:27:04] <diesieben07> or
any?
L1275[14:27:04] <howtonotwin> in that
case you already have the blockpos
L1276[14:27:10] <Artillect_> right click
my item on a block
L1277[14:27:15] <diesieben07> override
onItemUse
L1278[14:27:35] <howtonotwin> Location of
the block is the BlockPos param
L1279[14:31:54]
⇨ Joins: killjoy
(~killjoy@cpe-2606-A000-1118-C091-7986-314E-1B2A-CB3E.dyn6.twc.com)
L1280[14:33:14] <Shambling> waila and the
one probe probably has some pretty good examples in the code for
ray tracing if you want to just look at a block while holding your
item
L1281[14:34:22]
⇨ Joins: quadraxis
(~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net)
L1282[14:35:49] <Artillect_> what type
does entityplayer.addChatMessage() take because it sure isn't a
string
L1283[14:36:07] <howtonotwin> use your
IDE?
L1284[14:36:13] <Artillect_> true
L1285[14:36:29] <killjoy> Should be
ITextComponent
L1286[14:36:45] <killjoy> Simplest is to
new TextComponentString("Your message")
L1287[14:46:16]
⇦ Quits: Artillect_ (~Artillect@166.170.45.49) (Ping timeout:
206 seconds)
L1289[14:49:02]
⇦ Quits: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
(Killed (NickServ (GHOST command used by howtolose)))
L1290[14:49:04]
⇨ Joins: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1292[14:51:16]
⇦ Quits: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
(Read error: Connection reset by peer)
L1293[14:53:19]
⇦ Quits: Shambling
(~Joseph@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit:
Leaving)
L1294[14:53:28]
⇨ Joins: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1295[14:53:38] <ghz|afk> PaleoCrafter:
yeh
L1296[14:53:50] <ghz|afk> although I
still think the sparks are too slow XD
L1297[14:54:18] <PaleoCrafter> I made
them a little slower than they probably should go, because I don't
have that many frames to work with :P
L1298[14:54:19] <ghz|afk> I mean, IMO,
they should shoot out quite fast, and then disappear
L1299[14:54:35] <PaleoCrafter> another
problem is that the trajectory isn't really spark-like xD
L1300[14:54:35] <ghz|afk> possibly
leaving some kind of trail
L1301[14:54:52] <PaleoCrafter> but I'd
need a lot more space than just the anvil for a realistic
trajectory
L1302[14:54:53] <ghz|afk> the thing about
sparks is that they often cool down mid-air
L1303[14:55:03] <ghz|afk> meaning they
stop shining
L1304[14:55:54]
⇨ Joins: Artillect (~Artillect@166.170.45.49)
L1305[14:55:57] <Artillect> do you just
return true at the end of the onItemUse block?
L1306[14:56:10] <ghz|afk> PaleoCrafter:
I'd make them movei n a straight line, really
L1307[14:56:24] <PaleoCrafter> where to
so?
L1308[14:56:26] <PaleoCrafter> or just
fading out?
L1309[14:56:32] <ghz|afk> just
disappearing when they reach the edge
L1310[14:56:36] <PaleoCrafter> eh
L1311[14:56:46] <howtonotwin> Artillect,
depends
L1312[14:56:53] <Artillect> I think it
would be better if they just left the edge
L1314[14:57:01] <PaleoCrafter> this
animation is to be used on the splashscreen, so that wouldn't look
good at all
L1315[14:57:02] <ghz|afk> like this
L1316[14:57:06]
⇨ Joins: williewillus
(~williewil@cpe-24-28-24-13.austin.res.rr.com)
L1317[14:57:08] <Artillect> maybe give it
a border
L1318[14:57:14] <ghz|afk> yes it would,
because that's how sparks look like IRL
L1319[14:57:18] <howtonotwin> if you
return true, you stop processing the right click
L1320[14:57:29] <howtonotwin> like how if
you right click an item
L1321[14:57:48]
⇦ Quits: SquareWheel
(~SquareWhe@s0106687f7463986c.ok.shawcable.net) (Ping timeout: 186
seconds)
L1322[14:57:52] <howtonotwin> first it
tries to use the item in the main hand on the block
L1323[14:57:55] <Artillect> what really
bothers me is that you're hitting an anvil directly with a
hammer
L1324[14:57:59] <Artillect> you really
never should do that
L1325[14:58:14] <howtonotwin> then it
tries to use the other hand (or does it go to the block?)
L1326[14:58:19]
⇨ Joins: InusualZ
(~InusualZ@adsl-64-237-236-206.prtc.net)
L1327[14:58:22] <Artillect> ok
L1328[14:58:39] <williewillus> lol I'm
making a flow chart about the interactions right now
L1329[14:58:41] <howtonotwin> if you
failed to do something, you return false, so you can continue
processing
L1330[14:58:55] <howtonotwin> if you DID,
true means to stop, as something has been done
L1331[14:59:01] <ghz|afk> uhm true
false... are you pre-1.9?
L1332[14:59:07] <howtonotwin> on the
client, be optimistic
L1333[14:59:19] <howtonotwin> Like if you
need data that only exists on the server
L1334[14:59:28] <howtonotwin> on the
client you should return true to be safe
L1335[14:59:31] <howtonotwin> and on the
server
L1336[14:59:35] <howtonotwin> after you
do the work
L1337[14:59:40] <Artillect> I'm on
1.10.2
L1338[14:59:42] <howtonotwin> there you
return the actual value
L1339[14:59:54] <Artillect> ok
L1340[15:00:19] <howtonotwin> and you
said you were printing something to chat?
L1341[15:00:40] <Artillect> yeah
L1343[15:00:46] <Artillect> why does this
not do what I want it to
L1344[15:01:05] <howtonotwin> only call
addChatMessage on the client
L1345[15:01:53] <howtonotwin> and if it
does something undesirable, debug it!
L1346[15:02:10] <Artillect> what's the
way to only call it on client side?
L1347[15:02:15] <Artillect>
@Sideonly(Client)?
L1348[15:02:19] <Artillect> I can't
remember
L1349[15:02:19] <howtonotwin>
NONONO
L1350[15:02:19] <williewillus> no
L1351[15:02:23] <howtonotwin> IZ
EVIL
L1352[15:02:29] <Artillect> really?
L1353[15:02:29] <williewillus> <insert
link to rtd>
L1354[15:02:32] <howtonotwin> you see
that World?
L1355[15:02:43] <Artillect> ah true
L1356[15:02:45] <howtonotwin> ask it if
it isRemote
L1358[15:02:54] <howtonotwin> true means
client, false means server
L1359[15:03:07] <howtonotwin> and someone
should probably write a page on chat
L1360[15:03:26] <Artillect> and if true
do the send to chat?
L1361[15:03:29] <howtonotwin> yes
L1362[15:03:32] <williewillus> a page on
what, siding?
L1363[15:03:35] <williewillus> if so just
linked it ;p
L1364[15:03:44] <howtonotwin> no, just
chat :P
L1365[15:03:53] <howtonotwin> On
ITextComponent
L1366[15:04:00] <williewillus> it's
pretty intuitive :P
L1367[15:04:20] <howtonotwin> and how the
sides work on addChatMessage
L1368[15:04:32] <Artillect> that makes a
lot of sense
L1369[15:05:03] <howtonotwin> this potato
cannot handle the strain of chrome+recompileMc
L1370[15:05:09] <howtonotwin> but it
could take decompileMc
L1371[15:05:14] <howtonotwin> what is
this
L1372[15:05:14] <williewillus> I mean,
for addChatMessage it's basicaly: if logical server, print on log
and send packet and if logical client just print it
L1373[15:05:54] <Artillect> so do if
world.isRemote == true send chat message else log stuff and send
packet?
L1374[15:06:01] <howtonotwin> ew
L1375[15:06:11] <howtonotwin> do not do
equality checks on booleans
L1376[15:06:12] <howtonotwin> xD
L1377[15:06:19] <williewillus> no, I was
describing how addChatMessage works in mc itslelf
L1378[15:06:20] <Artillect> do
equals()?
L1379[15:06:21] <williewillus> not how to
use it
L1380[15:06:24] <williewillus> no
lol
L1381[15:06:25] <Artillect> ah
L1382[15:06:28] <williewillus> just if
(world.isRemote)
L1383[15:06:30] <williewillus> :P
L1384[15:06:35] <Artillect> oh thats
righ
L1385[15:06:45] <williewillus> lol
L1386[15:06:46] <Artillect> I'm an
idiot
L1387[15:07:01] <howtonotwin> ssshh,
we're all idiots
L1388[15:07:03] <Artillect> it's still
not doing anything
L1389[15:07:26] <howtonotwin> debug
it
L1390[15:07:38] <howtonotwin> breakpoints
and all that
L1391[15:08:18] <howtonotwin> btw may I
introduce you to hastebin.com
L1392[15:08:26] <Artillect> how do I set
a breakpoint in eclipse?
L1393[15:08:35] <howtonotwin> See that
bar on the left
L1394[15:08:35] <kenzierocks> or
pastebin.com or gist.github.com
L1395[15:08:41] <howtonotwin> with the
line Es
L1396[15:08:43] <howtonotwin> *#s
L1397[15:08:51] <howtonotwin> double
click on it
L1398[15:09:19] <howtonotwin> I think
<C-b> to breakpoint the cursor
L1399[15:09:34] <Artillect> and I can do
this during runtime?
L1400[15:09:37] <howtonotwin> yes
L1401[15:09:46] <howtonotwin> just make
sure you run it with the debug icon
L1402[15:09:55] <Artillect> yeah
L1403[15:09:58] <howtonotwin> otherwise
you won't be able to do anything
L1404[15:10:28] <Artillect> should I put
a breakpoint on the onItemUse line?
L1405[15:10:39] <howtonotwin> if you put
one on the def of a method
L1406[15:10:44] <howtonotwin> it breaks
on entry to the method
L1407[15:10:57] <howtonotwin> if you put
one on a line, it stops when that line is hit
L1408[15:10:58]
⇦ Quits: MalkContent
(~MalkConte@p4FDCCBC6.dip0.t-ipconnect.de) (Quit:
Leaving)
L1409[15:10:58]
⇨ Joins: SquareWheel
(~SquareWhe@S0106687f7463986c.ok.shawcable.net)
L1410[15:11:19] <howtonotwin> if you put
one on the def of a class, it stops when it is loaded
L1411[15:11:28] <Artillect> so it's not
stopping when I call onItemUse...
L1412[15:11:30] <Artillect> hmm
L1413[15:11:44] <howtonotwin> in that
case it isn't getting called at all
L1414[15:11:58] <kenzierocks> warning
about method breakpoints -- i remember them being really slow
L1415[15:12:10] <howtonotwin> They
are?
L1416[15:12:23] <howtonotwin> That might
explain something I saw earlier today...
L1417[15:12:25] <howtonotwin> :P
L1418[15:12:25] <Artillect> shouldn't
they be pretty much instant?
L1419[15:12:33] <kenzierocks> no, for
whatever reason
L1420[15:12:38] <kenzierocks> erm
L1421[15:12:41] <Artillect> how do
breakpoints work on the compiler level?
L1422[15:12:41] <kenzierocks> they SHOULD
be
L1423[15:12:43] <kenzierocks> they're
not
L1424[15:12:49] <kenzierocks> they're not
done at the compiler
L1425[15:12:57] <kenzierocks> they're
done with hooks into the JVM iteself
L1426[15:13:23] <howtonotwin> uuuh
L1427[15:13:26] <Artillect> sounds like
magic
L1428[15:13:32] <howtonotwin> so I tried
to sDW 12.18.2.2151
L1429[15:13:37] <howtonotwin>
and...
L1431[15:13:50] <kenzierocks> it's not
really magic
L1432[15:14:03] <kenzierocks> now
classloading, that is magic
L1433[15:14:24] <Artillect> what should
happen when it hits a breakpoint?
L1436[15:14:47] <howtonotwin> the game
should freeze
L1437[15:14:51] <Artillect> PaleoCrafter
make them go both directions
L1438[15:14:55] <howtonotwin> and eclipse
should change its UI
L1439[15:14:58] <williewillus> particle
angle looks weird but i like the rest
L1440[15:15:03] <ghz|afk> PaleoCrafter:
too similar
L1441[15:15:09] <ghz|afk> make them have
different speeds, maybe?
L1442[15:15:14] <ghz|afk> and more spread
angle?
L1443[15:15:50] <Artillect> it should be
hitting something on the anvil as opposed to the anvil
directly
L1444[15:16:01] <Artillect> if you want
to follow real life
L1445[15:16:08] <PaleoCrafter> tsk, who
cares about real life? :P
L1446[15:16:10] <howtonotwin> this is MC
:P
L1447[15:16:26] <Artillect> all of the
metalworkers looking at you hitting an anvil with a hammer
L1448[15:16:29] <Artillect> lol
L1449[15:16:36] <howtonotwin> where the
sand falls down but not the cubic meter of solid diamond :P
L1450[15:16:44] <Artillect> true
L1451[15:16:58] <howtonotwin> and god the
gold/diamond block textures are uglt
L1452[15:17:00] <howtonotwin> *ugly
L1453[15:17:08] <Artillect> it's some
oddity in the higgs field or something
L1454[15:17:51] <howtonotwin> though
seriously, does anyone know why setupDecompWorkspace isn't
working
L1455[15:18:08] <ghz|afk> the forge maven
repository has been failing all day
L1456[15:18:09] <ghz|afk> on and
off
L1457[15:18:16] <howtonotwin> It's not
that
L1458[15:18:21] <kenzierocks>
howtonotwin: mappings
L1459[15:18:23] <howtonotwin> The
artifacts downloaded fine
L1460[15:18:25] <kenzierocks> change them
to newer/older
L1461[15:18:32] <ghz|afk> version =
"1.11-13.19.0.2160"
L1462[15:18:32] <ghz|afk> runDir =
"run"
L1463[15:18:32] <ghz|afk> mappings =
"snapshot_20161126"
L1464[15:18:34] <ghz|afk> this works for
me
L1465[15:18:42] <kenzierocks> 20161118 is
derped
L1466[15:19:20] <howtonotwin> It was
1.10.2 :P
L1467[15:19:30] <ghz|afk> stable_29
L1468[15:19:31] <ghz|afk> for
1.10.2
L1469[15:19:37] <howtonotwin> oh
right
L1470[15:19:46] <kenzierocks> i'm not
totally sure, but stable_29 could also be derp -- try it
anyways
L1471[15:19:48] <howtonotwin> forgot that
that was made
L1473[15:20:28] <Artillect> what am I
doing wrong
L1474[15:21:05] <PaleoCrafter> jesus
christ, just went to the offline new forums and saw a shit ton of
posts due to the import of the old data
L1476[15:22:18] <Artillect> just a bit
flatter though
L1477[15:23:44] <Keridos> is it still
possible in 1.10.2 to use a TESR for items in inventory?
L1478[15:24:40] <ghz|afk> yes but highly
discouraged
L1479[15:25:04] <ghz|afk> specially
because you do NOT get any info about the stack
L1480[15:25:06] <ghz|afk> no meta or
nbt
L1481[15:27:19] <Artillect> if I override
onitemuse in ItemVoltimeter, which extends ItemBase which extends
Item, do I need to override onItemUse in ItemBase?
L1482[15:27:38]
⇦ Quits: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308) (Ping timeout:
384 seconds)
L1483[15:28:09] <howtonotwin> no
L1484[15:28:13]
⇨ Joins: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308)
L1485[15:28:25] <Artillect> just in
ItemVoltimeter?
L1486[15:28:28] <howtonotwin> yes
L1487[15:28:58] <barteks2x> 1.7.10 is
awful... my friend is starting 1.7.10 server. I promised myself I
won't touch the config. But I just can't look at all these potion
id conflicts...
L1488[15:29:01] <Artillect> what does the
onItemUse method do?
L1489[15:29:12] <williewillus> that is
called when you right click a block
L1490[15:29:15] <williewillus> with an
item in hand
L1491[15:29:25] <Artillect> i get
that
L1492[15:29:34] <williewillus> so
whatever the item wants to do :P
L1493[15:29:59] <Artillect> and then the
parameters are of type itemstack, entityplayer, and then a bunch of
ints
L1494[15:30:01] <howtonotwin> oh it
worked :D
L1495[15:30:10] <Artillect> what does the
itemstack-typed parameter do?
L1496[15:30:11] <howtonotwin> Thanks
kenzie+ghz
L1497[15:30:20] <howtonotwin> it's the
item being used
L1498[15:30:23] <williewillus> ^
L1499[15:30:26] <Artillect> is
entityplayer the player that used the item?
L1500[15:30:30] <howtonotwin> yep
L1501[15:30:30] <williewillus> of
course
L1502[15:30:34] <Artillect> and then the
ints are the coords of the block?
L1503[15:30:37] <williewillus> no it's a
random palyer on the server ;p
L1504[15:30:40] <williewillus> also there
shouldn't be ints
L1505[15:30:43] <williewillus> unless
you're on 1.7
L1506[15:30:48] <williewillus> :(
L1507[15:31:00] <Artillect> wait
L1508[15:31:02] <Artillect> sorry
L1509[15:31:13] <Artillect> it's
itemstack, entityplayer, world, int, int, int, int
L1510[15:31:21] <williewillus> get off of
1.7
L1511[15:31:40] <Artillect> i'm on
1.10
L1512[15:31:44] <Artillect> what should
the params be?
L1513[15:31:50] <ghz|afk> not those
L1514[15:31:52] <williewillus> lol
L1515[15:31:55] <ghz|afk> check the super
class
L1516[15:31:56] <howtonotwin> !!gm
onItemUse
L1517[15:31:57] <MCPBot_Reborn> === MC
1.11: net/minecraft/item/ItemStack.onItemUse (afi.a) UNLOCKED
===
L1518[15:31:57] <MCPBot_Reborn> Name : a
=> func_179546_a => onItemUse
L1519[15:31:58] <MCPBot_Reborn>
Descriptor : (Laax;Lajq;Lco;Lrh;Lcv;FFF)Lrj; =>
(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumHand;Lnet/minecraft/util/EnumFacing;FFF)Lnet/minecraft/util/EnumActionResult;
L1520[15:31:59] <MCPBot_Reborn> Comment :
Called when the player uses this ItemStack on a Block
(right-click). Places blocks, etc. (Legacy name:
tryPlaceItemIntoWorld)
L1521[15:31:59] <MCPBot_Reborn> SRG
Params : EntityPlayer p_179546_1_, World p_179546_2_, BlockPos
p_179546_3_, EnumHand p_179546_4_, EnumFacing p_179546_5_, F
p_179546_6_, F p_179546_7_, F p_179546_8_
L1522[15:32:00] <Artillect> well of
course
L1523[15:32:00] <MCPBot_Reborn> MCP
Params : EntityPlayer playerIn, World worldIn, BlockPos pos,
EnumHand hand, EnumFacing side, float hitX, float hitY, float
hitZ
L1524[15:32:01] <ghz|afk> and make sure
you REALLY are on 1.10.2
L1525[15:32:01] <Artillect> wow
L1526[15:32:01] <MCPBot_Reborn> Last
Change: 2014-09-27 14:44:41.980070-04:00 (diesieben07)
L1527[15:32:02] <MCPBot_Reborn>
L1528[15:32:02] <MCPBot_Reborn> === MC
1.11: net/minecraft/item/Item.onItemUse (afg.a) UNLOCKED ===
L1529[15:32:03] <MCPBot_Reborn> Name : a
=> func_180614_a => onItemUse
L1530[15:32:04] <MCPBot_Reborn>
Descriptor : (Laax;Lajq;Lco;Lrh;Lcv;FFF)Lrj; =>
(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumHand;Lnet/minecraft/util/EnumFacing;FFF)Lnet/minecraft/util/EnumActionResult;
L1531[15:32:04] <MCPBot_Reborn> Comment :
Called when a Block is right-clicked with this Item
L1532[15:32:05] <ghz|afk> you may have a
broken workspace
L1533[15:32:05] <MCPBot_Reborn> SRG
Params : EntityPlayer p_180614_1_, World p_180614_2_, BlockPos
p_180614_3_, EnumHand p_180614_4_, EnumFacing p_180614_5_, F
p_180614_6_, F p_180614_7_, F p_180614_8_
L1534[15:32:06] <MCPBot_Reborn> MCP
Params : EntityPlayer player, World worldIn, BlockPos pos, EnumHand
hand, EnumFacing facing, float hitX, float hitY, float hitZ
L1535[15:32:07] <MCPBot_Reborn> Last
Change: 2014-09-27 15:02:14.162640-04:00 (diesieben07)
L1536[15:32:07] <williewillus> lol
L1537[15:32:08] <howtonotwin> those
params
L1538[15:32:10]
⇦ Quits: killjoy
(~killjoy@cpe-2606-A000-1118-C091-7986-314E-1B2A-CB3E.dyn6.twc.com)
(Ping timeout: 384 seconds)
L1539[15:32:25] <diesieben07> wait i
changed that? wow
L1540[15:32:29] <ghz|afk> lol
L1541[15:32:30] <williewillus> lol
L1542[15:32:32] <Artillect> lol
L1543[15:32:32] <diesieben07> when the
heck was that
L1544[15:32:38] <williewillus> I always
encounter names that I named
L1545[15:32:39] <ghz|afk> 2 months
ago
L1546[15:32:45] <ghz|afk> no wait
L1547[15:32:46] <diesieben07> 2
YEARS
L1548[15:32:47] <williewillus> + 2
years
L1549[15:32:49] <ghz|afk> 2 months AND 2
years ago
L1550[15:32:50] <howtonotwin> xD
L1551[15:33:00] <Artillect> then how do I
get the block coords?
L1552[15:33:05] <Artillect> blockpos.x
and so on?
L1553[15:33:06] <williewillus>
"BlockPos pos"
L1554[15:33:06] <howtonotwin>
BlockPos
L1555[15:33:23] <howtonotwin> It
literally has "Block" and "position" in the
name xD
L1556[15:33:24] <ghz|afk> Artillect: let
your IDE show you the methods and such of BlockPos
L1557[15:33:26] <williewillus> as I asid
before, just type "pos." and your IDE should list
everything a BlockPos can do
L1558[15:33:30] <ghz|afk> it has
x/y/z-related things
L1559[15:33:31] <Artillect> ok
L1560[15:33:37] <Artillect> what are the
things of type F?
L1561[15:33:37] <williewillus> instead of
asking about everything haha let your ide help you
L1562[15:33:42] <howtonotwin> F =
float
L1563[15:33:48] <Artillect> ah
L1564[15:33:53] <howtonotwin> look at MCP
Params line
L1565[15:34:05] <Artillect> i'm
blind
L1566[15:34:10] <williewillus> anyways
back to making a flowcahrt for PIE t-t
L1567[15:34:28] ***
TTFT|Away is now known as TTFTCUTS
L1568[15:36:19] <Artillect> I think I've
figured it out
L1569[15:36:32] <Artillect> just gotta
test now
L1570[15:37:16] <Artillect> is enumhand
just the hand that it is in?
L1571[15:37:19] <Artillect>
right/left?
L1572[15:37:51] <howtonotwin> MAIN/OFF I
think
L1573[15:37:51]
⇨ Joins: ltp
(~ltp@mobile-166-172-191-240.mycingular.net)
L1574[15:38:04] <Artillect> so if
something only works in main hand you can use that to check?
L1575[15:38:09] <howtonotwin> yes
L1576[15:38:14] <Artillect> neat]
L1577[15:38:16] <Artillect> *neat
L1578[15:38:29] <Artillect> it's still
not stopping when I right click a thing
L1579[15:38:30] <howtonotwin> People can
swap their hands so we tend to say MAIN and OFF, not R/L
L1580[15:38:34] <Artillect> (with the
item)
L1581[15:38:39] <Artillect> true
L1582[15:39:28] <Artillect> what's
enumfacing?
L1583[15:39:58] <howtonotwin>
DUNSWE
L1584[15:40:18] <howtonotwin>
Down-Up-North-South-West-East
L1585[15:40:36] <howtonotwin> it's the
side you hit
L1586[15:40:41] <Artillect> ah
L1587[15:41:05]
⇦ Quits: ltp (~ltp@mobile-166-172-191-240.mycingular.net)
(Client Quit)
L1588[15:41:22] <Artillect> if you use
the rotatearound() method does that rotate the block?
L1589[15:41:31] ***
Vigaro is now known as Vigaro|AFK
L1590[15:41:41] ***
Vigaro|AFK is now known as Vigaro
L1591[15:41:58] <howtonotwin> no
L1592[15:42:27] <howtonotwin> It rotates
the EnumFacing
L1593[15:42:37] <Artillect> ah
L1594[15:42:45] <howtonotwin> and not all
blocks have facing anyway
L1595[15:43:11] <Artillect> so if you
want the face one face clockwise, you use that?
L1596[15:43:35] <howtonotwin> yep
L1598[15:44:13] <Artillect> can you check
that out?
L1599[15:44:22] <Artillect> I don't know
what I'm doing wrong
L1600[15:44:51] <Ordinastie> Artillect,
you need to learn programming, that's what you're doing wrong
:s
L1601[15:45:21] <Artillect> i know
programming just on a more basic level that isn't java
L1602[15:45:43] <Ordinastie> no you
don't
L1603[15:46:03] <Artillect> what makes
you think so?
L1604[15:46:10] <Ordinastie> and even if
that were true, you still need to learn Java
L1605[15:46:21] <Artillect> I'm learning
by tinkering
L1606[15:46:24] <Ordinastie> so I
strongly advise you do that first, and then only you can try
modding
L1607[15:46:28] <Artillect> it's what
works best for me
L1608[15:46:44] <Ordinastie> doesn't seem
to work though
L1609[15:46:55] <williewillus> chill
lol
L1610[15:47:04] <Artillect> yeah dude
you're being a bit of an ass
L1611[15:47:05] <Artillect> I'm
learning
L1612[15:47:41] <Ordinastie> it's like
sitting in a F1 race car and say "that's how I learn to drive
best"
L1613[15:47:58] <Artillect> no
L1614[15:48:15] <Artillect> it's like
saying "i'm learning how to make an engine by taking it
apart"
L1615[15:48:38] <howtonotwin> Tip: Do not
argue with ordi when he starts bashing somethin
L1616[15:48:46] <Artillect> good
point
L1617[15:48:50] <howtonotwin> It ends in
nothing for all involved
L1618[15:48:54] <howtonotwin> except for
me
L1619[15:48:57] <howtonotwin> I get to
make popcorn
L1620[15:49:00] <williewillus> lol
L1621[15:49:12] *
howtonotwin shares some with willie
L1622[15:49:23] <williewillus> either way
my advice 1. use your ide 2. use your ide 3. use your ide :P
L1623[15:49:25] <Ordinastie> Artillect,
fine, don't listen to me, let yourself be an annoyance for
everybody here
L1624[15:49:35] <Artillect> Do you guys
think I'm being annoying?
L1625[15:49:38] <williewillus> not
really?
L1626[15:49:42] <Artillect> Other than
you of course Ordinastie
L1627[15:49:52] <Artillect> you don't
even program anything important lol (slight jk)
L1628[15:50:04] <williewillus> i mean you
should use your ide more instead of asking
L1629[15:50:15] <williewillus> since it
immediately reveals answers 80% of the time
L1630[15:50:20] <Artillect> true
yeah
L1631[15:50:33] <Artillect> but right now
it isn't breaking on onItemUse when I right click with it
L1632[15:50:38] <Artillect> and it's not
throwing any errors
L1633[15:50:39] <howtonotwin> anyway I
hope 1.11 is taking breaking changes
L1634[15:50:43] <williewillus> did you
start in debug mode?
L1635[15:50:47] <williewillus>
howtonotwin: it is apparently
L1636[15:50:48] <Artillect> yep
L1637[15:50:52] <Ordinastie>
williewillus, just look at what he posted
L1638[15:50:59]
⇦ Quits: Noppes (~Noppes@62.41.77.242) (Read error:
Connection reset by peer)
L1639[15:51:03] <howtonotwin>
ArrowLooseEvent needs patching
L1640[15:51:17] <Artillect> what's even
bad with what I linked Ordinastie?
L1641[15:51:24] <williewillus> wait what
post
L1644[15:51:34] <Artillect> it's not a
post it's a link
L1645[15:51:56] <williewillus> do you not
get a compile error from that...?
L1646[15:52:02] <howtonotwin> when does
forge stop accepting breaking changes btw
L1647[15:52:11] <howtonotwin> is it just
when lex says so
L1648[15:52:15] <howtonotwin> or is there
a rule
L1649[15:52:15] <williewillus> whenever
the 1st rb comes out
L1650[15:52:16] <williewillus> so
yeah
L1651[15:52:22] <Artillect> I don't get a
compiler error
L1652[15:52:22] <williewillus> basically
when he feels like it
L1653[15:52:32] <williewillus> Artillect:
that code should not compile
L1654[15:52:36] <Ordinastie> I don't
think compiler would complain, but the IDE definitely should
L1655[15:52:36] <Artillect> really?
L1656[15:52:50] <howtonotwin>
@Override
L1657[15:52:51] <williewillus> @Override
is required by the javac spec to generate an error
L1658[15:52:57] <williewillus> you aren't
overriding anything
L1659[15:53:01] <williewillus> go look at
the Item class
L1660[15:53:04] <Artillect> oh I thought
I updated that
L1661[15:53:05] <Artillect> shoot
L1662[15:53:07] <Artillect> gimme a
sec
L1663[15:53:22] <williewillus> your ide
shold have told you (common theme here)
L1665[15:53:30] <Artillect> yeah it
did
L1666[15:53:31]
⇨ Joins: Jezza (~Jezza@92.206.4.86)
L1667[15:53:34] <Artillect> this is the
right code
L1668[15:53:47] <williewillus> and what
happens that isn't what you want?
L1669[15:53:57] <howtonotwin> fyi I think
BlockPos has a sane impl of toString
L1670[15:53:58] <williewillus> remember
that onItemUse only gets called if your cursor is over a
block
L1671[15:53:59] <Artillect> it doesn't do
anything
L1672[15:54:03] <Artillect> yeah
L1673[15:54:10] <howtonotwin> you can use
that instead of formatting yourself
L1674[15:54:58] <howtonotwin> Though it
might surround it with BlockPos{x = .., y = .., z = ..}
L1675[15:55:38] <Artillect> it seems that
onItemUse isn't being called when I right click a block
L1676[15:55:45] <williewillus> is this
1.10 or 1.11?
L1677[15:55:49] <Artillect> 1.10
L1678[15:55:52] <williewillus> that's the
wrong signature
L1679[15:56:00] <williewillus> put the
@Override back in and leave it there
L1680[15:56:03] <williewillus> and try
compiling again
L1681[15:56:21] <williewillus> whoever
used the bot earlier showed you the 1.11 signature
L1682[15:56:22] <williewillus> which
changed
L1683[15:56:24] <Artillect> yeah it's not
giving me shit with the @override
L1684[15:56:32] <williewillus> yes so
look at the error..
L1685[15:56:36] <Artillect> do the
parameters need to change
L1686[15:56:37] <williewillus> put
@Override on it and it should error
L1687[15:56:43] <Artillect> no what I
said it isn't giving an error
L1688[15:56:53] <williewillus> your ide
is bork then
L1689[15:57:18] <williewillus> look at
the superclass signature
L1690[15:57:19] *
howtonotwin borks once too many and overborks into maximum
BORKDRIVE
L1691[15:57:50] <Artillect> I removed the
onitemuse from my base item class and now it's telling me that I'm
not overriding and should add onitemuse() to my ItemBase
class
L1692[15:58:03] <williewillus> does your
ItemBase extend Item?
L1693[15:58:06] <Artillect> yes
L1694[15:58:27] <williewillus> and you
define onItemUse in Itembase?
L1695[15:58:31] <williewillus> why?
L1696[15:58:42] <howtonotwin>
welltheresyourproblem.mp4
L1697[15:58:48]
⇦ Quits: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
(Quit: Leaving)
L1698[15:58:52] <Artillect> because the
error told me I should when I was overriding
L1699[15:58:52] <williewillus> lol
L1700[15:58:57] <Artillect> so I don't
need to do that
L1701[15:59:00] <Artillect> and no
override
L1702[15:59:03] <williewillus> -.- you
need to override the thing in ITEM
L1703[15:59:14] <williewillus> and yes
you should always always use @Override
L1704[15:59:20] <Ordinastie> ^ see,
that's what annoyed looks like :)
L1705[15:59:23]
⇨ Joins: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L1706[15:59:37] <Artillect> Then where do
I do that
L1707[15:59:51] <Artillect> Ordinastie if
you're not gonna contribute anything maybe don't say anything
:)
L1708[15:59:51] <williewillus> I already
told you: look at Item class for its signature
L1710[16:00:17] <Ordinastie> Artillect, I
contributed already, I told you to go learn java, that's what
you're supposed to do
L1711[16:00:46] <williewillus> ehh it
looks a bit weird, but i can't really say why
L1712[16:00:54] <Ordinastie> you clearly
have no clue of what you're doing, and although it's fine in
itself, this channel is NOT a java channel
L1713[16:01:11] <Ordinastie> the only
thing I don't understand
L1714[16:01:11]
⇦ Quits: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308) (Ping timeout:
206 seconds)
L1715[16:01:15] <Artillect> Eh true it
does look odd yeah
L1716[16:01:20] <PaleoCrafter> the
sparks?
L1717[16:01:24] <williewillus> no just in
general
L1718[16:01:46] <PaleoCrafter> I could
give it a bit more space and make the hammer hit the ingot more in
the center
L1719[16:01:46] <howtonotwin> I say the
gold is too big
L1720[16:02:05] <Artillect> My questions
pertain to forge modding and not Java on its own so I don't think
they would fit on a Java channel
L1721[16:02:07] <Ordinastie> is what
people keeps trying to give java 101 lessons when it has been made
abundantly clear that you should learn java first and then try and
learn about modding
L1722[16:02:21] <howtonotwin> Maybe a
thin stick of gold that goes across the entire anvil
L1723[16:02:24] <howtonotwin> like a
sword
L1724[16:02:31]
⇨ Joins: CoolerExtreme
(~CoolerExt@45.249.156.132)
L1725[16:02:51]
⇨ Joins: Delaxarnyazer
(~Delaxarny@ip56572345.direct-adsl.nl)
L1726[16:03:03] <Artillect> Ordinastie:
As I've said before, I am learning Java, I have just never worked
much with Overrides and they currently work like magic to me
L1727[16:03:12] <Ordinastie> Artillect,
if you know java, then what you need to do is simple, you simply
need to override the onItemUse method from Item
L1728[16:03:13] <howtonotwin> Also the
angle of the sparks is too wide
L1729[16:03:33] <Ordinastie> Artillect,
that's basic object oriented concept
L1730[16:03:36] <williewillus> Artillect:
he has a point, overriding/inheritance is one of the core things
you need to grasp before going further
L1731[16:03:41] <howtonotwin> should be
about 2/3 that maybe
L1732[16:03:47] <PaleoCrafter> okay
L1733[16:03:55] <Ordinastie>
PaleoCrafter, I want my bounce bakc! :'(
L1734[16:03:57] <Artillect> It is a fair
point
L1735[16:06:01] <Artillect> Where do I
@Override onItemUse then?
L1736[16:06:09]
⇦ Quits: iari (~iari___@evana.futhark24.org) (Quit:
Leaving)
L1738[16:06:56]
⇦ Quits: Jezza (~Jezza@92.206.4.86) (Ping timeout: 198
seconds)
L1739[16:07:05]
⇨ Joins: RichardG_ (~richardg8@201.37.255.130)
L1740[16:07:06]
MineBot sets mode: +v on RichardG_
L1741[16:07:18] <howtonotwin> Is it
considered bad practice to not have a public constructor for a
custom Block/Item?
L1742[16:07:28]
⇦ Quits: RichardG (~richardg8@201.37.255.130) (Ping timeout:
206 seconds)
L1743[16:07:37] <kenzierocks> i wouldn't
think so
L1744[16:08:02] <howtonotwin> The way I
have it now corresponds to something like a singleton anonymous
class in Java
L1745[16:08:07] <Ordinastie> howtonotwin,
are you using a factory instead ?
L1746[16:08:10] <Ordinastie> if so,
that's ok
L1747[16:08:37] <howtonotwin> I'm
not
L1748[16:08:46] <williewillus> how is it
constructed then? :P
L1749[16:08:53] <howtonotwin> Scala
:P
L1750[16:08:59] <Ordinastie> eww
L1751[16:09:08] <howtonotwin> object
BlockX extends BlockMod(material, name) { ... }
L1752[16:09:09] <Ordinastie> here is a
door, take it => [- ]
L1753[16:09:12] <howtonotwin> xD
L1754[16:09:36] <Ordinastie> isn't
BlockMod(material, name) the ctor ?
L1755[16:09:42] *
howtonotwin opens door, but finds a stone wall in his
path
L1756[16:09:45] <howtonotwin> no
L1757[16:09:49] <howtonotwin> it's the
superclass ctor
L1758[16:09:57] <williewillus> yeah but
that generates a constructor that calls the super one right
L1759[16:10:00] <howtonotwin> Yes
L1760[16:10:03] <howtonotwin> but it's
private
L1761[16:10:11] <howtonotwin> It
generates a class BlockX$
L1762[16:10:26] <howtonotwin> and a
single instance of that class in BlockX$.MODULE$
L1763[16:10:34] <williewillus> i mean I
wouldn't worry about scala's internal impl details, on the surface
it's fine
L1764[16:10:35] <williewillus> lol
L1765[16:10:36] <howtonotwin> where
BlockX$ is basically and anon class
L1766[16:10:38] <howtonotwin> :P
L1767[16:10:42] <howtonotwin> *an
L1768[16:10:50] <Ordinastie> howtonotwin,
what if someone wanted to extend your block ?
L1769[16:11:21] <howtonotwin> true, but I
don't quite want them to.
L1770[16:11:25] <howtonotwin> erm
L1771[16:11:29] <howtonotwin> ignore
everything after the ,
L1773[16:12:00] <howtonotwin> more
triangles?
L1774[16:12:10] <Artillect> ^
L1775[16:12:12]
⇨ Joins: MalkContent
(~MalkConte@p4FDCCBC6.dip0.t-ipconnect.de)
L1776[16:12:32] <Ordinastie>
PaleoCrafter, what about making the sparks bouncing off the edges ?
:D
L1777[16:12:35] <howtonotwin> guess we're
back to the old way of writing blocks
L1778[16:12:52] <PaleoCrafter> fuck off
with your bounce, Ordinastie :P
L1779[16:13:04] <Ordinastie> but they're
coooool :'(
L1780[16:13:12] <howtonotwin> class
BlockX(name) extends BlockMod(material, name); object BlockX
extends BlockX(name)
L1781[16:13:52] <PaleoCrafter> i.e. more
sparks where don't go as far?
L1782[16:14:02] <PaleoCrafter> *where
some
L1783[16:14:08] <howtonotwin> yeah
L1784[16:14:15] <howtonotwin> but now
what goes in the class and what goes in the singleton?
L1785[16:14:35] <howtonotwin> like I
don't think it well to override getRenderType in the class
L1786[16:14:52] <howtonotwin> as a
subclass of my block might not want that
L1787[16:15:02] <williewillus> i think
it'd look better if the sparks arced up more
L1788[16:15:05] <howtonotwin> or, better
worded, it's specific to the block
L1789[16:15:06] <williewillus> instead of
just flying outward?
L1790[16:15:07] <williewillus> idk
L1791[16:16:34]
⇦ Quits: williewillus
(~williewil@cpe-24-28-24-13.austin.res.rr.com) (Quit:
Leaving)
L1792[16:17:04] ***
RichardG_ is now known as RichardG
L1793[16:17:06] <Artillect> Ok, I've
looked at the docs and I still can't figure out how to override
onitemuse from Item
L1794[16:17:31] <AshIndigo_> Post
code
L1795[16:17:48]
⇦ Quits: Katrix (~Katrix@cm-84.210.73.141.getinternet.no)
(Ping timeout: 186 seconds)
L1797[16:18:12] <Artillect> this is what
I've had for a while
L1798[16:18:14] <PaleoCrafter> use your
IDE for overrides :P
L1800[16:18:22]
⇨ Joins: Katrix
(~Katrix@2a02:fe0:cb10:2420:a5a0:93f4:2414:5b55)
L1801[16:18:24] <howtonotwin> no it's an
"idk how to oop" type thing here
L1802[16:18:40] <PaleoCrafter> still
should use the IDE or at least add @Override
L1803[16:18:49] <howtonotwin> Although I
respect that you may learn better by actually doing something, MC
modding is the crappiest place to learn Java
L1804[16:19:00] <howtonotwin> we have too
many hacks in place to be considered good for learning :P
L1805[16:19:02] <Artillect> that's
fair
L1806[16:19:14] <Artillect> I don't plan
on using Java much else when I can choose though
L1807[16:19:14] <howtonotwin> read the
entire java tutorial oracle has
L1808[16:19:16] <howtonotwin> it has
examples
L1809[16:19:20] <Artillect> ok
L1810[16:19:24] <howtonotwin> so you can
tinker about
L1811[16:19:33] <howtonotwin> THEN come
back here
L1812[16:19:39] <howtonotwin> should take
~a week
L1813[16:19:40] <PaleoCrafter> chances
are you'll get to learn about the JVM internals and bytecode more
if you learn with Forge and get nasty xD
L1814[16:20:00] <Artillect> sounds like
fun
L1815[16:20:05] <howtonotwin> it's
not
L1816[16:20:09] <howtonotwin> the JVM is
stoopid
L1817[16:20:34] <howtonotwin> and
classloaders are pure black magic
L1819[16:21:06] <howtonotwin> wat
L1820[16:21:20] <howtonotwin> methinks
someone's algorithm is crappy
L1821[16:21:51] <Artillect> lmao
L1822[16:22:14] <PaleoCrafter> nah,
totally looks the same
L1823[16:22:15] <Artillect> i mean an
anvil looks vaguely like a helicopter
L1824[16:22:21] <PaleoCrafter> stuff's
falling and everything
L1826[16:23:25]
⇦ Quits: Hgreb
(~Hgrebnedn@ptr-2hj4tbppx785m70ryu6wwl7a5.ip6.access.telenet.be)
(Ping timeout: 206 seconds)
L1827[16:23:26] <Artillect> there's one
triangle that doesn't look like it's fading as much
L1828[16:23:55] <ghz|afk> PaleoCrafter:
jsut out of curiosity, is it possible to export the same file but
with less frames? or you'd tave to recreate it?
L1829[16:24:00] <PaleoCrafter> the last
one to disappear, Artillect?
L1830[16:24:03] <Artillect> yeah
L1831[16:24:07] <PaleoCrafter> less
frames as in FPS, ghz|afk?
L1832[16:24:11] <ghz|afk> yes
L1833[16:24:11] <Artillect> I'd make them
all disappear at about the same time
L1834[16:24:23] <ghz|afk> with like
4fps
L1835[16:24:26] <Artillect> even though
irl they don't all disappear at the same time
L1836[16:24:38] <ghz|afk> (or 6 or
so)
L1837[16:24:53] <PaleoCrafter> if you
just want it slower, you can do so on gfycat :P
L1838[16:25:02] <ghz|afk> nono I want it
with less overall frames
L1839[16:25:19] <PaleoCrafter> I'll see
what I can do
L1840[16:25:25] <PaleoCrafter> but
chances are I'd have to redo it all
L1841[16:25:39] <PaleoCrafter> Artillect,
I actually changed it from disappearing all at the same time
L1842[16:25:44] <PaleoCrafter> looked a
little off
L1843[16:25:53] <ghz|afk> wait
L1845[16:26:03] <ghz|afk> the "open
large gif" option already does what I wanted to see
L1846[16:26:20] <PaleoCrafter> which is?
:P
L1847[16:26:27] <ghz|afk> the normal
player is a LOT smoother
L1848[16:26:29] <ghz|afk> it looks
"off"
L1849[16:26:31] <ghz|afk>
un-gif-like
L1850[16:26:58] <Artillect> maybe make
the hammer accelerate a bit more
L1851[16:27:05] <Artillect> and come back
up a bit slower
L1852[16:29:50] <Artillect> for some
reason (after some changes) mc is taking much longer to load from
my eclipse project
L1853[16:30:49] <Artillect> or at least
the application looks like it's still loading
L1854[16:30:57] <Artillect> the console
says that the sound engine was started
L1855[16:31:50]
⇨ Joins: FusionLord
(~FusionLor@2600:8800:1:e900:7537:595d:983e:4b3c)
L1856[16:32:10] <howtonotwin>
soundhandler is strange sometimes
L1857[16:32:20] <howtonotwin> it can load
super quickly or take 5 years
L1858[16:32:30] <Artillect> right now mc
is in the model loading period though
L1859[16:32:46] <howtonotwin> in general
loading is kinda variable
L1861[16:32:51] <howtonotwin> it's
fine
L1862[16:33:02] <howtonotwin> for both of
you
L1863[16:33:03] <Artillect> the hammer
motion looks more natural now
L1864[16:33:13] <Artillect> (i
think)
L1865[16:33:24] <illy> boop o/
L1866[16:33:41] <Artillect> i like it
PaleoCrafter
L1867[16:33:59] <PaleoCrafter> it's still
rather unnatural because it's only rotating, but I can't be arsed
to add some translation, because Synfig's a piece of shit xD
L1868[16:34:21] <Artillect> yeah don't
worry about that
L1869[16:34:27] <Artillect> I think it
looks fine just rotating
L1870[16:34:50] <Artillect> getting it to
look natural by moving it around would be incredibly hard it
seems
L1871[16:35:26] <Artillect> mc has been
loading for like 10 minutes now
L1872[16:35:29] <Artillect> did I break
something?
L1873[16:35:47] <PaleoCrafter> it
wouldn't be too hard if Synfig wasn't this bad xD
L1874[16:35:57] <PaleoCrafter> I'm glad
it hasn't crashed in the last few minutes
L1875[16:36:57]
⇦ Quits: CoolerExtreme (~CoolerExt@45.249.156.132) (Ping
timeout: 206 seconds)
L1876[16:37:15] <Artillect> it appears
changing the type of onItemUse to enumActionResult and fixing
assorted errors greatly increases load time
L1877[16:37:34] <ghz|afk> okay here's how
I'm picturing it
L1878[16:37:50] <ghz|afk> for reference,
I used the "Microsoft GIF animator" from the 90s, to
delete some frames and such
L1879[16:37:55] <ghz|afk> so it looks
like crap
L1881[16:38:19] <ghz|afk> the leftover
pixels are because the gif is using difference-frames
L1882[16:38:25] <ghz|afk> so removing
random frames doesn't just work
L1883[16:38:32] <howtonotwin> It still
makes me crack up seeing scala-continuations in the forge
libs...
L1884[16:38:52] <ghz|afk> I believe the
animation feels a LOT more like a loading screen
L1885[16:38:56] <ghz|afk> when it has
very few frames
L1886[16:39:16] <kenzierocks> that looks
nice ghz|afk /s
L1887[16:39:19] <ghz|afk> that has 11
frames total
L1888[16:39:26] <Artillect> How can I
look at the class a method comes from?
L1889[16:39:37] <ghz|afk> go to
super
L1890[16:39:39] <ghz|afk> or something
similar
L1891[16:39:46] <ghz|afk> there should be
a menu item for it in whatever IDE you use
L1892[16:40:05] <ghz|afk> go to
definition if you mean a method you are calling
L1893[16:40:59] <howtonotwin> Is Forge
still Java 6 for 1.11 or has it updated?
L1894[16:41:17] <ghz|afk> java6 until
mojang goes j8
L1895[16:41:20] <kenzierocks> yep
L1896[16:41:27] <howtonotwin> thx
L1897[16:41:28] <kenzierocks> although in
reality tons of modders just use j8
L1898[16:43:03] <howtonotwin> What do the
jsons in the repo under jsons/ do?
L1899[16:43:15] <howtonotwin> they seem
to define libraries but where are they used?
L1900[16:43:44] <howtonotwin> I think
maybe -dev is for the workspace and -rel is what the installer
looks for but I'm not sure
L1901[16:45:26] <PaleoCrafter> uhm...
Forge technically is J8 now
L1902[16:45:37] <PaleoCrafter> Mercurius
and shit
L1903[16:45:42] ***
diesieben07 is now known as diesieben|away
L1904[16:46:03] <kenzierocks> lol
L1905[16:46:14] <kenzierocks> you know
some people still use java 7 on their servers
L1906[16:46:22] <kenzierocks> even though
it's been dead for 2 years
L1907[16:46:26] <PaleoCrafter> idc
L1908[16:46:36] <Artillect> Ok, so since
my ItemVoltimeter inherits from ItemBase which inherits from Item,
shouldn't I just @Override in ItemVoltimeter?
L1909[16:46:43] <Artillect> I don't
understand why it would be otherwise
L1910[16:47:24] <howtonotwin> yes
L1911[16:49:03]
⇨ Joins: Umbraco
(~Umbraco@113x37x12x233.ap113.ftth.ucom.ne.jp)
L1912[16:52:38]
⇦ Quits: Katrix
(~Katrix@2a02:fe0:cb10:2420:a5a0:93f4:2414:5b55) (Ping timeout: 384
seconds)
L1913[16:52:56]
⇨ Joins: Katrix
(~Katrix@2a02:fe0:cb10:2420:d8af:2204:eba5:9464)
L1914[16:53:44] <Artillect> well fuck
me
L1915[16:53:45] <Artillect> that
worked
L1916[16:54:19] <ghz|afk> there
L1918[16:54:40] <Artillect> also, why is
the method for getting player x, y, and z posx and so on, but for a
block it is getX()?
L1919[16:55:00] <Artillect> turns out I
was just using the wrong parameters
L1920[16:55:07] <ghz|afk> PaleoCrafter:
ended up using photoshop to mess around with the frames in your gif
and export a low-frame-rate version ;P
L1921[16:55:24] <Artillect> ghz|afk i
think it looks good
L1922[16:55:25] <PaleoCrafter> how
low?
L1923[16:55:32] <kenzierocks> i don't
like it as much
L1924[16:55:38] <PaleoCrafter> because I
can actually reduce the FPS :P
L1925[16:55:39] <ghz|afk> it's variable
frame rate
L1926[16:55:40] <kenzierocks> mostly
because the particles exist for like 2 frames
L1927[16:55:45] <Artillect> ^
L1928[16:55:56] <kenzierocks> might as
well not have them do velocity
L1929[16:56:06] <kenzierocks> like in the
current animation for the loading screen
L1930[16:56:31] <ghz|afk> but it has 11
frames and takes slightly over a second, so around 10fps
L1931[16:57:03] <ghz|afk> the particles
existing for only 2-3 frames is part of what I didn't like
L1932[16:57:12] <ghz|afk> I mean for more
than*
L1933[16:57:27] <Artillect> ok, now that
I've gotten my item to work I'll work on learning some more
Java
L1934[16:57:35] <ghz|afk> I guess we just
have different ideas of waht would looks good
L1935[16:57:36] <ghz|afk> ;P
L1936[16:57:52] <Artillect> one last
question though, where can I read up on capabilities?
L1937[16:57:58] <ghz|afk> on the official
docs
L1938[16:57:59] <ghz|afk> on rtf
L1939[16:58:02] <ghz|afk> rtd*
L1940[16:58:04] <kenzierocks>
/topic
L1941[16:58:10] <ghz|afk> see the
documentation link in the topic
L1942[16:58:10] <Artillect> of
course
L1943[16:58:12] <kenzierocks> rtfd
:P
L1944[16:58:29] <ghz|afk> i have never
liked the "f"
L1945[16:58:33] <kenzierocks> read the
fabulous docs
L1946[16:58:45] <kenzierocks> read the
frank docs
L1947[16:58:52] <Artillect> and
capabilities can be used for cables and such?
L1948[16:59:13] <ghz|afk> capabilities
are just "things you can attach to things"
L1949[16:59:20] <ghz|afk> they don't care
what you use them for
L1950[16:59:25] <Artillect> yeah
L1951[16:59:32] <ghz|afk> they are a way
to flexibly attach and expose interfaces
L1952[16:59:41] <Artillect> let me
rephrase, I can use capabilities to make cables and pipes?
L1953[16:59:48] <ghz|afk> "do you
have something for this interface? yes? then give it to
me"
L1954[16:59:53] <ghz|afk> yes and
no
L1955[16:59:56]
⇦ Quits: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
(Ping timeout: 186 seconds)
L1956[16:59:57] <ghz|afk> IF you do make
cables and pipes
L1957[17:00:10] <ghz|afk> you will want
those cables and pipes to have an API
L1958[17:00:16] <ghz|afk> they'll have to
carry something
L1959[17:00:21] <ghz|afk> items, energy,
fluids, whatever
L1960[17:00:25] <ghz|afk> and it's those
things
L1961[17:00:30] <ghz|afk> the items,
energy, fluids, whatever
L1962[17:00:36] <ghz|afk> that will
probably have a capability-based API
L1963[17:00:47] <ghz|afk> so
L1964[17:01:06] <ghz|afk> you will
probably use capabilities in the process
L1965[17:01:06] <Artillect> do you have
any good examples of simple cables I can check out?
L1966[17:01:09] <ghz|afk> but the
capabilities don't make the cable
L1967[17:01:16]
⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit:
Leaving.)
L1968[17:01:17] <Artillect> sounds
good
L1969[17:05:16]
⇦ Quits: MalkContent
(~MalkConte@p4FDCCBC6.dip0.t-ipconnect.de) (Quit:
Leaving)
L1970[17:06:55]
⇦ Quits: KnightMiner
(~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net) (Ping
timeout: 206 seconds)
L1971[17:08:38] ***
MrKickkiller is now known as MrKick|Away
L1972[17:13:11]
⇦ Quits: Girafi (Girafi@0x555178eb.adsl.cybercity.dk) (Read
error: Connection reset by peer)
L1973[17:14:21]
⇨ Joins: VikeStep (~VikeStep@101.184.229.226)
L1974[17:16:03] ***
PaleoCrafter is now known as PaleOff
L1975[17:18:40]
⇦ Quits: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Read error:
Connection reset by peer)
L1976[17:18:41]
⇨ Joins: AshIndigo__
(~AshIndigo@188.29.165.75.threembb.co.uk)
L1977[17:18:42]
⇦ Quits: AshIndigo__
(~AshIndigo@188.29.165.75.threembb.co.uk) (Remote host closed the
connection)
L1978[17:20:40]
⇨ Joins: Vazkii
(~Vazkii@144.134.37.188.rev.vodafone.pt)
L1979[17:21:49] <Artillect> how many
changes are going to be made forge-wise between 1.10 and 1.11
L1980[17:25:27] <ghz|afk> depends on how
many interesting things people come up with, during the early days
of 1.11
L1981[17:25:37] <ghz|afk> but most of the
changes will be from mojang themselves
L1982[17:25:46] <ghz|afk> I mean, have
been*
L1983[17:34:17] ***
amadornes[Streaming] is now known as amadornes
L1984[17:35:15] *
TechnicianLP broke his pr workspace while trying to get one testmod
to load
L1985[17:37:50]
⇦ Quits: SquareWheel
(~SquareWhe@S0106687f7463986c.ok.shawcable.net) (Quit:
Leaving)
L1986[17:38:12] <Keridos> TehNut: using
your gradle maven integration from your SSTOW gradle but having a
problem here, it doesnt put anything into the mavenLocal folder
except a single xml
L1987[17:39:15] <Keridos> nvm
L1988[17:40:45]
⇦ Quits: Artillect (~Artillect@166.170.45.49) (Ping timeout:
206 seconds)
L1990[17:49:51] <barteks2x> I don't
understand code I wrote a few minutes ago...
L1992[17:50:25] <Keridos> why is there an
openmodularturrets-1.10.2 in it
L1993[17:52:14] <ghz|afk> because your
jar's base name is "openmodularturrets-1.10.2"?
L1995[17:52:42] <ghz|afk> the maven
structure is
L1996[17:53:00] <ghz|afk>
./groupid/artifactid/version/
L1997[17:53:40] <ghz|afk> in the gradle
deps, you'd then write it as
"openmodularturrets:OpenModularTurrets-1.10.2:3.0.0-3"
L1998[17:54:50] <Keridos> ah ghz|afk that
expains it
L1999[17:55:50] <barteks2x> that code is
way too confusing... and definitely doesn't work. And I have no
idea how to make it easier to understand :(
http://pastebin.com/qAt5SVPQ
L2000[17:56:50] <kenzierocks> what is it
supposed to do
L2001[17:57:19] <barteks2x> Do you know
how ChunkProviderOverworld.setBlocksInChunk works?
L2002[17:57:31] <barteks2x> it's supposed
to be iterator that does the 6 nested loops thing
L2003[17:57:54] <Keridos> my local
repository has a weird feature though, apparently the groupid is
not determined by the build.gradle
L2004[17:58:05] <Keridos> it takes the
name of the project in idea or jenkins
L2005[17:58:20] <Keridos> eh
L2006[17:58:31] <Keridos> artifactid I
mean
L2007[17:58:40] <ghz|afk> wat
L2008[17:58:44] <kenzierocks> that sounds
like the default behaviour?
L2009[17:58:48] <ghz|afk> do you
have
L2010[17:58:49] <ghz|afk> version =
"2.0.1"
L2011[17:58:49] <ghz|afk> group=
"gigaherz.enderRift"
L2012[17:58:49] <ghz|afk>
archivesBaseName = "EnderRift-1.11.0"
L2013[17:58:54] <Keridos> no
L2014[17:58:57] <ghz|afk> something like
that, in your build.gradle?
L2015[17:59:00] <kenzierocks> if you
don't specify archivesBaseName you get the name of the folder
L2016[17:59:05] <Keridos>
archivesBaseName = "${config.mod_id}"
L2017[17:59:08] <kenzierocks> or the name
of the project in settings.gradle
L2018[17:59:19] <kenzierocks> the
artifact id comes from the name of the project
L2019[17:59:23] <ghz|afk> and what's
config.mod_id
L2020[17:59:24] <kenzierocks> not the
archivesBaseName
L2021[18:00:02] <Keridos> config.mod_id
is a config file that gets read in
L2022[18:00:09] <Keridos> could probably
use project.mod_id
L2024[18:01:36]
⇨ Joins: MrIbby (~MrIbby@173.85.192.160)
L2025[18:02:24] <Keridos> I do specify
archivesBaseName so why does artifactId still get changed to be
some other value?
L2026[18:03:59] <Keridos> kenzierocks:
you have any idea how I could turn that off?
L2027[18:04:06] <kenzierocks> turn...
what off
L2028[18:04:18] <kenzierocks> gradle
grabbing the artifactId from the name?
L2029[18:04:21] <kenzierocks> by
specifying it?
L2030[18:04:36] <Keridos> you mean
archivesBaseName? I have that set
L2031[18:04:38] <kenzierocks> no
L2032[18:04:54] <kenzierocks> like i said
above, the maven plugin does not take the artifactId from
archivesBaseName
L2033[18:05:06] <Keridos> ah so I need
settings.gradle?
L2034[18:05:19] <kenzierocks> if you want
the name of the project to be the mod_id, yes
L2035[18:05:27] <kenzierocks> otherwise
you can just set it for the maven plugin
L2036[18:05:44]
⇦ Quits: TechnicianLP
(~Technicia@p4FE5738E.dip0.t-ipconnect.de) (Ping timeout: 384
seconds)
L2037[18:05:51] <kenzierocks> oh wait i'm
wrong
L2038[18:05:52] <kenzierocks> shit
L2039[18:05:58] <kenzierocks> artifactId
= uploadTask.repositories.mavenDeployer.pom.artifactId (if set) or
archiveTask.baseName.
L2040[18:06:09] <kenzierocks>
archiveTask.baseName defaults to project.archivesBaseName which in
turn defaults to project.name
L2041[18:06:54] <Keridos> doesnt that
mean that everything you be alright for me?
L2042[18:06:59] <Keridos> should
L2043[18:07:01] <Keridos> but its
not
L2044[18:07:05] <kenzierocks>
aaaahhh
L2045[18:07:09] <kenzierocks> but that's
for the old maven plugin
L2046[18:07:15] <kenzierocks> you're
using the new one
L2047[18:07:17] <kenzierocks> >
artifactId - Project.getName()
L2050[18:08:23] <Keridos> yeah i figured
that out, thanks for explaining it to me
L2051[18:11:01]
⇦ Quits: Vazkii (~Vazkii@144.134.37.188.rev.vodafone.pt)
(Read error: Connection reset by peer)
L2052[18:11:29]
⇨ Joins: KnightMiner
(~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net)
L2053[18:14:48]
⇦ Quits: Katrix
(~Katrix@2a02:fe0:cb10:2420:d8af:2204:eba5:9464) (Ping timeout: 384
seconds)
L2054[18:15:06]
⇨ Joins: Katrix
(~Katrix@2a02:fe0:cb10:2420:f98e:a72b:ecc6:547d)
L2055[18:16:31]
⇦ Quits: KnightMiner
(~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net) (Ping
timeout: 206 seconds)
L2056[18:16:37]
⇨ Joins: Artillect
(~Artillect@2602:306:c407:2eb0:510a:5fcd:657c:d299)
L2057[18:16:55] <Artillect> How can I
make my item ignore chests and inventories on right click?
L2058[18:17:34] <ghz|afk> you can't
L2059[18:17:43] <ghz|afk> the target has
the first say
L2060[18:17:50] <ghz|afk> shift-click to
bypass
L2061[18:17:59] <Keridos> wohoo now i can
safely deploy a lib for OMT and its companion mods
L2062[18:19:11] <Artillect> if I create a
tile entity, can I change that behavior or is it the same for
all?
L2063[18:19:22] <ghz|afk> actually
L2064[18:19:29] <ghz|afk> there's an
onItemUseFirst hmm
L2065[18:20:09]
⇨ Joins: sinkillerj
(~sinkiller@nc-67-232-9-133.dhcp.embarqhsd.net)
L2066[18:20:17] <ghz|afk> seems to be
called before the normal onItemUse
L2067[18:20:31] <ghz|afk> which would let
you invert the priority
L2068[18:21:00] <Artillect> it's just
called onItemUseFirst?
L2069[18:21:27] <ghz|afk> yes?
L2070[18:21:34] <Artillect> my IDE
doesn't see anything
L2071[18:21:41] <Artillect> one sec
L2072[18:21:48] <Artillect> nvm it
exists
L2073[18:24:10]
⇨ Joins: Shambling
(~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com)
L2074[18:25:28] ***
amadornes is now known as amadornes[OFF]
L2075[18:25:51]
⇦ Quits: Samario
(~Samario@cpc5-bigg3-2-0-cust219.9-2.cable.virginm.net) (Quit: You
think you are above consequences.)
L2076[18:26:09] <Artillect> it isn't
rotating clockwise, it's making it face east, north, south, then
west
L2077[18:26:14] <Artillect> how can I fix
that
L2078[18:27:52]
⇨ Joins: Everseeking
(~Everseeki@pool-100-6-80-90.pitbpa.fios.verizon.net)
L2079[18:30:34] <ghz|afk> how areyou
rotating?
L2080[18:31:43] <Artillect>
state.getBlock().rotateBlock(worldIn, pos, targetFacing)
L2081[18:32:04] <Artillect> IBlockState
state = worldIn.getBlockState(pos);
L2082[18:32:17] <Artillect> ^that line
comes before of course
L2083[18:33:40] <ghz|afk> yep
L2084[18:34:00] <ghz|afk> so, that
function calls state.cycleProperty
L2085[18:34:18] <ghz|afk> which calls an
internal cyclePropertyValue, which just uses the value order within
the property
L2086[18:34:35] <Artillect> so that's a
blockstates thing?
L2087[18:34:36] <ghz|afk> and
PropertyFacings aren't in a "cyclic" order
L2088[18:34:43] <Artillect> ah
L2089[18:34:46] <ghz|afk> if you are
rotating your own block
L2090[18:34:52] <ghz|afk> you can
implement your own rotateBlock
L2091[18:34:54] <ghz|afk> which does it
right
L2092[18:34:57] <Artillect> ok
L2093[18:34:59] <ghz|afk> otherwise,
you'll have to live with it
L2094[18:35:21] <Artillect> I could do it
on a block-by-block basis but that'd be a PITA
L2095[18:35:52] <ghz|afk> it's not up to
you to decide whihc order to rotate
L2096[18:35:56] <ghz|afk> it's up to the
block
L2097[18:36:05] <Artillect> ok
L2098[18:36:35] <ghz|afk> but as I was
saying
L2099[18:36:41] <ghz|afk> is it your own
blocks you want to rotate?
L2100[18:36:48] <Artillect> eventually,
yeah
L2101[18:37:13] <ghz|afk> yeah then just
make sure to use the right PropertyDirection settings
L2102[18:37:15] <ghz|afk> and it should
work
L2103[18:37:37] <Artillect> and I just
set it in order?
L2104[18:37:46] <ghz|afk> no
L2105[18:37:50] <ghz|afk> the property
will look like
L2106[18:38:01] <ghz|afk>
PropertyDirection FACING = PropertyDirection.create(stuff)
L2107[18:39:24] <Artillect> ok
L2108[18:39:43] <Artillect> what's the
stuff inside?
L2109[18:40:38] <ghz|afk> you'll see
;P
L2110[18:40:45] <Artillect> fair
enough
L2111[18:41:47] <Artillect> if I want to
make a block "dismantleable" with my wrench do I just
check if it has an interface "IIsDismantleable" and then
break it?
L2112[18:43:32] <ghz|afk> well ideally
you'll want some standard API
L2113[18:43:36] <ghz|afk> iuf you just
add your own
L2114[18:43:45] <ghz|afk> then it's yet
another incompatible wrench api around
L2115[18:43:54] <Artillect> true
L2116[18:44:01] <Artillect> what's one of
the generally accepted ones
L2117[18:44:16] <ghz|afk> no idea
L2118[18:44:27] <ghz|afk> check other
mods with wrenches
L2119[18:44:31] <Artillect> then we'll
have 15 competing standards lol
L2120[18:44:35] <Artillect> jk I'll check
those out
L2121[18:44:36] <ghz|afk> I tried to
design my own
L2123[18:44:44] <ghz|afk> but no one
seemed interested
L2124[18:44:46] <ghz|afk> so I left it
there
L2125[18:44:46] <ghz|afk> ;P
L2126[18:44:51] <Artillect> I could be
the first
L2127[18:45:01] <Artillect> can I
implement several wrench APIs?
L2128[18:45:07] <ghz|afk> of course
L2129[18:46:03] <ghz|afk> my idea was
that TileEntities that support being wrenched, would expose this
capability, and wrench items would check if it, and call the right
action
L2130[18:46:12] <ghz|afk> however, this
approach has certain flaws
L2131[18:46:20] <ghz|afk> first, that it
only works for blocks with TileEntities
L2132[18:46:28] <barteks2x> idea does
something weird again, it just won't show me compile errors
L2133[18:46:39] <barteks2x> unless I open
file that contains then
L2134[18:46:50] <barteks2x> even when I
rebuild the project
L2135[18:46:51] <ghz|afk> barteks2x: I
don't know how you manage to get so many issues with IDEA
L2136[18:46:52] <ghz|afk> XD
L2137[18:47:03] <barteks2x> imagine me
using eclipse :D
L2138[18:47:48] <ghz|afk> [01:46]
(ghz|afk): first, that it only works for blocks with
TileEntities
L2139[18:48:04] <Artillect> yeah
L2140[18:48:30] <blood_>
this.inventory.mainInventory[this.inventory.currentItem] what is
this for 1.11
L2141[18:48:40] <ghz|afk> ewh
L2142[18:48:46] <blood_> so i dont have
to build a workspace
L2143[18:48:47] <ghz|afk> you shouldn't
even do that in 1.10
L2144[18:48:53] <ghz|afk> or 1.9
L2145[18:48:59] <ghz|afk> whenever
offhand was added
L2146[18:49:00] <ghz|afk> you use
L2147[18:49:12] <ghz|afk>
entity.getHeldItem(EnumHand.MAIN)
L2148[18:49:22] <blood_> and for
set?
L2149[18:49:22] <ghz|afk> or something
along those lines
L2150[18:49:27] <barteks2x> it also takes
quite a fw seconds for idea to react to any mouse click for the
first time when running on second monitor...
L2151[18:49:48] <ghz|afk> setHeldItem, I
guess
L2152[18:49:58] <Artillect> is
dismantle() a standard forge thing or a thing you made for
capabilitycore ghz|afk?
L2153[18:50:14] <ghz|afk> a thing I
invented
L2154[18:50:24] <ghz|afk> the idea was
that the block would pop itself off
L2155[18:50:34] <blood_> setItemInHand vs
SetHeldItem
L2156[18:50:35] <blood_> wtf?
L2157[18:50:47] <blood_> both take
hand
L2158[18:51:01] <ghz|afk> I don't see
setItemInHand
L2159[18:51:06] <blood_> nm
L2160[18:51:11] <blood_> thats our end
=)
L2161[18:51:13] <blood_> ok thanks
L2162[18:51:22] <Artillect> Do you mind
if I take your power system apart and use it for my mod?
L2163[18:51:25] <ghz|afk> your end is
duplicating existing features, then
L2164[18:51:26] <ghz|afk> ;p
L2165[18:51:31] <ghz|afk> Artillect:
don't bother
L2166[18:51:35] <ghz|afk> it's
deprecated
L2167[18:51:38] <ghz|afk> forge has its
own, now
L2168[18:51:44] <Artillect> Ah
L2169[18:51:46] <blood_> ghz|afk: nope it
was our API =)
L2170[18:52:04] <ghz|afk> look for
CapabilityEnergy, Artillect
L2171[18:52:04] <Artillect> Is Forge
Energy configurable?
L2172[18:52:16] <Artillect> as in can I
add things to it
L2173[18:52:23] <ghz|afk> waht do you
mean things?
L2174[18:52:30] <Artillect> voltage
L2175[18:52:34] <Artillect> and more
probably
L2176[18:52:37] <ghz|afk> no
L2177[18:52:46] <ghz|afk> you'd need your
own API if you want more than just a single value
L2178[18:52:57] <ghz|afk> forge energy is
just RF with a new interface
L2179[18:53:01] <Artillect> ah
L2180[18:53:04] <ghz|afk> it's 1:1 with
RF and Tesla
L2181[18:53:08] <Artillect> would your
power system be a good start for me then?
L2182[18:53:11] <ghz|afk> in terms of
energy values
L2183[18:53:16] <ghz|afk> you could base
it on mine, I guess
L2184[18:53:23] <ghz|afk> it's not a bad
system
L2185[18:53:44] <ghz|afk> feature-wise
it's equivalent to forge's
L2186[18:57:30] <Artillect> if I want to
add voltage it's just another number in the interface?
L2187[18:57:36]
⇦ Quits: Kaiyouka
(~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 206
seconds)
L2188[18:57:51]
⇨ Joins: williewillus
(~williewil@cpe-24-28-24-13.austin.res.rr.com)
L2189[18:57:59] <ghz|afk> yes
L2190[18:58:09] <ghz|afk> it's just an
interface
L2191[18:58:12] <ghz|afk> it's up to you
how to expand it
L2192[18:58:21] <ghz|afk> think of what
operations you will need to do with it
L2193[18:59:16] ***
Keridos is now known as Keridos|away
L2194[19:00:33] <williewillus> how do i
turn off that thing in IDEA where it sticks the parameter names in
front of all your method calls?
L2195[19:02:49] <Artillect> how do I do
something when a block is placed?
L2196[19:02:57] <williewillus>
onBlockPlacedBy
L2197[19:03:05] <williewillus>
Block.onBlockPlacedBy
L2198[19:03:52] <Artillect> ok
L2199[19:04:08] <ghz|afk> Parameter
hints
L2200[19:04:09] <ghz|afk> The editor now
shows parameter hints for literals and nulls used as method
arguments. These hints make code much more readable.
L2201[19:04:09] <ghz|afk> If you find
hints redundant for a certain method, you can tell the IDE not to
show hints for this method. To disable hints completely, uncheck
Settings → Editor → General → Appearance → Show parameter name
hints.
L2202[19:04:24] <williewillus> thx
L2203[19:04:40] <williewillus> they're
useful in a foreign codebase but for mc and projecte methods I've
seen millions of times they're pointless
L2204[19:05:04]
⇦ Quits: MoxieGrrl
(~MoxieGrrl@173-23-172-139.client.mchsi.com) (Quit:
Leaving)
L2205[19:08:52]
⇨ Joins: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L2206[19:11:21]
⇨ Joins: KnightMiner
(~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net)
L2207[19:19:04]
⇦ Quits: Shambling
(~Shambling@24-181-186-74.dhcp.nwtn.ct.charter.com) (Quit:
Leaving)
L2208[19:21:14] <Artillect> And I just
had my first crash
L2209[19:21:14] <Artillect> lit
L2210[19:22:48] <Artillect> holy moly I
didn't realize how thorough the crash reporter was
L2211[19:26:31] <williewillus> I'm trying
to render an aabb in a TESR using RenderGlobal.drawBoundingBox, and
it keeps flickering on and off. any ideas how I screwed up the gl?
:P
L2212[19:27:05] <Artillect> "class
com.artillect.voltaics.tileentity.TileEntityCopperCell is missing a
mapping! This is a bug!"
L2213[19:27:06] <Artillect> how do I
fix
L2214[19:27:11] <williewillus> register
the TE
L2215[19:27:29] <Artillect> thanks
L2216[19:27:54] <barteks2x> interpolation
along z axis finally works :D
L2217[19:29:25] <Artillect> how can I get
information from a block that is set by an interface?/
L2218[19:30:14] <barteks2x> it seems to
work
L2219[19:30:49]
⇨ Joins: AstralSorcerer
(~AstralSor@128.151.114.117)
L2220[19:31:04] <williewillus> Artillect:
what does that mean?
L2221[19:31:55] <Artillect> actually a
capability
L2222[19:32:11] <Artillect> basically,
I've set the power capacity of this block using a capability
L2223[19:32:15] <Artillect> how can I
retrieve that?
L2224[19:32:29] <williewillus> blocks
don't have caps
L2225[19:32:31] <williewillus> te's
do
L2226[19:32:37] <Artillect> yes,
that
L2227[19:32:39] <Artillect> sorry
L2228[19:32:44] <williewillus> type
<your te variable>.
L2229[19:32:55] <williewillus> and let
your ide fill autocomplete and look for something with
"capability"
L2230[19:32:58] <williewillus> in the
name :P
L2231[19:33:34] <Artillect> how can I get
my tile entity from an onitemuse?
L2232[19:34:07]
⇨ Joins: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
L2233[19:34:18] <williewillus> from the
world and pos
L2234[19:35:11] <williewillus> i don't
get this rendering thing 0.o
L2235[19:35:32] <williewillus> the box I
want to render randomly flickers in and out, but when it does
render it's in the right place
L2236[19:35:37] <ghz|afk> hmmm
L2237[19:35:41] <ghz|afk> depth
testing?
L2238[19:35:45] <williewillus> right now
it's rendering whenever I look away from the TE
L2239[19:35:48] <ghz|afk> is there
something that would overlap?
L2240[19:35:48] <Artillect>
world.getBlockState(pos)?
L2241[19:35:55] <ghz|afk> try using
GlStateManager.disableDepth
L2242[19:35:57] <williewillus> Artillect:
you want a tileentity
L2243[19:36:00] <ghz|afk> and see if that
works any better
L2244[19:36:03] <williewillus>
iblockstate != tile entity
L2245[19:36:06] <Artillect> ah
L2246[19:36:25] <ghz|afk> Artillect:
there's a getTileEntity in there
L2247[19:36:32] <ghz|afk> what made you
think getBlockState was a better choice?
L2248[19:36:34] <williewillus> actually
this box isn't in the right place
L2249[19:36:49] <Artillect> so
world.getTileEntity(pos) gets me my te
L2250[19:36:52] <Artillect> awesome
L2251[19:36:58] <williewillus> if I have
an aabb in world coords how do I adjust it to render in a
TESR
L2252[19:36:58] <ghz|afk> usually.
L2253[19:37:06] <ghz|afk> always verify
it's what you expect
L2254[19:37:16] <ghz|afk> there's certain
conditions in which getTileEntity coudl return null, or another
TE
L2255[19:37:40] <Artillect> ok
L2256[19:37:48] <Artillect> now how do I
get capability-based info from it?
L2257[19:37:55] <williewillus> i told you
above lol
L2258[19:37:57] <williewillus> use your
ide
L2259[19:38:05] <Artillect> aight
L2260[19:38:15] <williewillus>
world.getTileEntity(pos). < bunch of completions come up here
look for capability >
L2261[19:38:21] <howtonotwin> you want to
"get capabilities" from a TE, you say?
L2262[19:38:29] <howtonotwin> (STRONG
HINTING)
L2263[19:38:37] <Artillect> yeah I got
it
L2264[19:38:41] <ghz|afk> but before you
"get capabilities"
L2265[19:38:46] <ghz|afk> you have to
check if it "has capabilities"
L2266[19:38:56] <Artillect> so do if has
capabilities
L2267[19:39:00] <Artillect> then get
capabilities?/
L2268[19:39:02] <williewillus> yup
L2269[19:39:08] <Artillect> cool
L2270[19:39:23] <williewillus> anyways
how do I change world coords to ??? coords so it renders correctly
in a TESR
L2271[19:39:27] <williewillus> i have no
idea how all this works
L2272[19:39:30] <williewillus> and what
x, y, z to the tesr are
L2273[19:39:45] <howtonotwin> that's the
loc in render coords i think
L2274[19:39:53] <williewillus> wat is a
render coord
L2275[19:40:00] <ghz|afk> williewillus:
uhm well
L2276[19:40:04] <ghz|afk> if you do
L2277[19:40:08] <ghz|afk>
GlStateManager.pushMatrix();
L2278[19:40:15] <ghz|afk>
GlStateManager.translate(x,y,z);
L2279[19:40:20] <howtonotwin> in most
games you don't move the camera in the world :P
L2280[19:40:21] <ghz|afk> you'll be
centered on the TE's position
L2281[19:40:27] <howtonotwin> you move
the world around the camera
L2282[19:40:36] <ghz|afk> then
L2283[19:40:47] <howtonotwin> so coords
(0, 0, 1) is the position one block in front of the camera
L2284[19:40:50] <williewillus> so if I
have an aabb in world coords I just translate(x, y, z) then draw
it?
L2285[19:40:56] <howtonotwin> and x, y, z
is the position of the TE relative to the camera
L2286[19:40:56] <ghz|afk> no
L2287[19:40:59] <ghz|afk> x,y,z are the
actual params
L2288[19:41:04] <ghz|afk> given to you in
the draw method
L2289[19:41:09] <williewillus> yes,
that
L2290[19:41:24] <ghz|afk> [02:40]
(ghz|afk): GlStateManager.pushMatrix();
L2291[19:41:24] <ghz|afk> [02:40]
(ghz|afk): GlStateManager.translate(x,y,z);
L2292[19:41:28] <williewillus> so just
Glsm.translate(x, y, z); RenderGlobal.drawBoundingBox(aabb......)
?
L2293[19:41:33] <ghz|afk> this puts the
matrix so that 0,0,0 == the block's relative 0,0,0
L2294[19:41:39] <howtonotwin> non
L2295[19:41:43] <williewillus> oh
bleh
L2296[19:41:52] <howtonotwin> the AABB
needs to start on the origin
L2297[19:41:56] <ghz|afk> so you have to
translate the AABB so that it's relative to the block the TE
belongs to
L2298[19:42:10]
⇦ Quits: Alex_hawks
(~Alex_hawk@2001:8003:858e:dd00:113e:eb30:8caf:51ee) (Read error:
Connection reset by peer)
L2299[19:42:11] <Artillect> what does
facing do in hascapability?
L2300[19:42:19] <Artillect> are
capabilities face-specific?
L2301[19:42:21] <williewillus> yes
L2302[19:42:22] <ghz|afk> which may
require something like .translate(AABB.minx, miny, minz)
L2303[19:42:22] <howtonotwin> yeah that's
kinda a relic of design
L2304[19:42:24] <howtonotwin> they
are
L2305[19:42:30] <ghz|afk> Artillect: they
can be
L2306[19:42:34] <ghz|afk> picture the
furnace
L2307[19:42:39] <ghz|afk> you know how if
you put a hopper on the top
L2308[19:42:42] <Artillect> yeah
L2309[19:42:44]
⇨ Joins: Alex_hawks
(~Alex_hawk@2001:8003:858e:dd00:cd1d:f539:4568:39eb)
L2310[19:42:45] <ghz|afk> it dumps into
the "input" slot
L2311[19:42:52] <ghz|afk> if you put a
hopper on a side, it dumps in the fuel slow
L2312[19:42:58] <ghz|afk> and a hopper on
the bottom takes from the output slot?
L2313[19:43:06] <ghz|afk> that's done
using sides, and exposing subsets of the slots
L2314[19:43:16] <Artillect> if I don't
make my block face-specific (or at least yet) how do I use
hascapabilities?
L2315[19:43:21] <ghz|afk> just use
null
L2316[19:43:25] <ghz|afk> to mean
"don't care"
L2317[19:44:04] <ghz|afk>
"null" is usually understood to be internal
L2318[19:44:12] <ghz|afk> that is, you
should only use it for YOUR blocks
L2319[19:44:17] <ghz|afk> that YOU know
accept it
L2320[19:44:25] <ghz|afk> on
otherpeople's blocks, you should never use null for the
facing
L2321[19:44:37] <ghz|afk> unless they
explicitly tell you that youcan
L2322[19:44:39] <ghz|afk> in their
documentation
L2323[19:44:56] <howtonotwin> you are
definitely allowed to use null on other peoples blocks
L2324[19:45:01] <howtonotwin> they should
expect it
L2325[19:45:05] <ghz|afk> you are
allowed, yes
L2326[19:45:10] <ghz|afk> but you
shouldn't go around doing so
L2327[19:45:26] <ghz|afk> because the
returned value may be an internal capability instance without
proper filtering or stuff
L2328[19:45:47] <ghz|afk> it shouldn't
crash, one way or another
L2329[19:45:50] <howtonotwin> null is
most certainly not taken to be internal, unless I missed
something
L2330[19:45:51] <williewillus> okay i
think it's in the right position now
L2331[19:45:53] <immibis> or you might
not get a capability when you expected to get one
L2332[19:46:00] <williewillus> but it
still disappears and appears
L2333[19:46:02] <williewillus>
randomly
L2334[19:46:34] <howtonotwin> Anyway, so
you know how lex doesn't want to ship scala with forge?
L2335[19:46:43] <ghz|afk> yep
L2336[19:46:46] <immibis> hasn't scala
been shipped with forge for a long time?
L2337[19:46:50] <ghz|afk> yes
L2338[19:46:51] <williewillus> I did aabb
= worldAabb.offset(-teX, -teY, -teZ);
RenderGlobal.drawBoundingBox(aabb.minX, minY, minZ ...);
L2339[19:46:54] <ghz|afk> but he has been
regretting it
L2340[19:46:57] <ghz|afk> for almost as
long
L2341[19:47:02] <williewillus> with
translate(x, y, z) before
L2342[19:47:02] <howtonotwin> He says
that he'll get around to it eventually, but he'd like it if someone
else just did it.
L2343[19:47:13] <williewillus> did
what
L2344[19:47:19] <ghz|afk> and they said
newer scala will NOT happen
L2345[19:47:24] <howtonotwin> remove
scala from forge
L2346[19:47:42] <ghz|afk> chances are it
will happen with the switch to java8
L2347[19:47:49] <howtonotwin> So would
removing the lines about it in 1.10{,.2}-{dev,rel}.json in Forge do
it?
L2348[19:48:10] <howtonotwin> That seems
to be the only place that refers to scala anywhere
L2349[19:48:11] *
ghz|afk has no idea
L2350[19:48:11] <williewillus> if I look
at my te from the west it works and not from the other side
-.-
L2351[19:48:30] <howtonotwin> I'll test
it
L2352[19:48:32] <howtonotwin>
anyway
L2353[19:48:36] <howtonotwin> so as a
workaround
L2354[19:48:37] <williewillus> oh wow
lol
L2355[19:48:37] <ghz|afk> williewillus:
wat o_O
L2356[19:48:42] <howtonotwin> well not
workaround
L2357[19:48:46] <williewillus> i didn't
disable alpha
L2358[19:48:48] <williewillus>
woops
L2359[19:48:50] <howtonotwin> so after
scala is gone
L2360[19:48:51] <ghz|afk> lol
L2361[19:49:20] <howtonotwin> would it be
possible to just make a mod that contains the libs and have mods
that use it depend on it?
L2363[19:49:37] <howtonotwin> the license
is permissive certainly enough for it
L2364[19:49:40] <williewillus> this is
just a call to a vanilla method
L2365[19:50:18] <ghz|afk> howtonotwin: it
would be enough just to dump the runtime jar in the mods folder,
no?
L2366[19:50:25] <ghz|afk> it's added to
the classpath, I believe
L2367[19:50:30] <howtonotwin> yeah but
then you cant check versions
L2368[19:50:35] <howtonotwin> well you
can
L2369[19:50:38] <ghz|afk> ah
L2370[19:50:42] <howtonotwin> but you
won't get the nice error screen
L2371[19:50:45] <ghz|afk> so you'd dump
it in there along with @API ?
L2372[19:50:49] <immibis> forge will yell
at you saying "why the hell are you dumping stuff in the mods
folder to add it to the classpath you moron" or something to
that effect
L2373[19:50:50] <ghz|afk> or @Mod
L2374[19:50:59] <howtonotwin> Yeah
L2375[19:51:12] <howtonotwin> just
repackage it all in a new jar with @Mod
L2376[19:51:17] <ghz|afk> I guess
L2377[19:51:24] <ghz|afk> can you use
after:X
L2378[19:51:28] <ghz|afk> for an @API
package?
L2379[19:51:35] <howtonotwin> don't think
you can
L2380[19:51:47] <howtonotwin> APIs are
attached to mods
L2381[19:51:55] <howtonotwin> and you
load after the mod
L2382[19:52:18] <ghz|afk> I guess the
@API does have a parent with the modid
L2383[19:52:32] <howtonotwin> No point in
using API anyway I guess
L2384[19:52:44] <howtonotwin> No ones
gonna package scala with their mod :P
L2385[19:52:56] <ghz|afk> yeah I meant so
that it doesn't show up in the mods list
L2386[19:53:07] <ghz|afk> it's
technically an api jar, not a mod jar
L2387[19:53:21] <howtonotwin> well so are
all those lib mods everyone makes
L2388[19:53:30] <howtonotwin> but that
doesn't stop them does it xD
L2389[19:53:33] <ghz|afk> yeah and it
annoys me ;P
L2390[19:53:40] <ghz|afk> if there was a
@LibraryMod
L2391[19:53:52] <ghz|afk> that lets you
declare them as libraries and not actual mods
L2392[19:54:08] <ghz|afk> I'd still have
the same annoyance, though
L2393[19:54:09] <howtonotwin> Make it
:P
L2394[19:54:18] <ghz|afk> which is that I
dislike having my mods depends on external jars
L2395[19:54:26] <ghz|afk> depend*
L2397[19:54:57] <ghz|afk> it indicates
the front?
L2398[19:55:11] <ghz|afk> dunno
L2399[19:55:12] <howtonotwin> no, the
colors indicate the front
L2400[19:55:20] <williewillus> this is a
call to a vanilla function that draws an arbitrary aabb
L2401[19:55:28] <howtonotwin> uh why is
it all black
L2402[19:55:39] <howtonotwin> it's
supposed to be colored and white xD
L2403[19:55:45] <williewillus> idk
L2404[19:55:53] <williewillus> i passed
all 1's for argb :P
L2405[19:56:03] <ghz|afk>
255,255,255,255
L2406[19:56:06] <howtonotwin> this is
going wonderfully for you xD
L2407[19:56:08] <ghz|afk> maybe
L2408[19:56:12] <williewillus> it's in
floats
L2409[19:56:26] <ghz|afk> yeah nm
that
L2410[19:56:43] <ghz|afk>
disableLighting?
L2411[19:57:00] <ghz|afk> it may be
thinking it's shadowed
L2412[19:57:18] <williewillus> nah
L2413[19:57:28] <ghz|afk> I mean, if
block lighting is enabled
L2414[19:57:33] <ghz|afk> it won't have
the lightmap values, and it will draw black
L2415[19:57:38] <williewillus> as in it
didn't work lol
L2416[19:58:05] <ghz|afk> this is what
rendermanager does
L2417[19:58:09] <ghz|afk> for
renderDebugBoundingBox
L2418[19:58:11] <ghz|afk>
GlStateManager.depthMask(false);
L2419[19:58:11] <ghz|afk>
GlStateManager.disableTexture2D();
L2420[19:58:11] <ghz|afk>
GlStateManager.disableLighting();
L2421[19:58:11] <ghz|afk>
GlStateManager.disableCull();
L2422[19:58:11] <ghz|afk>
GlStateManager.disableBlend();
L2423[19:59:03] <ghz|afk> try also adding
a GlStateManager.color(1,1,1,1)
L2425[20:00:41] <williewillus> lol well
one of those fixed it
L2426[20:00:55]
⇦ Quits: KnightMiner
(~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net) (Ping
timeout: 206 seconds)
L2427[20:01:48]
⇦ Quits: Delaxarnyazer (~Delaxarny@ip56572345.direct-adsl.nl)
(Ping timeout: 186 seconds)
L2428[20:02:14] *
immibis notices Forge got an energy API
L2429[20:02:22] <ghz|afk> yep
L2430[20:02:34] <ghz|afk> meant to be 1:1
with RF values
L2431[20:02:41] <ghz|afk> so 1:! with
Tesla also
L2432[20:02:43] <ghz|afk> 1:1*
L2433[20:03:02] <ghz|afk> no more excuses
to have "TileEntity implements Icrap"
L2434[20:03:20] <Artillect>
worldIn.getTileEntity(pos).getCapability(EnergyCapabilityProvider.energyCapability,
facing).getEnergy()
L2435[20:03:21] <Artillect> holy
moly
L2436[20:03:26] <Artillect> this is a
disaster of a line
L2437[20:03:31] <ghz|afk> yes.
L2438[20:03:32] <williewillus> not
really
L2439[20:03:34] <ghz|afk> split it
up
L2440[20:03:40] <ghz|afk> and add
nullchecks
L2441[20:03:42] <ghz|afk> ;P
L2442[20:03:42]
⇨ Joins: Delaxarnyazer
(~Delaxarny@2a02:a44e:91ce:0:80dc:7855:5421:3308)
L2443[20:03:43] <williewillus> where's
the te check \
L2444[20:03:46] <williewillus> and the
hasCap check
L2445[20:03:47] <williewillus> :P
L2446[20:03:55] <Artillect> I've done
that beforehand
L2447[20:04:04] <ghz|afk> then you need
to use variables
L2448[20:04:06] <howtonotwin> don't get
the TE twice
L2449[20:04:09] <Artillect> actually, how
do I check for TE?
L2450[20:04:16] <howtonotwin> nullcheck
getTE
L2451[20:04:17] <williewillus> instanceof
yourthing
L2452[20:04:23] <ghz|afk> or at least !=
null
L2453[20:04:34] <williewillus> i like
instanceof because it's an implicit null check as well
L2454[20:04:36] <Artillect> and
hascapability is a boolean right?
L2455[20:04:44] <williewillus> no it's a
float lol
L2456[20:04:46] <ghz|afk> returns a
boolean, yes
L2457[20:04:50] <Artillect> ok
L2458[20:05:03] <ghz|afk> as you'd expect
of any function named "hasSomething" or
"isSomething"
L2459[20:05:31] <Artillect> yeah
L2460[20:05:34] <immibis> ghz|afk: an
energy API was vehemently denied when I proposed it two years ago,
so it's just strange
L2461[20:05:40] <howtonotwin> Why does
the comment on RenderGlobal.markBlockRangeForRenderUpdate say
"On the server, does nothing."
L2462[20:05:48] <immibis> (ditto for
automatic ID assignment)
L2463[20:05:52] <howtonotwin> it doesn't
even exist on the server xD
L2464[20:05:58] <williewillus>
howtonotwin: from an itnerface?
L2465[20:06:10] <ghz|afk> immibis: lex
never liked the idea
L2466[20:06:23] <immibis> howtonotwin:
because the comment is inherited from IWorldEventListener
L2467[20:06:24] <ghz|afk> but eventually
he gave in to it "so people shut up and stop asking for
it"
L2468[20:06:26] *
howtonotwin is dumb
L2469[20:06:30] <immibis> ghz|afk: lex
was okay with it, it was overmind
L2470[20:06:40] <ghz|afk> oh?
L2471[20:06:52] <williewillus> the auto
id assignment was a natural extension of 1.7's stuff so I guess it
became ok
L2472[20:07:09] <immibis> also I'm not
going to say any more because talking about things lex hates me for
is probably grounds for banning me
L2473[20:07:17] <immibis> (again)
L2474[20:07:18] <ghz|afk> lol
L2475[20:07:27] <immibis> williewillus:
1.7 actually didn't have auto id assignment
L2476[20:07:31] <immibis> forge added
it
L2477[20:07:46] <williewillus> yeah, but
it was a natural thing to add after they moved to names
L2478[20:07:49] <ghz|afk> aren't IDs
still hardcoded now?
L2479[20:07:51] <ghz|afk> in vanilla
mc
L2480[20:07:52] <williewillus> yes
L2481[20:07:55] <williewillus> for
backward compat
L2482[20:08:08] <williewillus> well they
hardcode new stuff too
L2483[20:08:09] <williewillus> so
idk
L2484[20:08:27] <ghz|afk> dunno they
could have easily used one of their datafixers
L2485[20:08:28] <howtonotwin> so I'm
still relatively new
L2486[20:08:30] <Artillect>
worldIn.isRemote &&
worldIn.getTileEntity(pos).hasCapability(EnergyCapabilityProvider.energyCapability,
facing) && worldIn.getblock(pos) instanceof
TileEntity
L2487[20:08:34] <Artillect> is that good
enough for you guys?
L2488[20:08:41] <ghz|afk> to bind the old
IDs to the new string names
L2489[20:08:41] <Artillect> I'll clean it
up dont worry
L2490[20:08:42] <williewillus> wat
L2491[20:08:43] <howtonotwin> who is this
interesting imm1bis person?
L2492[20:08:44] <ghz|afk> but they chose
not to
L2493[20:08:52] <immibis>
world.getBlock(pos) instanceof TileEntity <- looks like it'll
always be false
L2494[20:08:55] <ghz|afk> so I guess they
don't care about having hardcoded IDs
L2495[20:08:58] <williewillus> that
method also doesn't exist
L2496[20:09:02] <williewillus> lol
L2497[20:09:08] <immibis> unless they
vastly changed how tile entities work in 1.10 or 1.11
L2498[20:09:14] <Artillect> whoops
L2499[20:09:29] <Artillect> meant
getblockstate
L2500[20:09:29] <ghz|afk> it's not even
getBlock
L2501[20:09:31] <ghz|afk> that says
getblock
L2502[20:09:41] <ghz|afk> which is not
even properly capitalized
L2503[20:09:41] <williewillus> why would
an iblockstate be an instanceof a TE??
L2504[20:09:44] <immibis> a BlockState
won't be a TileEntity either
L2505[20:09:50] <ghz|afk> Artillect: I
kinda wonder if you are programming in an IDE at all
L2506[20:09:52] <williewillus> you got it
right just above
L2507[20:09:55] <williewillus>
yeah...
L2508[20:09:58] <ghz|afk> because that
would happily show you the error
L2509[20:10:04] <Artillect> I just made
the change in my head while copying over
L2510[20:10:10] <williewillus> wat
L2511[20:10:12] <Artillect> I had
getTileEntity
L2512[20:10:13] <ghz|afk> but no
L2513[20:10:15] <ghz|afk> your head
doesn't work
L2514[20:10:16] <ghz|afk> XD
L2515[20:10:18] <Artillect> yeah
L2516[20:10:22] <williewillus> what made
you think "I should change it" lol
L2517[20:10:27] <immibis>
worldIn.getTileEntity(pos) instanceof TileEntity <- is
redundant
L2518[20:10:30] <ghz|afk> you had
something that was wrong
L2519[20:10:40] <ghz|afk> and decided to
change it for something that doesn't even make sense
L2520[20:10:44] <ghz|afk> went bad to
worse
L2521[20:10:45] <ghz|afk> ;P
L2522[20:11:01] <Artillect> then how do I
check if the thing at that position is a tile entity?
L2523[20:11:28] <williewillus> look at
the return type
L2524[20:11:31] <williewillus> it's
always going to ba TE
L2525[20:11:32] <williewillus> or
null
L2526[20:11:36] <Artillect> also, it's
fun to get criticism from the famous imibis
L2527[20:11:44] *
immibis is famous?
L2528[20:11:50] <williewillus> you need
to build your java basics more :P
L2529[20:11:51] <howtonotwin> Am I just
that sheltered?
L2530[20:11:59] <Artillect> so
worldIn.getTileEntity(pos) != null?
L2531[20:12:08] <howtonotwin> who is this
celebrity?
L2532[20:12:11] <williewillus> don't just
paste something and ask if it's right
L2533[20:12:13] <immibis> howtonotwin: I
haven't touched modding in about a year
L2534[20:12:15] *
howtonotwin hungers for knowledge
L2535[20:12:20] <williewillus> what's
"right" depends on what you are trying to
*accomplish*
L2536[20:12:24] <ghz|afk> Artillect: use
VARIABLES
L2537[20:12:26] <williewillus> so use
your ide and your head
L2538[20:12:27] <immibis> but I didn't
think I was famous before that
L2539[20:12:31] ***
Vigaro is now known as Vigaro|AFK
L2540[20:12:46] <williewillus> and don't
ask every little thing to be validated when your IDE can answer you
within 2 seconds
L2541[20:12:50] <Artillect> i mean you
had imibis microblocks
L2542[20:12:50] <williewillus> :P
L2543[20:12:56] <Artillect> sorry
L2544[20:13:07] <Artillect> some things
dont work and dont give me errors
L2546[20:13:18] <williewillus> if you're
in an ide it WOULD give you an error...
L2547[20:13:23] <ghz|afk> this is closer
to what you should have by now
L2548[20:13:31] <ghz|afk> if your IDE
isn't showing you errors
L2549[20:13:33] <howtonotwin> oh so
that's what BON means
L2550[20:13:35] <ghz|afk> then your IDE
is broken
L2551[20:13:54] <howtonotwin> I just
realized that I just googled you and you have no idea what I'm
talking about
L2552[20:14:03] <ghz|afk> howtonotwin:
BON == BeardedOctoNemesis == random github generated name
L2553[20:14:36] <howtonotwin>
"Bearded Octo Nemesis
L2554[20:14:36] <howtonotwin>
"GitHub suggested that name, btw.
L2555[20:14:36] <howtonotwin> "This
is a tool that deobfuscates mod downloads without decompiling them,
so you can test your mod's interactions with other mods in
MCP/Eclipse without reobfuscating."
L2556[20:14:45] <howtonotwin> Immib1s
2012
L2557[20:15:07] <immibis> no longer
relevant because everyone and their dog distributes source code for
their mods
L2558[20:15:14] <immibis> at the time,
they didn't
L2559[20:15:32] <ghz|afk> BON2 is still
useful from time to time
L2560[20:15:56] <howtonotwin> I think
it's on par with tickrate changer :P
L2561[20:16:29] <ghz|afk> I never used
the original BON, though -- I wasn't modding back then
L2562[20:16:40] <williewillus> tickrate
changer?
L2563[20:16:49] <howtonotwin> exactly
what it sounds like
L2564[20:17:00] <howtonotwin> asms the
server loop and some sound code
L2565[20:17:09] <howtonotwin> and lets
you change the tick rate
L2566[20:17:10] <ghz|afk> lol
L2567[20:17:15] <williewillus> sp only I
suppose lol
L2568[20:17:18] <howtonotwin> no
L2569[20:17:20] <howtonotwin> mp
too
L2570[20:17:25] <ghz|afk> o_O
L2571[20:17:40] <howtonotwin> it supports
per client tickrates too
L2572[20:17:46] <howtonotwin> so the
server has one tickrate
L2573[20:17:47] <williewillus> lol
what
L2574[20:17:48] <ghz|afk> that seems....
fancy
L2575[20:17:50] <howtonotwin> and each
client has its own
L2576[20:18:00] <williewillus> what
version was this for??
L2577[20:18:03] <immibis> sounds useful
for simulating server lag, or testing long-running stuff?
L2578[20:18:05] <ghz|afk> the
desyncs...
L2579[20:18:06] <howtonotwin> so you can
have server at 20, one client at 400, one at 10
L2580[20:18:13] <howtonotwin> 1.10
L2581[20:18:27] <howtonotwin> It's a TINY
bit of ASM
L2582[20:18:36] <howtonotwin> it probably
doesnt take any work to port it
L2583[20:18:43] <howtonotwin> oh
L2584[20:18:44] <howtonotwin> lol
L2585[20:18:47] <howtonotwin> 1.11
version released
L2586[20:19:03] <williewillus> lol I'm
gonna have to try this out
L2587[20:19:07] <howtonotwin> oh
crap
L2588[20:19:11] <williewillus> sounds
broken as fuck but cool
L2589[20:19:15] <howtonotwin> I was using
the 1.10 ver on 1.11 xD
L2590[20:19:24] <howtonotwin> I totally
forgot to update it
L2591[20:19:26] <howtonotwin> woops
L2592[20:19:49] <howtonotwin> sometimes
it helps if your shit is breaking 20x times slower, y'know?
L2593[20:19:56] <howtonotwin> or, you're
me
L2594[20:20:07] <howtonotwin> and have to
deal with items moving 5 chunks/second
L2595[20:20:11] <williewillus> so it's
slows everything in the main loop down?
L2596[20:20:15] <williewillus> *it
L2597[20:20:16] <howtonotwin> yes
L2598[20:20:17] <williewillus> or
more?
L2599[20:20:20] <howtonotwin> and
sounds
L2600[20:20:36] <howtonotwin> it also
makes renders slow down
L2601[20:20:45] <howtonotwin> (pistons
extend slowly)
L2602[20:20:53] <howtonotwin> it's pretty
much seamless
L2603[20:21:01] <howtonotwin> unless you
desync the client and server tickrates
L2604[20:21:06] <williewillus> well the
piston extension is backed by a field that's updated per tick I
thought
L2605[20:21:09] <howtonotwin> at that
point wierd shit happens
L2606[20:21:14] <immibis> williewillus:
everything is
L2607[20:21:15] <howtonotwin> no like the
animation
L2608[20:21:24] <howtonotwin> it's
smooth
L2609[20:21:28] <howtonotwin> and
slow
L2610[20:21:34] <williewillus> well
because it's interpolated from the tick-backed field
L2611[20:21:43] <williewillus> i don't
think there was any extra work done on that front
L2612[20:21:45] <Artillect> well now I
have a block that stores energy
L2613[20:21:48] <Artillect> but does 0
with it
L2614[20:23:00] <Artillect> now I have to
figure out everything else in terms of power system
L2616[20:31:07]
⇨ Joins: KnightMiner
(~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net)
L2617[20:34:39]
⇨ Joins: KingofGamesYami
(webchat@75-167-244-115.dvnp.qwest.net)
L2618[20:37:11]
⇨ Joins: CoolerExtreme
(~CoolerExt@45.249.156.132)
L2619[20:37:15]
⇦ Quits: KingofGamesYami
(webchat@75-167-244-115.dvnp.qwest.net) (Client Quit)
L2620[20:39:30]
⇨ Joins: Kaiyouka
(~IdiotNono@c-75-71-231-133.hsd1.co.comcast.net)
L2621[20:49:15]
⇨ Joins: KingofGamesYami
(~KingofGam@75-167-244-115.dvnp.qwest.net)
L2622[20:49:18] ***
tterrag|ZZZzzz is now known as tterrag
L2623[20:52:48]
⇦ Quits: KingofGamesYami
(~KingofGam@75-167-244-115.dvnp.qwest.net) (Quit:
Leaving)
L2624[20:54:43]
⇨ Joins: KingofGamesYami
(~KingofGam@75-167-244-115.dvnp.qwest.net)
L2625[20:55:00]
⇦ Quits: KingofGamesYami
(~KingofGam@75-167-244-115.dvnp.qwest.net) (Client
Quit)
L2626[20:56:08]
⇦ Quits: KGS (~KGS@h-155-4-129-249.na.cust.bahnhof.se) (Ping
timeout: 198 seconds)
L2627[20:57:29]
⇦ Quits: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Read error:
Connection reset by peer)
L2628[20:57:46]
⇨ Joins: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L2629[20:58:12]
⇨ Joins: RANKSHANK
(~Michael@ppp121-44-41-72.lns20.syd4.internode.on.net)
L2630[20:58:51]
⇦ Quits: MrIbby (~MrIbby@173.85.192.160) ()
L2631[20:59:26]
⇨ Joins: r4wk
(~r4wk@mtprnf0117w-047055105205.dhcp-dynamic.FibreOp.nl.bellaliant.net)
L2632[21:00:15]
⇦ Quits: sinkillerj
(~sinkiller@nc-67-232-9-133.dhcp.embarqhsd.net) (Quit:
またね)
L2633[21:01:02]
⇦ Quits: Wastl2_ (~Wastl2@x4e350e64.dyn.telefonica.de) (Read
error: Connection reset by peer)
L2634[21:01:35] <Artillect> I'm trying to
create a block with different textures on each side, but Eclipse
says "Syntax error on tokens, AnnotationName expected
instead" for the line "public static final
PropertyDirection FACING =
PropertyDirection.create("facing");
L2635[21:01:35] <Artillect> ",
what's wrong
L2636[21:03:32] <howtonotwin> eclipse is
wrong
L2637[21:03:54] <howtonotwin> twiddle
with it until it stops complaining
L2638[21:03:59] <Artillect> ok
L2639[21:04:16] <Artillect> where can I
import propertyfacing from?
L2640[21:04:27] <Artillect>
*PropertyDirection
L2641[21:05:10] <howtonotwin>
<C-S-o>
L2642[21:05:21] <howtonotwin>
"Organize Imports"
L2643[21:05:52] <howtonotwin>
Additionally <C-Space> = "List completions/Cycle lists
of completions"
L2644[21:05:54]
⇨ Joins: Wastl2
(~Wastl2@x4e3493ae.dyn.telefonica.de)
L2645[21:06:19]
⇦ Quits: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com) (Read error:
Connection reset by peer)
L2646[21:06:19]
⇨ Joins: AshIndigo__
(~AshIndigo@188.29.165.75.threembb.co.uk)
L2647[21:06:19]
⇦ Quits: AshIndigo__
(~AshIndigo@188.29.165.75.threembb.co.uk) (Read error: Connection
reset by peer)
L2648[21:06:22] <howtonotwin> And
<C-1> = "Quick Fix(es) for the error/warning under the
cursor"
L2649[21:07:13] <howtonotwin> Also
useful; <C-S-f> = "Format file according to
preferences"
L2650[21:07:18]
⇨ Joins: AshIndigo_
(~AshIndigo@79-67-168-211.dynamic.dsl.as9105.com)
L2651[21:07:50] <howtonotwin> In
minecraft you'll also find yourself researching what something
does
L2652[21:08:33] <howtonotwin> in that
case <C-LClk> = "Go to definition of symbol under
cursor"
L2653[21:08:58] <Artillect> It wants me
to insert "EnumBody" to complete EnumDeclaration and
"enum identifier" to complete EnumHeaderName after
"facing"
L2654[21:09:05] <Artillect> what exactly
does that mean
L2655[21:09:37] <howtonotwin> and
<C-A-h> = "Callers/accessors of method, field, or
constructor of class currently selected"
L2656[21:09:42] <howtonotwin> show more
code
L2658[21:10:40] <Artillect> only
pertinent errors are on line 23
L2659[21:10:58] <Artillect> the rest seem
to be errors related to the variable not being created
L2660[21:11:23] <howtonotwin> what is
that indentation o_O
L2661[21:11:34] <howtonotwin> reformat
the file pronto!
L2662[21:11:45] <howtonotwin> it has to
be in the class
L2663[21:11:55] <Artillect> yeah I'll fix
the indentation
L2664[21:11:58]
⇦ Quits: CoolerExtreme (~CoolerExt@45.249.156.132) (Ping
timeout: 206 seconds)
L2665[21:12:05] <howtonotwin> you can't
have definitions in free space like python
L2666[21:12:06] <Artillect> when I
copy-pasted it from mcjty's tutorial it bungled it
L2667[21:12:10] <howtonotwin> everything
is attached to a class
L2668[21:12:12] <howtonotwin> ew
L2669[21:12:15] <Artillect> whoops
L2670[21:12:17] <howtonotwin> copy paste
is bad
L2671[21:12:20] <Artillect> I didn't
realize it was outside
L2672[21:12:41] <howtonotwin> also dunno
why he uses getFacingFromEntity
L2673[21:12:54] <howtonotwin> open up the
BlockPiston from vanilla
L2674[21:13:02] <howtonotwin> it does the
same thing as this block
L2675[21:13:08] <howtonotwin> for setting
facing
L2676[21:13:21] <howtonotwin> there's the
correct method to get the facing from the entity there
L2677[21:13:41] <Artillect> what if I
just want horizontal facing?
L2678[21:13:46] <Artillect> like the
furnace?
L2679[21:14:41] <howtonotwin> then look
at the furnace :P
L2680[21:15:03] <Artillect> true
yeah
L2681[21:15:14] <howtonotwin>
placer.getHorizontalFacing().getOpposite()
L2683[21:16:04]
⇨ Joins: Eragonn1490
(~eragonn14@2600:1005:b00e:b979:84ea:f481:6f39:c761)
L2684[21:16:45] <howtonotwin> wah
L2685[21:16:47] <howtonotwin> no
L2686[21:16:54] <howtonotwin> under your
project in eclipse
L2687[21:16:58] <howtonotwin> on the left
pane
L2688[21:17:10] <howtonotwin> expand
referenced libraries
L2689[21:17:18] <howtonotwin> one of the
jars is forgeSrc-blah
L2690[21:17:21] <immibis> or just
<ctrl-shift-t> blockfurnace <enter>
L2691[21:17:25] <howtonotwin> that's the
MC code
L2692[21:17:27] <howtonotwin> or
that
L2693[21:17:31] <howtonotwin> that works
too
L2694[21:18:01] <howtonotwin> <C-h>
= "Search"
L2695[21:18:10] <howtonotwin> (The
advanced, useful kind, not just text)
L2696[21:18:34] <howtonotwin> <C-f>
= "Simple text find/replace in file"
L2697[21:19:15] <Artillect> lines 55-89
from vanilla are the relevant lines?
L2698[21:20:17]
⇦ Quits: williewillus
(~williewil@cpe-24-28-24-13.austin.res.rr.com) (Quit:
Leaving)
L2699[21:20:41] <howtonotwin> I don't
have it up
L2700[21:20:45] <howtonotwin> it's
onBlockPlaced
L2701[21:20:58] <howtonotwin> But I
posted it above xD
L2702[21:21:00] <howtonotwin>
placer.getHorizontalFacing().getOpposite()
L2703[21:25:49] <Eragonn1490> is there a
way to delete regular stone from generating in a biome? and replace
it with something else below the surface?
L2704[21:26:40] <Artillect> hm Cannot set
property PropertyDirection{name=facing, clazz=class
net.minecraft.util.EnumFacing, values=[north, south, west, east]}
as it does not exist in
BlockStateContainer{block=voltaics:voltaicPile,
properties=[]}
L2705[21:26:46] <Artillect> ignore the
hm
L2706[21:26:46]
⇨ Joins: CoolerExtreme
(~CoolerExt@45.249.156.132)
L2707[21:26:49] <howtonotwin> read the
rtd page on it
L2708[21:26:54] <Artillect> ok
L2709[21:27:11] <howtonotwin>
mcforge.rtfd.io
L2710[21:27:28] <howtonotwin> Still don't
know the official meaning of the f
L2711[21:27:35] <howtonotwin> though it's
heavily implied :P
L2712[21:28:11]
⇨ Joins: MrIbby (~MrIbby@173.85.192.160)
L2713[21:29:16] <ghz|afk>
"rtfd" most probably comes from "rtfm", and
yes, it means exactly what it seems it means
L2714[21:31:04] <Artillect> how do I
create an IProperty<> object?
L2715[21:31:50] <howtonotwin>
PropertyDirection is an IProperty<EnumFacing>
L2716[21:33:12] <ghz|afk> you probably
don't want to create your own
L2717[21:33:18] <Artillect> yeah
L2718[21:33:22] <ghz|afk>
PropertyInt
L2719[21:33:25] <ghz|afk>
PropertyDirection
L2720[21:33:29] <ghz|afk>
PropertyEnum<T>
L2721[21:33:54] <ghz|afk> there's one big
limitation on the blockstate system: they must be known
beforehand
L2722[21:34:01] <ghz|afk> that is, there
must be a fixed set of values
L2723[21:34:17] <ghz|afk> because mc will
precompute all the possible combinations and the links between
them
L2724[21:36:04] <Artillect> It seems to
still not be adding the property to the block
L2725[21:36:16] <ghz|afk> do you override
createBlockState
L2726[21:36:24] <ghz|afk> and add the
properties to the blockstate container
L2727[21:37:34] <Artillect> what do I
need to override in createBlockState?
L2728[21:37:51] <ghz|afk> check other
blocks
L2729[21:37:53] <ghz|afk> how they do
it
L2730[21:38:22] <howtonotwin> does that
page not tell you?
L2731[21:38:45] <Artillect> hownottowin I
really am blind
L2732[21:38:46] <Artillect> it was
there
L2734[21:40:30] <barteks2x> (no
dirt/grass implemented yet)
L2735[21:40:38] <Artillect> According to
the site we need to return new BlockState() but BlockState doesn't
work
L2736[21:40:48] <Artillect> BlockState
doesn't exist
L2737[21:40:59] <Artillect> and the type
of createBlockState is BlockStateContainer
L2738[21:41:19]
⇨ Joins: legsam
(webchat@cpe-76-176-70-209.san.res.rr.com)
L2739[21:43:15] <Artillect> "Don't
know how to convert voltaics:voltaicPile[facing=north] back into
data..."
L2740[21:46:57] <howtonotwin> BlockState
was rename
L2741[21:47:03] <howtonotwin> it's
BlockStateContainer now
L2742[21:47:15] <Artillect> shouldn't
that be changed in the docs then?
L2743[21:48:43] <Artillect> well now that
works
L2744[21:48:45] <howtonotwin> it
should
L2745[21:48:47] <Artillect> but my
voltmeter is broken
L2746[21:48:51] <howtonotwin> PR it when
you can
L2747[21:50:46] <Eragonn1490> hey
howtonotwin, did you ever make a biome?
L2748[21:50:50] <howtonotwin> no
L2749[21:50:57] <Me4502> What's the
signature for an inner class?
L2750[21:50:58] <Me4502>
Lnet/minecraft/util/math/RayTraceResult$Type; ?
L2751[21:51:04] <howtonotwin> yes
L2752[21:51:08] <Me4502> kk, thanks
L2753[21:51:36]
⇦ Quits: InusualZ (~InusualZ@adsl-64-237-236-206.prtc.net)
(Ping timeout: 206 seconds)
L2754[21:58:30]
⇨ Joins: Texelsaur
(~jaquadro@c-71-192-29-96.hsd1.ma.comcast.net)
L2755[21:58:38]
⇦ Quits: MrIbby (~MrIbby@173.85.192.160) (Remote host closed
the connection)
L2756[22:01:50] <Artillect> I can't
remember who I talked to about this earlier, but how do I make my
blocks rotate correctly with my wrench?
L2757[22:02:14] <Artillect> might have
been williewillus or ghz|afk
L2758[22:02:14]
⇨ Joins: InusualZ
(~InusualZ@adsl-64-237-237-49.prtc.net)
L2759[22:02:16] <Eragonn1490> try
ordinastie hes helpful and usally lurking
L2760[22:02:25] <Artillect> he doesn't
seem to like me much
L2761[22:04:10] <howtonotwin> on right
click get rotation of block, find the target rotation, and set that
rotation to the block.
L2762[22:04:23] <howtonotwin> you fill in
the blanks
L2763[22:04:27] <howtonotwin> oh
also
L2764[22:04:37] <howtonotwin> TEs will be
deleted in that process
L2765[22:04:47] <howtonotwin> they have a
method shouldRefresh
L2766[22:04:59] <howtonotwin> when the
block the TE is on changes
L2767[22:05:09] <howtonotwin> that is
called to see whether the TE should be deleted
L2768[22:05:25] <howtonotwin> override it
so your TE doesn't get deleted when the block rotates
L2769[22:05:45] <howtonotwin> (at least I
think it's shouldRefresh)
L2770[22:09:08] <Artillect> how can I do
something every tick in terms of capabilities?
L2771[22:10:59] <howtonotwin> wah
L2772[22:11:06] <howtonotwin>
capabilities do not know what a tick is
L2773[22:11:16] <howtonotwin> a TE knows
what a tick is
L2774[22:11:34] <howtonotwin> A TE can do
something capability related every tick
L2775[22:11:44] <howtonotwin> but a
capability itself does nothing
L2776[22:13:04] <Artillect> so how can I
make the TE do something every tick?
L2777[22:13:17]
⇦ Quits: Cast0077
(~Cast0077@24-151-68-108.dhcp.nwtn.ct.charter.com) (Quit:
Poof)
L2778[22:13:18] <howtonotwin> see
vanilla
L2779[22:13:23] <howtonotwin> hoppers
come to mind
L2780[22:13:51] <howtonotwin>
TileEntityHopper, mind you
L2781[22:14:01] <howtonotwin> BlockHopper
is probably not very interesting
L2782[22:16:32]
⇨ Joins: killjoy
(~killjoy@cpe-2606-A000-1118-C091-C478-35CB-708D-8C90.dyn6.twc.com)
L2783[22:16:50]
⇦ Quits: legsam (webchat@cpe-76-176-70-209.san.res.rr.com)
(Quit: Web client closed)
L2784[22:17:01] <Artillect> the method is
update()?
L2785[22:18:51]
⇦ Quits: RANKSHANK
(~Michael@ppp121-44-41-72.lns20.syd4.internode.on.net) (Read error:
Connection reset by peer)
L2787[22:24:06] <howtonotwin> yes
L2788[22:24:12] <howtonotwin> there's
also another one
L2789[22:24:26] <AshIndigo_> I like it
barteks
L2790[22:24:31] <howtonotwin> as not all
TEs update, so you have to override it to allow updates
L2791[22:25:02] <howtonotwin> that's...
horribly disorienting
L2792[22:25:07] <howtonotwin> that's what
it is
L2793[22:26:47] <Artillect> and now it's
telling me I'm overriding incorrectly
L2794[22:27:25]
⇨ Joins: McJty
(~jorrit@94-225-196-91.access.telenet.be)
L2795[22:31:54] <Umbraco> is your TE
implementing ITickable?
L2796[22:32:06] <Artillect> No, I'll
check that out
L2797[22:33:41] <Artillect> do I want
net.minecraft.util's ITickable or
net.minecraft.client.renderer.texturer's ITickable?
L2798[22:34:04] <howtonotwin> the first
one
L2799[22:34:14] <howtonotwin> the other
one is obviously for rendering
L2800[22:35:25] <Artillect> good
point
L2801[22:44:32]
⇦ Quits: Lathanael|Away
(~Lathanael@p549600B6.dip0.t-ipconnect.de) (Ping timeout: 384
seconds)
L2802[22:45:01]
⇨ Joins: Lathanael|Away
(~Lathanael@p54961CE2.dip0.t-ipconnect.de)
L2803[22:45:37] ***
AshIndigo_ is now known as Ash-Asleep
L2804[22:49:57]
⇦ Quits: KnightMiner
(~KnightMin@adsl-75-5-64-247.dsl.emhril.sbcglobal.net) (Quit:
Leaving)
L2805[22:58:39] <Artillect> where's a
good place to start to make cables for power transfer
L2806[22:59:01] <Artillect> in terms of
examples
L2807[22:59:02]
⇨ Joins: MrIbby (~MrIbby@173.85.192.160)
L2808[22:59:19] <Ash-Asleep> Any mods
with transport for energy
L2809[22:59:27] <Ash-Asleep> Or even
fluid
L2810[23:01:55] ***
cpw is now known as cpw|out
L2811[23:04:31] <illy> TIL how easy it is
to force merge two different branches with different
histories
L2813[23:07:05] <barteks2x> wait
nvm
L2814[23:07:14] <barteks2x> It was
because it doesn't work below y=0
L2815[23:08:12] <howtonotwin> what even
is that terrain
L2816[23:08:33] <barteks2x> it's supposed
to be sin(x/20)*sin(z/20) for testing
L2817[23:08:38] <barteks2x>
(heightmap)
L2818[23:08:47] <howtonotwin> and how are
there blocks below 0?
L2819[23:08:58] <barteks2x> magic
L2820[23:09:10] <barteks2x> that's the
whole point of the mod
L2821[23:09:21] <howtonotwin> it's
infinite below 0 too?
L2822[23:09:33] <barteks2x> infinite
below 0 and infinite up. Almost
L2823[23:09:39] <barteks2x> 8 million
blocks max
L2824[23:09:45] <barteks2x> in both
directions
L2825[23:09:46] <howtonotwin> close
enough
L2827[23:16:04] <barteks2x> and
fixed
L2828[23:23:55] <howtonotwin> uuh:
"public ActionResult<ItemStack> onItemRightClick(World
itemStackIn, EntityPlayer worldIn, EnumHand playerIn)"
L2829[23:24:13] <howtonotwin> this is
what happens when you use mappings for the previous version by
default
L2830[23:24:42] <howtonotwin> I don't
suppose it's safe to use more recent mappings for the Forge
workspace
L2831[23:24:44] <howtonotwin> ?
L2832[23:31:00] ***
tterrag is now known as tterrag|ZZZzzz
L2833[23:36:11]
⇦ Quits: Eragonn1490
(~eragonn14@2600:1005:b00e:b979:84ea:f481:6f39:c761) (Read error:
Connection reset by peer)
L2834[23:36:24] <barteks2x> depends on
what you think is safe
L2835[23:37:15] <barteks2x> and is it
forge itself, or mod workspace?
L2836[23:37:20] <howtonotwin> forge
itself
L2837[23:39:25] <barteks2x> it would
probably work, but may not be good idea if you want to submit
PR
L2838[23:39:45] *
howtonotwin is just now reviewing a PR he just made
L2839[23:40:06] <howtonotwin> well the PR
isn't made, but it's committed+pushed :P
L2840[23:40:29] <howtonotwin> and yeah I
thought so
L2841[23:40:46] <barteks2x> now the last
thing to get working is biomes...
L2842[23:43:24] <howtonotwin> This patch
is a bit large...
L2843[23:44:35] <howtonotwin> is +8-4 too
large?
L2844[23:44:43] <howtonotwin> 7 of those
+8 are one block
L2845[23:44:49] <howtonotwin> but the
other 5 lines are scattered
L2846[23:45:07] <howtonotwin> throughout
ItemBow.onItemStoppedUsing
L2847[23:51:19]
⇦ Quits: Brokkoli (~Brokkoli@p2E5B1DD8.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))
L2848[23:51:46]
⇦ Quits: howtonotwin
(~howtonotw@r75-110-22-15.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net)
(Quit: Pop!)