<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:26:57] ⇦ Quits: Dimtree (Dimtree!~dimtree@75-110-156-132.nbrncmtk01.res.dyn.suddenlink.net) (Read error: -0x1: UNKNOWN ERROR CODE (0001))
L2[00:33:58] ⇨ Joins: Dimtree (Dimtree!~dimtree@75-110-156-132.nbrncmtk01.res.dyn.suddenlink.net)
L3[00:44:13] ⇦ Quits: Brokkoli (Brokkoli!~Brokkoli@p2E5B1E0E.dip0.t-ipconnect.de) (Remote host closed the connection)
L4[01:16:31] ⇦ Quits: Neal1 (Neal1!~Neal@47.146.41.184) (Ping timeout: 383 seconds)
L5[01:37:17] ⇨ Joins: Noppes (Noppes!~Noppes@ip56530f2e.direct-adsl.nl)
L6[02:00:04] <MCPBot_Reborn> [TEST CSV] Pushing snapshot_20180205 mappings to Forge Maven.
L7[02:00:07] <MCPBot_Reborn> [TEST CSV] Maven upload successful for mcp_snapshot-20180205-1.12.zip (mappings = "snapshot_20180205" in build.gradle).
L8[02:00:18] <MCPBot_Reborn> Semi-live (every 10 min), Snapshot (daily ~3:00 EST), and Stable (committed) MCPBot mapping exports can be found here: http://export.mcpbot.bspk.rs/
L9[02:02:00] ⇦ Quits: Dimtree (Dimtree!~dimtree@75-110-156-132.nbrncmtk01.res.dyn.suddenlink.net) (Read error: Connection reset by peer)
L10[02:12:30] ⇨ Joins: Dimtree (Dimtree!~dimtree@75-110-156-132.nbrncmtk01.res.dyn.suddenlink.net)
L11[02:28:14] ⇦ Quits: Noppes (Noppes!~Noppes@ip56530f2e.direct-adsl.nl) (Read error: -0x1: UNKNOWN ERROR CODE (0001))
L12[02:34:57] ⇨ Joins: Noppes (Noppes!~Noppes@ip56530f2e.direct-adsl.nl)
L13[02:36:50] ⇦ Quits: Noppes (Noppes!~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L14[02:40:03] ⇨ Joins: Noppes (Noppes!~Noppes@ip56530f2e.direct-adsl.nl)
L15[02:41:38] ⇨ Joins: Javaschreiber (Javaschreiber!~Thunderbi@88-209-32-73.nga.highspeed-baumann.de)
L16[02:45:12] ⇦ Quits: quadraxis (quadraxis!~quadraxis@cpc77293-basf12-2-0-cust699.12-3.cable.virginm.net) (Ping timeout: 186 seconds)
L17[02:53:00] ⇨ Joins: Hunterz (Hunterz!~hunterz@2001:1528:107:0:6af7:28ff:fe37:5d6a)
L18[03:44:45] ⇦ Quits: Javaschreiber (Javaschreiber!~Thunderbi@88-209-32-73.nga.highspeed-baumann.de) (Quit: Javaschreiber)
L19[03:45:06] ⇨ Joins: Umbraco (Umbraco!~Umbraco@121-87-222-159f1.nar1.eonet.ne.jp)
L20[04:13:41] ⇨ Joins: Hgrebnednav (Hgrebnednav!~Hgrebnedn@d8D872A6E.access.telenet.be)
L21[04:15:33] ⇦ Quits: Dimtree (Dimtree!~dimtree@75-110-156-132.nbrncmtk01.res.dyn.suddenlink.net) (Read error: -0x1: UNKNOWN ERROR CODE (0001))
L22[04:20:13] ⇨ Joins: Dimtree (Dimtree!~dimtree@75-110-156-132.nbrncmtk01.res.dyn.suddenlink.net)
L23[05:09:51] ⇦ Quits: Shawn|i7-Q720M (Shawn|i7-Q720M!~shawn156@c-76-25-73-212.hsd1.co.comcast.net) (Read error: Connection reset by peer)
L24[05:22:00] ⇨ Joins: ben_mkiv (ben_mkiv!~ben_mkiv@p5797223d.dip0.t-ipconnect.de)
L25[05:31:38] ⇦ Quits: moony_ (moony_!~moony@tx-76-4-58-88.dhcp.embarqhsd.net) (Ping timeout: 207 seconds)
L26[05:33:38] ⇦ Quits: Hunterz (Hunterz!~hunterz@2001:1528:107:0:6af7:28ff:fe37:5d6a) (Ping timeout: 383 seconds)
L27[05:33:51] ⇨ Joins: moony (moony!~moony@tx-76-4-58-88.dhcp.embarqhsd.net)
L28[05:38:31] <SquidDev> Is there a way to provide custom block interaction behaviour for players in spectator mode? It's possible to listen to PIE.RightClickBlock on the client, but the server is still hard coded to inventories.
L29[05:39:37] <ben_mkiv> the client could send a message to the server when the event fires
L30[05:41:01] <SquidDev> Yeah, it's definitely possible to work around. I'm just wondering if there was an officially supported method before I resorted to that :).
L31[05:41:21] <SquidDev> And, if not, whether there would be any interest in me putting together a PR to add something.
L32[05:44:00] <ben_mkiv> somehow every of the 4 projects i've worked on are using the workaround xD
L33[05:44:15] <ben_mkiv> so for me, it would be a useful pr and clean up some mess
L34[06:00:42] ⇨ Joins: ollieread (ollieread!~ollieread@exia.ollieread.com)
L35[06:15:38] ⇨ Joins: Lynndis[con] (Lynndis[con]!~Lynn@c-75-71-231-133.hsd1.co.comcast.net)
L36[06:16:58] ⇦ Quits: Upth (Upth!~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net) (Ping timeout: 182 seconds)
L37[06:17:33] ⇨ Joins: Upth (Upth!~ogmar@108-85-88-44.lightspeed.frokca.sbcglobal.net)
L38[06:17:44] ⇦ Quits: Lynndis (Lynndis!~Lynn@c-75-71-231-133.hsd1.co.comcast.net) (Ping timeout: 182 seconds)
L39[06:35:04] * Arcan slams head into desk
L40[06:35:09] <Arcan> why is this not working https://github.com/DaMachinator/NekoBand/blob/dev/src/main/java/arcanitor/nekoband/item/ModItems.java
L41[06:35:35] <Arcan> it throws a NullPointerException on line 30
L42[06:36:01] <Ordinastie> why do you use ObjectHolder here ?
L43[06:36:10] <Ordinastie> aren't they your items ?
L44[06:36:23] <Arcan> yes, they are my items
L45[06:36:30] <Ordinastie> so...
L46[06:37:28] <Arcan> i use objectholder because that's what this is doing: https://wiki.mcjty.eu/modding/index.php?title=Render_Item_Basic-1.12
L47[06:38:01] <Ordinastie> let me guess, it doesn't explain why it does it
L48[06:38:05] <Arcan> nope
L49[06:38:15] <Ordinastie> because there is no point
L50[06:38:39] <Ordinastie> the purpose of ObjectHolder is to get a particular instance from a registry
L51[06:39:04] <Arcan> oh I know what i should be doing :facepalm:
L52[06:39:11] <Ordinastie> it's supposed to facilitate getting those instances from other mods
L53[06:39:20] <Arcan> actually store the item i am passing to GameRegistry in a variable
L54[06:39:38] <Ordinastie> yes
L55[06:40:21] <Ordinastie> you already have the instance, there is no need to dismiss it just to use a convoluted way to get it again
L56[06:40:51] <Arcan> why mcjty
L57[06:41:08] <Arcan> i guess nothing will ever be perfect, but thanks for the help!
L58[06:49:57] ⇨ Joins: Rokiyo (Rokiyo!~Rokiyo@101.167.173.217)
L59[06:59:40] ⇦ Quits: immibis (immibis!~chatzilla@122-59-200-50.jetstream.xtra.co.nz) (Ping timeout: 383 seconds)
L60[07:00:00] <Arcan> Ordinastie: somehow, fixing that broke my creative tab
L61[07:03:51] <ben_mkiv> parse the new code please
L62[07:04:10] <ben_mkiv> and did you actually init itemHeadband?
L63[07:05:17] <ben_mkiv> ot: didnt knew we can make own creative tabs
L64[07:07:28] <Arcan> tons of mods since...before 1.7? have had custom creative tabs
L65[07:08:03] <Arcan> ben_mkiv: pushed to github
L66[07:10:13] <ghz|afk> ben_mkiv: but almost every mod adds its own creative tab :P
L67[07:10:16] <ben_mkiv> well i've never had luck with assigning the item in the class
L68[07:10:30] <ben_mkiv> do something like ModItems.itemHeadband = new ItemHeadband("headband");
L69[07:10:35] <ben_mkiv> but in preInit of your mod
L70[07:10:40] <ghz|afk> if coding is a matter of "luck" to you, you are doing it wrong ;P
L71[07:10:51] <ben_mkiv> well, it didnt work for me at this place
L72[07:10:57] <ghz|afk> things have a perfectly defined reason for them to work, and for them not to work
L73[07:10:57] <ghz|afk> Xd
L74[07:11:18] <ben_mkiv> yea, but for this particular problem i dont know and dont care xD
L75[07:11:35] <ben_mkiv> im fine with setting them up in preInit :>
L76[07:11:36] <ghz|afk> Arcan: note that there's getRegistry().registerAll(a,b,c,d,e,f,...)
L77[07:11:46] <ghz|afk> so you only have to make one call to register, instead of many
L78[07:12:17] <Arcan> ok, but why is nothing showing up in the creative tab
L79[07:12:24] <Arcan> the items exist, and the creative tab exists
L80[07:12:29] <ghz|afk> do you call .setCreativeTab on them?
L81[07:12:33] <Arcan> they just aren't in the creative tab
L82[07:12:37] <Arcan> yes, in the constructor
L83[07:12:47] <ben_mkiv> uhm
L84[07:12:59] ⇦ Quits: WARDOGSK93 (WARDOGSK93!webchat@95.148.4.59) (Ping timeout: 180 seconds)
L85[07:12:59] <Arcan> i can /give myself the items
L86[07:13:11] <Arcan> the models also aren't working but thats another problem entirely
L87[07:13:16] <Ordinastie> debug the setCreativeTab call
L88[07:13:48] <Ordinastie> and debug the CreativeTabs.displayAllRelevantItems
L89[07:14:20] <ben_mkiv> getSubItems for the creative tab is never overriden in your items?!
L90[07:14:25] <ben_mkiv> i think thats necessary, isnt it?
L91[07:14:41] <Ordinastie> not if you don't have subItems
L92[07:15:08] <ben_mkiv> subItems are like wool where every color is a subItem of white wool?
L93[07:15:15] <ghz|afk> yes
L94[07:15:53] <Arcan> i'm not stacking multiple things onto a single item class yet
L95[07:15:59] <ghz|afk> good
L96[07:16:03] <ghz|afk> because 1.13 deprecates that
L97[07:16:03] <ghz|afk> ;P
L98[07:16:22] <ghz|afk> so you'd have more work to undo in 1.13 when they decide to release it
L99[07:16:28] <ben_mkiv> are items with custom NBT also subitems?
L100[07:16:31] <Arcan> do we still get NBT?
L101[07:16:44] <ghz|afk> ben_mkiv: if they have different entries in JEI/Creative, they are subitems
L102[07:16:48] <ghz|afk> Arcan: yes, but not metadata
L103[07:16:57] <ben_mkiv> ok thanks
L104[07:17:12] <ben_mkiv> i have some mod where theres the ar glasses and a copy of it for creative with different nbt
L105[07:17:19] <ghz|afk> so an item won't be "minecraft:sword:100" to have a durability
L106[07:17:20] <ghz|afk> it will be
L107[07:17:21] <ben_mkiv> so for 1.13 i have to make 2 seperate items of them
L108[07:17:27] <ghz|afk> "minecraft:sword{damage=100}"
L109[07:17:35] <ghz|afk> using NBT to store the value
L110[07:17:52] <ghz|afk> similarly subitems
L111[07:17:54] <ghz|afk> there was before
L112[07:17:58] <ghz|afk> minecraft:dye:14 for lapis
L113[07:18:01] <Arcan> cool my items don't have metadata and i don't handle damage myself
L114[07:18:01] <ghz|afk> it's now separate items
L115[07:18:05] <ghz|afk> each dye color
L116[07:18:06] <Arcan> i'm going to have different variants but it will all use nbt anyways
L117[07:18:18] <Arcan> i'm going to have subitems eventually but it will use nbt tags
L118[07:18:47] <ghz|afk> that's ok now, but mojang is trying to deprecate the concept of subitems/variants
L119[07:18:55] <ghz|afk> they want them to have their own registry names
L120[07:19:16] <ghz|afk> ofc a lot of mods will continue doing things "the old way" just because they already wrote the code that way
L121[07:19:28] <Arcan> screw that, i'm not coding an exponentially increasing amount of new item classes every time i want to add a new variant
L122[07:19:31] <ghz|afk> but just because some mods do that, doesn't mean it's going to be best practices
L123[07:19:36] <ghz|afk> nono
L124[07:19:39] <ghz|afk> you can reuse item classes ;P
L125[07:19:45] <ghz|afk> the idea would be like
L126[07:20:03] <Arcan> the item i am making has essentially a multi-dimensional array of variants
L127[07:20:10] <ghz|afk> new ItemHelmet(variant=1).setRegistryName("helmet_variant_a")
L128[07:20:18] <ghz|afk> and so on
L129[07:20:24] <ben_mkiv> ^^ just abstract in java rather than in minecraft
L130[07:20:26] <ghz|afk> but if you have a more complex system with MANY variants
L131[07:20:38] <ghz|afk> then it's up to you
L132[07:20:41] <Arcan> you know how a padlock has digits^positions possible combinations?
L133[07:20:47] <ghz|afk> I'm just saying what the best practices will be
L134[07:20:50] <ghz|afk> yes I know combinatorics
L135[07:20:55] <Arcan> i am not writing x^y setRegistryName statements
L136[07:21:10] <ben_mkiv> then your code isnt functional
L137[07:21:12] <ghz|afk> there's a thing called loops :P
L138[07:21:17] <ben_mkiv> if you have to rewrite the same multiple times
L139[07:21:19] <ben_mkiv> ^^
L140[07:21:19] <ghz|afk> but as I said
L141[07:21:22] <ghz|afk> it's up to you.
L142[07:21:47] <ghz|afk> one wouldn't expect Tinker's tools to have separate registry names!
L143[07:22:45] <ghz|afk> just imagine having an entry in jei for "tinkers:iron_blade_obsidian_guard_wood_handle_broadsword"
L144[07:23:10] <Arcan> hmm
L145[07:23:11] <ghz|afk> it's better if you want to /give the item
L146[07:23:12] <ben_mkiv> well there will be different names for all part/material variants, while theres one item for each tool with custom nbt
L147[07:23:14] <ghz|afk> to just be able to do
L148[07:23:18] <ben_mkiv> guess thats the way they have to go
L149[07:23:42] <ghz|afk> "tinkers:broadsword{blade=obsidian,guard=iron,handle=wood}"
L150[07:23:46] <ben_mkiv> or even the material in the parts nbt
L151[07:23:49] <ghz|afk> which would just store those as NBT
L152[07:23:53] <ben_mkiv> yea
L153[07:23:54] <ghz|afk> which is what they are doing now :P
L154[07:24:10] <Arcan> ok the creative tab is being set correctly
L155[07:24:20] <ben_mkiv> didnt knew, so you can give custom tinker tools with give command?
L156[07:24:26] <ghz|afk> ofc
L157[07:24:30] <ghz|afk> it's NBT data
L158[07:24:42] <ghz|afk> you can /give any item, no matter how complex
L159[07:24:58] <ghz|afk> it's equivalent to having crafted that item in the table
L160[07:25:05] <ghz|afk> xcept you can probably work around the limitations of the mod
L161[07:25:28] <ghz|afk> (you could assign more modifiers than it's normally possible, I guess)
L162[07:27:17] <Arcan> there are creative items to add more modifiers
L163[07:27:28] <Arcan> it is possible to add an arbitrarily high amount of modifiers :)
L164[07:27:49] <ghz|afk> ah true
L165[07:27:50] <ghz|afk> :P
L166[07:30:33] <Arcan> i get the feeling that the way mojang displays items on creative tabs is stupid
L167[07:30:53] <Arcan> instead of each tab having an immutable list of ItemStacks to display
L168[07:31:12] <Arcan> each tab iterates over every item in the game to see if it should display that itme
L169[07:31:14] <Arcan> *item
L170[07:32:49] <Arcan> yudodis
L171[07:32:56] <ben_mkiv> thats minecraft in a nutshell
L172[07:33:13] <Arcan> but w h y
L173[07:33:20] <ben_mkiv> wonder how they managed to code such slow search in creative
L174[07:33:22] <Arcan> this is so inefficient
L175[07:33:24] <ben_mkiv> but afaik that got fixed?!
L176[07:33:33] ⇦ Quits: lp (lp!~lordpipe@66.109.211.167) (Ping timeout: 198 seconds)
L177[07:34:02] <Arcan> this is possibly the worst possible way to do something like this
L178[07:40:45] ⇦ Quits: moony (moony!~moony@tx-76-4-58-88.dhcp.embarqhsd.net) (Ping timeout: 383 seconds)
L179[07:44:23] <Arcan> i'm starting to wonder whether i really care if my items display
L180[07:44:26] <Arcan> this just isn't sane
L181[07:46:25] ⇦ Quits: Dark (Dark!~MrDark@2607:fcc8:d48b:eb00:bd8e:27a4:17ce:def7) (Read error: Connection reset by peer)
L182[07:49:22] ⇨ Joins: Dark (Dark!~MrDark@2607:fcc8:d48b:eb00:e961:5fbe:1c5e:2a38)
L183[07:51:06] ⇦ Quits: covers1624_ (covers1624_!~covers162@ppp122-232-6.static.internode.on.net) (Read error: Connection reset by peer)
L184[07:51:11] ⇨ Joins: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net)
L185[07:54:57] ⇨ Joins: raBit (raBit!~raBit@p200300C3CBE73783B5DCAECB04F9B26A.dip0.t-ipconnect.de)
L186[07:59:54] <Arcan> tfw mojang's default code is garbo so you override it
L187[08:07:23] <Arcan> How do i use the @NonNull annotation, and what does it do?
L188[08:07:42] <ghz|afk> it makes the compiler and IDE warn you if you try to use a null in it
L189[08:08:06] <ghz|afk> you can put it on method parameters or method return values
L190[08:08:20] <ghz|afk> @NotNull ItemStack getContents();
L191[08:08:40] <Arcan> it's @NonNull not @NotNull
L192[08:08:45] <ghz|afk> both exist
L193[08:08:54] <ghz|afk> one from javax, one from jetbrains or something like that
L194[08:09:05] <ghz|afk> whichever one is from java, that's the right one
L195[08:09:23] <ghz|afk> but
L196[08:09:31] <ghz|afk> it's preferred to just simply use package-level annotations
L197[08:09:33] <Arcan> i'm talking about the javax one (@NonNull), and i want to specify that one of the parameters of my functions never be null
L198[08:09:42] <ghz|afk> then just put it on the parameter
L199[08:09:52] <ghz|afk> setContents(@NonNull ItemStack contents)
L200[08:10:21] <ghz|afk> but as I was trying to tell you, it's best to use package-level annotations to declare that everything will be nonnull
L201[08:10:27] <ghz|afk> and then mark @Nullable explicitly
L202[08:10:36] <ghz|afk> like this:
L203[08:10:37] <ghz|afk> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/package-info.java
L204[08:10:46] <ghz|afk> you can put a package-info.java file on each package
L205[08:11:22] <Arcan> how do i specify that a function accepts any number of arguments, like the java main function accepts String[] args
L206[08:11:51] <ghz|afk> setValues(String... values)
L207[08:12:16] <ghz|afk> compiles into "setValues(String[] values)" but with a metadata flag that marks it as accepting varargs style parameters
L208[08:17:38] <Arcan> ghz|afk: I forget, is a java list allowed to have duplicate entries?
L209[08:18:23] <ghz|afk> yes, it doesn't care about the contents
L210[08:18:28] <ghz|afk> Set<> is the one that does
L211[08:21:32] <Arcan> ok my solution to this is not to use mojang's creative tab implementation
L212[08:21:45] <Arcan> for some reason, though, it is throwing NPE's
L213[08:22:09] <Ordinastie> wasn't the MC font stitched to the atlas ?
L214[08:22:37] <Ordinastie> or was it a mod that was doing it ?
L215[08:22:49] <Arcan> https://github.com/DaMachinator/NekoBand/blob/dev/src/main/java/arcanitor/nekoband/item/ModItems.java
L216[08:23:00] <Arcan> https://github.com/DaMachinator/NekoBand/blob/dev/src/main/java/arcanitor/nekoband/item/TabNekoband.java
L217[08:23:11] <Arcan> https://github.com/DaMachinator/NekoBand/blob/dev/src/main/java/arcanitor/nekoband/item/Headband.java
L218[08:24:36] <Ordinastie> NPE's should be the easiest thing to debug
L219[08:24:42] <Thiakil> you shouldnt need to reimplement tab logic like that
L220[08:25:05] <Ordinastie> breakpoint it, check what is null, and trace it back to where it's set and you thought it wouldn't be null
L221[08:25:26] <Arcan> Thiakil: the existing tab logic iterates over every item in the game every time you click on the tab
L222[08:25:35] <Arcan> um
L223[08:25:42] <Arcan> displayItems is null
L224[08:25:49] <Arcan> apparently this is a problem
L225[08:26:15] <ben_mkiv> also im not sure if you should seperate the unlocalized name with a ":"
L226[08:26:20] <ben_mkiv> rather than a "."
L227[08:26:41] <Arcan> the unlocalized name is displaying properly
L228[08:28:20] <Ordinastie> Arcan, you're wrong at list on one point
L229[08:28:28] <Arcan> let's see if actually initializing the list helps
L230[08:28:41] <Ordinastie> if displayItems is null, then your impl doesn't fix anything
L231[08:28:57] <Arcan> well it should start empty
L232[08:29:04] <Ordinastie> yes
L233[08:29:34] <Ordinastie> displayItems should not be null
L234[08:29:42] <Arcan> ok it seems that initializing the NonNullList with a NonNullList.create() works
L235[08:29:54] <Ordinastie> you should not be initializing the list
L236[08:30:02] <Ordinastie> the list is given to you as argument
L237[08:30:19] <Ordinastie> wait
L238[08:30:25] <Ordinastie> neverming
L239[08:30:30] <Ordinastie> I misread your code
L240[08:30:41] <Ordinastie> confused your displayItems with the passed argf
L241[08:30:50] <Arcan> did you miss the part where i add all elements from displayList to the passed list
L242[08:31:13] <Ordinastie> why are you doing that again ?
L243[08:31:36] <Arcan> displayList holds all the itemstacks that go in the creative tab
L244[08:31:46] <Arcan> how else would i put the one into the other
L245[08:32:11] <Arcan> also, this actually works, and doesn't iterate over every item in the game to do so
L246[08:32:31] <Ordinastie> that doesn't really answer 'why'
L247[08:32:56] <Arcan> why what?
L248[08:33:10] <Ordinastie> why are you not using default impl ?
L249[08:33:39] <ben_mkiv> you bloat your code for no reason
L250[08:33:43] <Arcan> because the default implementation 1) doesn't work and 2) iterates over every item and block in the game every time you click on a new creative tab
L251[08:33:52] <Ordinastie> 1) yes it does
L252[08:34:01] <ben_mkiv> 1.) is proofed false by every mod out there
L253[08:34:02] <Ordinastie> 2) that's not really an issue
L254[08:34:36] <Ordinastie> I mean, I made my own impl of tabs, but I had specific reasons to
L255[08:34:51] <Arcan> i changed something that had absolutely nothing to do with creative tabs at all and my items stopped getting added to the creative tab
L256[08:35:09] <Arcan> now it works again, and i'm happy
L257[08:35:23] <Ordinastie> Arcan, and instead of trying to figure out why, you just tried to guess ?
L258[08:35:34] <Arcan> i tried to figure out why
L259[08:35:37] <Arcan> i was not able to
L260[08:35:46] <Ordinastie> what was the issue ?
L261[08:36:21] <Arcan> the items were not being displayed in the creative tab, despite being correctly set as being in that tab
L262[08:36:32] <Ordinastie> did you debug that ?
L263[08:36:36] <Arcan> yes
L264[08:36:45] <Ordinastie> with an actual debugger ?
L265[08:36:55] <Arcan> IntelliJ IDEA has a built-in debugger
L266[08:37:19] <Ordinastie> then where did it fail ?
L267[08:37:33] <Arcan> which is how i figured out that it is looking at every item in the game to see if it goes in the tab
L268[08:38:34] <Arcan> i don't know where it failed, because i am not going to step through the 200-odd blocks and items in the vanilla game until it gets to my items
L269[08:38:50] <Ordinastie> no
L270[08:38:58] <Ordinastie> you put a conditional breakpoint
L271[08:39:02] <Arcan> it is faster to override one method in the vanilla creative tab code
L272[08:39:25] <ben_mkiv> Ordinastie, does idea support them?
L273[08:39:31] <Ordinastie> of course
L274[08:39:47] <ben_mkiv> gonna look into that, allways used code to make them conditional xD
L275[08:39:58] <Ordinastie> that only works for your own code
L276[08:40:07] <ben_mkiv> yea, or lots of overriding
L277[08:40:24] <Arcan> yes it supports conditional breakpoints
L278[08:40:28] <Arcan> which i don't know how to use
L279[08:40:36] <Ordinastie> at some point, you should have put a breakpoint in your own item.getSubItem() and check if it is called
L280[08:40:45] <Arcan> i don't have subitems
L281[08:40:49] <Arcan> there is no such method
L282[08:40:51] <Ordinastie> implement it
L283[08:40:53] <ben_mkiv> you just rightclick the breakpoint icon it seems
L284[08:40:55] <Ordinastie> call super on it
L285[08:41:11] <Ordinastie> I assume it isn't called at all
L286[08:41:15] <Arcan> i have no interest in putting in extra effort, given that the issue is already fixed
L287[08:41:15] <Ordinastie> then the question is why
L288[08:42:09] <Ordinastie> "something is broken, I'm not gonna fix it, I'm just gonna avoid it"
L289[08:42:21] <Ordinastie> "there is no way it's going to blow up on my face later"
L290[08:42:22] <Arcan> exactly
L291[08:42:30] <ben_mkiv> Ordinastie, while you are here, whats the most complex gui made with your mod which i could look at?
L292[08:42:47] <Lord_Ralex> i'd wonder what you changed that "should not affect the tabs"
L293[08:43:03] <Arcan> Lord_Ralex: looking
L294[08:43:26] <Ordinastie> ben_mkiv, depends on what you mean by complexity
L295[08:43:36] <Lord_Ralex> changed X, Y broke, the correct thing is not "let's reimplement Z to hack it back in"
L296[08:44:13] <ben_mkiv> well, buttons, inventory and lists would be nice to see
L297[08:44:22] <Arcan> i changed the way i registered items in a way internal to my code
L298[08:44:38] <Arcan> instead of registering a new Item() and then using an object holder to get it back
L299[08:44:47] <Lord_Ralex> so sounds like somewhere along the way, you didn't do something right
L300[08:44:49] <Ordinastie> you should go to #malisis
L301[08:45:01] <Arcan> i just have static values holding each item, and register the static values
L302[08:45:51] <Ordinastie> Arcan, and somehow, when MC then iterate though the registry to find your items, it doesn't find them but you "change is not related to tabs"
L303[08:46:09] <Arcan> the items are in the registry
L304[08:48:03] <Arcan> in the exact same way that they were before i changed it, otherwise it would mess up my inventory / give me the warning message on the loading screen
L305[08:49:18] <Ordinastie> like I said, you should have done proper debugging
L306[08:50:48] <Ordinastie> first check if getSubItems is called for your items
L307[08:51:11] <Ordinastie> if it is, debug the vanilla impl of it, if it's not, find out why your item is not found in the registry
L308[08:51:36] <Arcan> how would it be possible for something that is definitely in the registry not to be found therein
L309[08:56:34] <Ordinastie> does that mean you checked and getSubItem is not being called ?
L310[08:57:06] <Arcan> i know it's in the registry
L311[08:57:20] <ben_mkiv> but is it at the right time? xD
L312[08:57:36] <Ordinastie> dude, it's programming, it's not guessworks
L313[08:57:45] <Arcan> exactly, i'm not guessing
L314[08:57:50] <Arcan> it IS in the registry
L315[08:58:01] <Arcan> if it was not in the registry i would not be able to /give myself it
L316[08:58:14] <ben_mkiv> ModItems.NEKOTAB.addToTab(new ItemStack(this));
L317[08:58:20] <ghz|afk> unless you register two things with the same name and one overrides the other?
L318[08:58:20] <ben_mkiv> you are doing this, with a item that isnt registered
L319[08:58:24] <ben_mkiv> if im not wrong
L320[08:58:30] <ben_mkiv> https://github.com/DaMachinator/NekoBand/blob/dev/src/main/java/arcanitor/nekoband/item/Headband.java#L31
L321[08:59:06] <ghz|afk> wait why do you call attToTab?
L322[08:59:10] <ghz|afk> instead of using setCreativeTab?
L323[08:59:15] <ghz|afk> addToTab*
L324[08:59:21] <Arcan> because i wrote my own custom tab
L325[08:59:27] <Ordinastie> ghz|afk, that's the whole point of this convo
L326[08:59:31] <ghz|afk> that won't work though
L327[08:59:37] <Arcan> except it does
L328[08:59:39] <ghz|afk> since you call that before registry events
L329[08:59:55] <ghz|afk> hmm or wait hmm
L330[09:00:00] <ghz|afk> nevermind
L331[09:00:00] <Arcan> because the item associated with that itemstack is the SAME item that gets registerd
L332[09:00:32] <ghz|afk> yes but forge stores the registry delegate
L333[09:00:58] <ghz|afk> which can change the result of stack.getItem
L334[09:01:06] <ghz|afk> but I don't think it would affect this specific case
L335[09:01:10] <ghz|afk> hence "nevermind"
L336[09:01:56] <Arcan> is storing one's own items in statics not the intended method of getting instances of one's own items?
L337[09:02:07] <ghz|afk> well
L338[09:02:11] <Arcan> it is my understanding that only one instance of an Item class ever exists
L339[09:02:16] <ghz|afk> the recommended way is to do like:
L340[09:02:40] <ghz|afk> https://github.com/gigaherz/Survivalist/blob/master/src/main/java/gigaherz/survivalist/Survivalist.java#L127
L341[09:02:50] <ghz|afk> and instantiate them during the registry event
L342[09:02:55] <ghz|afk> but I don't think that should cause your issues
L343[09:03:29] <ben_mkiv> it did a lot for me like said earlier
L344[09:03:43] <ben_mkiv> i didnt even get it to work with creating item instances in the constructor like he does
L345[09:04:15] <ben_mkiv> as the call was to early and something from forge wasnt up then and didnt get it
L346[09:04:22] <ghz|afk> all I can say is that I have been doing like in the link I pasted, for all my mods
L347[09:04:27] <ghz|afk> and it has never failed me
L348[09:06:03] <ben_mkiv> well my items have a defaultItem (https://pastebin.com/QZpdnZxv) which is set in preInit like => InterfaceAuthority.itemDefault = new InterfaceAuthority();
L349[09:06:17] <Arcan> changed it to the way ghz|afk does it, although that should really only change when the class is instantiated
L350[09:06:34] <ben_mkiv> and registered on the later appearing item registry events using this defaultitem
L351[09:07:20] <Arcan> i don't even have to be adding the items to the creative tab inside the item constructor, i could do that immediately after registering them
L352[09:08:07] <Arcan> ghz|afk: changed my registry thing to match yours, still works
L353[09:08:29] <ben_mkiv> and now try without your custom tab impl
L354[09:08:33] <ben_mkiv> and it should still work
L355[09:08:42] <Arcan> is setCreativeTab a public method
L356[09:09:05] <ben_mkiv> yes
L357[09:09:12] <ghz|afk> yes
L358[09:09:59] <ben_mkiv> is a short answer on the question "how does hunger work in minecraft?" possible?
L359[09:10:27] <Lord_Ralex> you do stuff, you get hungry, you eat, you get full
L360[09:10:31] <Lord_Ralex> that short enough?
L361[09:11:29] <ben_mkiv> thats pretty sketchy
L362[09:11:46] <ben_mkiv> at all i want to know how much work it is to make hunger a thing for mobs
L363[09:12:27] <ben_mkiv> but looking at the code, it seems to be all EntityPlayer related
L364[09:12:31] ⇦ Quits: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net) (Read error: Connection reset by peer)
L365[09:12:35] <ghz|afk> hunger: there's two values, the "fullness" (it's wrong to call it hunger since the more you have the less hungry you are) and "saturation"
L366[09:12:36] ⇨ Joins: covers1624_ (covers1624_!~covers162@ppp122-232-6.static.internode.on.net)
L367[09:13:20] <Arcan> ghz|afk: setCreativeTab() works
L368[09:13:22] <Arcan> HOWEVER
L369[09:13:40] <Arcan> i am not getting rid of my custom tab, because it lets me set the order i want things in
L370[09:14:03] <ben_mkiv> yea thats something that annoyed me, too
L371[09:14:20] <Ordinastie> that's one of the reason I implemented mine too
L372[09:14:20] <Lord_Ralex> that's a better reason to reimplement it
L373[09:14:23] <Arcan> the order in which i add things to the tab is the order that they will display in
L374[09:14:42] <Arcan> the order i am getting with setCreativeTab is illogical
L375[09:14:42] <ben_mkiv> lul
L376[09:14:57] ⇦ Quits: ollieread (ollieread!~ollieread@exia.ollieread.com) (Quit: ZNC 1.6.5 - http://znc.in)
L377[09:14:58] <ben_mkiv> dont make your own custom impl!!!! 2hours later "thats why i made mine, too"
L378[09:15:53] <Ordinastie> Ordinastie> I mean, I made my own impl of tabs, but I had specific reasons to
L379[09:20:25] <Arcan> the other nice thing about the custom tab impl is that it is way easier to add nbt variants to the tab than it is to use getSubItems
L380[09:23:22] <ghz|afk> eh how so?
L381[09:23:44] <ghz|afk> https://github.com/gigaherz/ElementsOfPower/blob/master/src/main/java/gigaherz/elementsofpower/gemstones/ItemGemstone.java#L56
L382[09:23:48] <ghz|afk> you can just loop within getSubItems
L383[09:25:15] <Arcan> i can just make an itemstack, set the tags i want, and call addToTab() on it
L384[09:25:28] <Arcan> not call it on the itemstack, but you get it
L385[09:25:54] <ghz|afk> I don't see the advantage, given that doing it in getsubitems is exactly the same
L386[09:25:58] <ghz|afk> just you add to the list ;P
L387[09:26:05] <ghz|afk> the only advantage is the ordering
L388[09:27:11] <ghz|afk> actually it might be slightly more cpu-efficient? but would use a corresponding slightly more memory
L389[09:29:01] ⇨ Joins: Nedelosk (Nedelosk!~Nedelosk@ip-37-201-253-118.hsi13.unitymediagroup.de)
L390[09:30:01] <Arcan> now, my original problem
L391[09:30:09] <Arcan> why isn't my custom 3D item model rendering
L392[09:34:24] <ghz|afk> what is rendering instead?
L393[09:34:47] <Arcan> the default minecraft helmet model, with a missing texture
L394[09:35:00] <ghz|afk> so are you talking about the item in the inventory
L395[09:35:04] <ghz|afk> or the equipped armor
L396[09:35:16] <Arcan> the equipped armor model
L397[09:35:25] <Arcan> i'm trying to render a json item model on the player's head
L398[09:35:36] <Arcan> like how the minecraft:pumpkin works
L399[09:35:38] <ghz|afk> okay so, do you have a link to your item's getArmorModel, and to the armor model you return from it?
L400[09:35:46] <Arcan> not using an armormodel
L401[09:35:52] ⇨ Joins: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net)
L402[09:35:53] <ghz|afk> oh I see
L403[09:36:13] <ghz|afk> you are trying to do "like a pumpkin", no idea then
L404[09:36:23] <Arcan> i have another item that does use an armor model and i got that to work
L405[09:36:25] <ghz|afk> I'm not sure that uses the item model at all
L406[09:36:29] <ghz|afk> I think it's just a box with a texture
L407[09:37:09] ⇦ Quits: covers1624_ (covers1624_!~covers162@ppp122-232-6.static.internode.on.net) (Ping timeout: 198 seconds)
L408[09:40:10] ⇨ Joins: Cojo (Cojo!~Cojo@medsouz.net)
L409[09:40:49] <Arcan> hmm
L410[09:40:52] <Arcan> modelbiped is wierd
L411[09:41:10] <Arcan> where does it assign the texture...
L412[09:48:29] ⇨ Joins: McJty (McJty!~jorrit@ptr-9197ufq4rcosdsqx70v.18120a2.ip6.access.telenet.be)
L413[09:48:42] <Arcan> who is deadmau5
L414[09:48:56] <ben_mkiv> music producent
L415[09:49:03] <Corosus> a primary canadian export
L416[09:49:41] ⇦ Quits: Backslash (Backslash!~Backslash@5.147.167.76) (Ping timeout: 207 seconds)
L417[09:50:37] <Arcan> there's apparently a layer for his head in the MC entity layer rendering code
L418[09:53:40] <Corosus> yarp
L419[09:53:47] <Corosus> gotta have those ears
L420[09:55:08] ⇦ Quits: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net) (Read error: Connection reset by peer)
L421[09:55:33] ⇨ Joins: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net)
L422[09:57:17] ⇨ Joins: covers1624_ (covers1624_!~covers162@ppp122-232-6.static.internode.on.net)
L423[09:57:35] ⇦ Quits: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net) (Read error: Connection reset by peer)
L424[09:59:22] <Arcan> Thiakil: do you know how one would get a json model to render on one's head?
L425[10:05:17] ⇦ Quits: Umbraco (Umbraco!~Umbraco@121-87-222-159f1.nar1.eonet.ne.jp) (Ping timeout: 207 seconds)
L426[10:08:17] <ben_mkiv> renderlayers
L427[10:10:48] <Arcan> can you explain further
L428[10:12:40] <Arcan> ben_mkiv: please explain?
L429[10:12:45] <ben_mkiv> never used them
L430[10:13:29] ⇨ Joins: Neal1 (Neal1!~Neal@47.146.41.184)
L431[10:13:53] <ben_mkiv> my tip is to look at other mod sources and how they did it to get a idea of how to get started
L432[10:14:04] <Arcan> what other mods?
L433[10:14:13] <ben_mkiv> that add cosmetic stuff
L434[10:14:35] <Arcan> so...that mod that adds C&B custom armor, maybe?
L435[10:14:39] <Arcan> or Tails?
L436[10:14:47] <Arcan> would those add RenderLayers?
L437[10:14:58] <ben_mkiv> idk. some of them use baubles
L438[10:15:27] <ben_mkiv> which actually uses renderlayer
L439[10:15:44] <ben_mkiv> seems i have used them before... https://github.com/ben-mkiv/OCGlasses/blob/MC1.12.1/src/main/java/com/bymarcin/openglasses/render/BaublesRenderLayer.java
L440[10:17:31] <ben_mkiv> its probably kinda same without baubles but that you have to register the renderLayer event on your own
L441[10:17:44] ⇨ Joins: Shawn|i7-Q720M (Shawn|i7-Q720M!~shawn156@c-76-25-73-212.hsd1.co.comcast.net)
L442[10:17:46] <ben_mkiv> because of this, for cosmetic stuff i would suggest to just go with baubles
L443[10:17:51] <Arcan> it seems this is the answer to another thing i was wondering
L444[10:18:06] <Arcan> "how do you make an animated armor model"
L445[10:18:24] <ben_mkiv> probably only works with custom render code
L446[10:25:16] <Arcan> ben_mkiv: i mean this is cosmetic but it is functional as well
L447[10:25:22] <Arcan> it adds armor value and stuff
L448[10:25:45] <Arcan> and does special things depending on which one you are wearing
L449[10:28:38] ⇨ Joins: Backslash (Backslash!~Backslash@ip-94-114-161-190.unity-media.net)
L450[10:29:33] <Arcan> ben_mkiv: renderlayers are custom render code
L451[10:30:32] ⇦ Quits: IdleGandalf (IdleGandalf!~IdleGanda@staff.harting.hosting) (Quit: Leaving)
L452[10:30:52] ⇨ Joins: IdleGandalf (IdleGandalf!~IdleGanda@staff.harting.hosting)
L453[10:32:38] ⇦ Quits: Keridos (Keridos!~Keridos@static.56.72.76.144.clients.your-server.de) (Quit: ZNC - http://znc.in)
L454[10:35:19] ⇨ Joins: Keridos (Keridos!~Keridos@static.56.72.76.144.clients.your-server.de)
L455[10:43:07] ⇦ Quits: covers1624_ (covers1624_!~covers162@ppp122-232-6.static.internode.on.net) (Read error: Connection reset by peer)
L456[10:43:11] ⇨ Joins: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net)
L457[10:44:30] ⇨ Joins: Lepidora (Lepidora!~Lepidora@5.151.177.0)
L458[10:46:58] ⇦ Quits: Lepidora (Lepidora!~Lepidora@5.151.177.0) (Client Quit)
L459[10:51:30] <ben_mkiv> then do your animations there
L460[11:22:02] ⇨ Joins: Brokkoli (Brokkoli!~Brokkoli@p2e5b1e0e.dip0.t-ipconnect.de)
L461[11:34:55] ⇨ Joins: Hunterz (Hunterz!~hunterz@62.182.234.189)
L462[11:46:22] *** Lynndis[con] is now known as Lynndis
L463[12:02:01] <Arcan> What about an ImmutableMap is immutable?
L464[12:02:18] <Ordinastie> the map part...
L465[12:02:33] <Arcan> explain please?
L466[12:03:00] <Arcan> it's not a Java class
L467[12:03:36] <Ordinastie> do you know what immutable means ?
L468[12:03:45] <Arcan> it means you can't change it?
L469[12:03:49] <Ordinastie> yes
L470[12:03:49] <Arcan> strings are immutable
L471[12:03:58] <Arcan> you can't add characters in the middle
L472[12:04:14] <Arcan> you can get an entire new string object with the characters added but it is a different object entirely
L473[12:04:28] <Ordinastie> well, ImmutableMap is a map with the same rules
L474[12:04:30] <Ordinastie> it can't change
L475[12:04:40] <Ordinastie> you can't add or remove elements
L476[12:06:45] <Arcan> ok thanks
L477[12:09:47] ⇦ Quits: Keridos (Keridos!~Keridos@static.56.72.76.144.clients.your-server.de) (Quit: ZNC - http://znc.in)
L478[12:11:47] ⇨ Joins: Keridos (Keridos!~Keridos@static.56.72.76.144.clients.your-server.de)
L479[12:52:58] ⇨ Joins: Javaschreiber (Javaschreiber!~Thunderbi@88-209-32-73.nga.highspeed-baumann.de)
L480[12:56:43] ⇦ Quits: McJty (McJty!~jorrit@ptr-9197ufq4rcosdsqx70v.18120a2.ip6.access.telenet.be) (Quit: Leaving)
L481[13:03:53] ⇦ Quits: Delaxarnyazer (Delaxarnyazer!~Delaxarny@ip56572345.direct-adsl.nl) (Read error: Connection reset by peer)
L482[13:06:58] ⇨ Joins: Delaxarnyazer (Delaxarnyazer!~Delaxarny@2a02:a44e:91ce:1:50a3:ad04:9869:2e0f)
L483[13:09:31] ⇨ Joins: Doty1154 (Doty1154!~Doty1154@2601:648:8000:134f:817d:5117:9fb2:d148)
L484[13:11:06] ⇨ Joins: Lynndis[con] (Lynndis[con]!~Lynn@c-75-71-231-133.hsd1.co.comcast.net)
L485[13:11:56] ⇦ Quits: Lynndis (Lynndis!~Lynn@c-75-71-231-133.hsd1.co.comcast.net) (Remote host closed the connection)
L486[13:31:29] ⇨ Joins: covers1624_ (covers1624_!~covers162@ppp122-232-6.static.internode.on.net)
L487[13:31:30] ⇦ Quits: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net) (Read error: -0x1: UNKNOWN ERROR CODE (0001))
L488[14:09:28] ⇨ Joins: Ipsis (Ipsis!~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk)
L489[14:34:09] ⇦ Quits: Javaschreiber (Javaschreiber!~Thunderbi@88-209-32-73.nga.highspeed-baumann.de) (Quit: Javaschreiber)
L490[14:58:39] ⇦ Quits: Ipsis (Ipsis!~Ipsis@82-69-71-184.dsl.in-addr.zen.co.uk) (Ping timeout: 383 seconds)
L491[15:00:56] ⇨ Joins: Matts (Matts!~Matt@5ED67035.cm-7-7b.dynamic.ziggo.nl)
L492[15:01:33] <Matts> Hii Question, the TickEvent.ClientTickEvent *should* tick with 20 ticks per second right?
L493[15:01:53] <Matts> Cannot find any documentation on this, but knowing Minecraft I would think so?
L494[15:03:15] <ghz|afk> yes
L495[15:11:17] ⇦ Quits: Doty1154 (Doty1154!~Doty1154@2601:648:8000:134f:817d:5117:9fb2:d148) (Read error: Connection reset by peer)
L496[15:18:42] *** Lynndis[con] is now known as Lynndis
L497[15:19:38] ⇨ Joins: UnRealDinner (UnRealDinner!uid60473@id-60473.tooting.irccloud.com)
L498[15:25:28] ⇦ Quits: Hunterz (Hunterz!~hunterz@62.182.234.189) (Quit: Leaving.)
L499[15:32:00] ⇦ Quits: Hgrebnednav (Hgrebnednav!~Hgrebnedn@d8D872A6E.access.telenet.be) (Ping timeout: 186 seconds)
L500[15:55:24] ⇦ Quits: Nedelosk (Nedelosk!~Nedelosk@ip-37-201-253-118.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
L501[15:56:05] ⇨ Joins: Nedelosk (Nedelosk!~Nedelosk@ip-37-201-253-118.hsi13.unitymediagroup.de)
L502[16:02:48] ⇦ Quits: Nedelosk (Nedelosk!~Nedelosk@ip-37-201-253-118.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
L503[16:09:26] ⇨ Joins: Neshram (Neshram!~Neshram@cpe-98-31-20-224.columbus.res.rr.com)
L504[16:16:59] ⇦ Quits: Matts (Matts!~Matt@5ED67035.cm-7-7b.dynamic.ziggo.nl) (Quit: Trying to get a life)
L505[16:29:10] ⇦ Quits: Noppes (Noppes!~Noppes@ip56530f2e.direct-adsl.nl) (Read error: Connection reset by peer)
L506[16:29:56] ⇨ Joins: Unh0ly_Tigg (Unh0ly_Tigg!~Unh0ly_Ti@c-24-21-196-226.hsd1.or.comcast.net)
L507[16:34:44] ⇦ Quits: Dimtree (Dimtree!~dimtree@75-110-156-132.nbrncmtk01.res.dyn.suddenlink.net) (Read error: -0x1: UNKNOWN ERROR CODE (0001))
L508[16:41:07] ⇨ Joins: lp (lp!~lordpipe@66.109.211.167)
L509[16:45:28] ⇨ Joins: Dimtree (Dimtree!~dimtree@75.110.156.132)
L510[16:52:50] ⇦ Quits: rebecca (rebecca!~rebecca@82.102.27.57) (Ping timeout: 207 seconds)
L511[16:57:48] ⇨ Joins: moony (moony!~moony@tx-76-4-58-88.dhcp.embarqhsd.net)
L512[17:03:32] ⇨ Joins: immibis (immibis!~chatzilla@122-59-200-50.jetstream.xtra.co.nz)
L513[17:05:42] ⇨ Joins: rebecca (rebecca!~rebecca@82.102.27.50)
L514[17:21:16] <TechnicianLP> Matts: iirc that event had Pre and Post
L515[17:34:00] ⇦ Quits: Lathanael|Away (Lathanael|Away!~Lathanael@p549605AA.dip0.t-ipconnect.de) (Ping timeout: 186 seconds)
L516[18:44:35] <kashike> ...so is it expected that mods use reflection to access the toolClass field on ItemTool?
L517[18:44:39] <kashike> if so: why
L518[18:53:42] <LexMobile> no..
L519[18:54:19] <LexMobile> why would you jump to that?
L520[19:01:00] <Arcan> does anyone know of a mod that implements its own registry for something
L521[19:01:07] <Arcan> i'm not really sure what i need to do to create mine
L522[19:06:27] ⇦ Quits: ghz|afk (ghz|afk!gigaherz@249.red-88-9-13.dynamicip.rima-tde.net) (Remote host closed the connection)
L523[19:07:30] <TehNut> Arcan: Use RegistryEvent.NewRegistry and RegistryBuilder
L524[19:10:34] ⇨ Joins: Lathanael|Away (Lathanael|Away!~Lathanael@p54960CA7.dip0.t-ipconnect.de)
L525[19:17:58] ⇦ Quits: UnRealDinner (UnRealDinner!uid60473@id-60473.tooting.irccloud.com) (Quit: Connection closed for inactivity)
L526[19:24:05] <Arcan> TehNut: I understand that, but how
L527[19:24:08] <Arcan> sorry was AFK
L528[19:24:24] <Arcan> what do i do with registrybuilder
L529[19:24:32] <TehNut> You... build a registry
L530[19:24:41] <TehNut> look at it
L531[19:24:56] <Arcan> I did. I'm still confused.
L532[19:25:06] <TehNut> About which part
L533[19:25:35] ⇨ Joins: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net)
L534[19:25:40] <Arcan> ...all of it?
L535[19:25:47] ⇦ Quits: covers1624_ (covers1624_!~covers162@ppp122-232-6.static.internode.on.net) (Read error: Connection reset by peer)
L536[19:26:03] <Arcan> so i've registered an event handler for RegistryEvent.NewRegistry
L537[19:26:12] <Arcan> I understand that I need to do something with RegistryBuilder
L538[19:26:13] <LexMobile> why do you want a registry
L539[19:26:33] <Arcan> LexMobile: dynamically generated components that other mods can add to
L540[19:27:19] <Arcan> i have a helmet that uses a part as a base
L541[19:27:21] *** Arcan was kicked by LexMobile (dont ping me, and does it need to be sent over the wire as ints/serialized to disc?))
L542[19:27:33] ⇨ Joins: Arcan (Arcan!~DaMachina@40.112.138.169)
L543[19:27:56] <Arcan> ...
L544[19:28:21] <Arcan> I want to add a registry that other mods can register helmets to so that my helmet will recognize those as acceptable bases
L545[19:28:53] <LexMobile> read the rest of my question
L546[19:29:10] <LexMobile> It sounds like you dont need a registry but more of a marker.
L547[19:29:40] <LexMobile> But in reguard to the registry. Its a fucking builder object... its a fairly standard design in Java...
L548[19:29:49] <Arcan> I need some collection of the items that are acceptable bases so i can get texture data and other information from them.
L549[19:30:13] <Ordinastie> that's what is called an Interface
L550[19:31:39] <Arcan> Ordinastie: can i check that the Item to which an ItemStack in a crafting recipe belongs instantiates an interface as a condition for a recipe being valid?
L551[19:31:44] <LexMobile> Or just a basic API.
L552[19:32:10] <LexMobile> YourMod.addBase(myItem)
L553[19:32:31] <LexMobile> Again does your 'registry' need to be serialized to disc, or saved in the world save by integer ids?
L554[19:32:42] <LexMobile> serialized to network*
L555[19:33:00] <Arcan> no
L556[19:33:25] <LexMobile> then you dont need a Forge registry.
L557[19:33:29] <Ordinastie> Lex, I assume 1.13 will greatly simplify Forge Regsitry ?
L558[19:33:35] <Arcan> it does not need to be saved to disc or serialized to network - the information can be regenerated on game startup
L559[19:33:35] <LexMobile> Dont know
L560[19:33:51] <LexMobile> What are you doing with the data, exactly
L561[19:33:56] <LexMobile> What are you trying to acomplish
L562[19:34:26] <Arcan> the data is a ResourceLocation pointing to a texture, an ArmorProperties (optional), and an ArmorMaterial
L563[19:34:48] <Ordinastie> just go learn about interfaces
L564[19:35:10] <Arcan> i know how interfaces work...i am using some already
L565[19:35:30] <Ordinastie> then you shouldn't really be asking those questions
L566[19:36:01] <Arcan> if i knew what i was doing well enough to actually do it, i wouldn't be asking any questions
L567[19:36:08] <LexMobile> ya you dotn want a Forge registry you just want mods to send you extra data
L568[19:36:11] <Arcan> I understand the basic concept of a Java interface
L569[19:36:16] <LexMobile> So design a API and tell modders to use it
L570[19:36:23] <Arcan> ok, thanks
L571[19:36:25] <LexMobile> or use IMCs
L572[19:36:42] <LexMobile> or say screw it and dont ask other modders to add compat for your mod, but instead you add compat for theirs.
L573[19:37:45] ⇦ Quits: ben_mkiv (ben_mkiv!~ben_mkiv@p5797223d.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L574[19:40:03] <Arcan> other thing that i think i can do easily with a registry (by storing the registryname as nbt) - somehow, get an Item from an ItemStack that isn't an itemstack of that Item
L575[19:40:24] <Ordinastie> what does that even mean
L576[19:40:42] <Arcan> other mod sends my mod a helmet
L577[19:40:59] <LexMobile> you cant get a item from a itemstack that isnt the item in that itemstack...
L578[19:41:10] <Arcan> can i get an item from the registry name of that item?
L579[19:41:20] <LexMobile> yes
L580[19:41:26] <Arcan> without @ObjectHolder's?
L581[19:42:03] <LexMobile> yes @ObjectHolders are just helpers. Because you shouldnt be constantly querying the registry as its slow
L582[19:51:56] <Arcan> does getRegistryName return a String or a ResourceLocation
L583[19:53:04] <Arcan> looks like a ResourceLocation...
L584[20:01:56] <Ordinastie> the mere fact that you asked is quite worrying
L585[20:17:12] <Arcan> it occurred to me after asking that i could very easily look the answer up in the MC source
L586[20:33:22] <Arcan> Between which two FML loading events do RegistryEvent.Register events fire?
L587[21:03:11] ⇦ Quits: moony (moony!~moony@tx-76-4-58-88.dhcp.embarqhsd.net) (Read error: -0x7880: SSL - The peer notified us that the connection is going to be closed)
L588[21:16:00] ⇦ Quits: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net) (Read error: Connection reset by peer)
L589[21:16:17] ⇨ Joins: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net)
L590[21:28:17] ⇨ Joins: Doty1154 (Doty1154!~Doty1154@2601:648:8000:134f:d10b:bf39:e8ca:b091)
L591[22:01:43] ⇨ Joins: McJty (McJty!~jorrit@ptr-9197ufox3i7uoadm8tc.18120a2.ip6.access.telenet.be)
L592[22:04:21] ⇦ Quits: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net) (Quit: Leaving)
L593[22:04:40] ⇨ Joins: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net)
L594[22:07:07] ⇨ Joins: covers1624_ (covers1624_!~covers162@ppp122-232-6.static.internode.on.net)
L595[22:07:11] ⇦ Quits: covers1624 (covers1624!~covers162@ppp122-232-6.static.internode.on.net) (Read error: Connection reset by peer)
L596[22:43:37] ⇦ Quits: Neal1 (Neal1!~Neal@47.146.41.184) (Ping timeout: 383 seconds)
L597[22:44:17] ⇦ Quits: Doty1154 (Doty1154!~Doty1154@2601:648:8000:134f:d10b:bf39:e8ca:b091) (Read error: Connection reset by peer)
L598[22:56:24] ⇦ Quits: Lathanael|Away (Lathanael|Away!~Lathanael@p54960CA7.dip0.t-ipconnect.de) (Ping timeout: 186 seconds)
L599[22:58:06] ⇨ Joins: Lathanael|Away (Lathanael|Away!~Lathanael@p5496002D.dip0.t-ipconnect.de)
L600[23:06:20] <Zidane> Anyone have any idea why my TESR that renders an Item on the side of a block would always appear dark?
L601[23:10:41] ⇨ Joins: npe|office (npe|office!~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L602[23:29:50] ⇦ Quits: McJty (McJty!~jorrit@ptr-9197ufox3i7uoadm8tc.18120a2.ip6.access.telenet.be) (Quit: Leaving)
L603[23:33:30] ⇦ Quits: Abrar|gone (Abrar|gone!~AbrarSyed@ipv6.abrarsyed.com) (Quit: All things are trivial once you've mastered them.)
L604[23:33:30] ⇦ Quits: Dries007 (Dries007!~DriesZNC@abrarsyed.com) (Quit: ZNC - http://znc.in)
L605[23:33:31] ⇦ Quits: diesieben07 (diesieben07!~diesieben@abrarsyed.com) (Quit: ZNC - http://znc.in)
L606[23:33:31] ⇦ Quits: Wuppy (Wuppy!~wuppyZNC@abrarsyed.com) (Quit: ZNC - http://znc.in)
L607[23:33:31] ⇦ Quits: x3n0ph0b3 (x3n0ph0b3!~x3n0ph0b3@abrarsyed.com) (Quit: ZNC - http://znc.in)
L608[23:35:23] ⇨ Joins: Abrar|gone (Abrar|gone!~AbrarSyed@ipv6.abrarsyed.com)
L609[23:35:23] MineBot sets mode: +o on Abrar|gone
L610[23:35:51] *** Abrar|gone is now known as AbrarSyed
L611[23:36:29] ⇨ Joins: Dries007 (Dries007!~DriesZNC@abrarsyed.com)
L612[23:36:40] ⇨ Joins: diesieben|away (diesieben|away!~diesieben@abrarsyed.com)
L613[23:37:07] *** diesieben|away is now known as diesieben07
L614[23:37:09] ⇨ Joins: Wuppy (Wuppy!~wuppyZNC@abrarsyed.com)
L615[23:37:50] ⇨ Joins: x3n0ph0b3 (x3n0ph0b3!~x3n0ph0b3@2001:19f0:6400:8965:5400:ff:fe07:8777)
<<Prev Next>> Scroll to Top