Izzy Axel
-
Joined
-
Last visited
Posts posted by Izzy Axel
-
-
I have looked into this a lot and talked to people on the irc channel, the obj was added for blocks and items but not armor. I still am working on figuring out how to get a custom renderer for the armors. I am testing out the one that you have posted here for 1.7.10 to see how that one works. When I load in a model for a helmet the the model is huge and in the wrong place. Do I need to include a json file in 1.7.10 for the examples above?
I really want to figure this out so that I can move forward with my mod idea.
You need to use OpenGL to fix its scale and position then. 1.7.10 didn't use JSON files. This currently uses my own loader/renderer but it's a drop-in replacement for the AdvancedModelLoader: IrisRender
Edit: actually you can also fix its scale and position by scaling/positioning it in your 3D modeling program too. In Maya (the program I use) 1 cubic unit = 1 block in MC, which makes it very easy to position/scale the model file, so not much OpenGL is required.
-
Ideally the renderer would separate all opaque and transparent faces into separate lists, sort the opaque front to back, transparent back to front, turn glDepthMask on, render the opaque list, turn glDepthMask off, then render the transparent...but I have no idea what the vanilla renderer is doing. I don't have the patience to try to go through it and figure out what's going on with it...and it might end up being easier to rewrite the whole thing than fixing what's there.
OpenGL 3.1+ would make it so much easier and more efficient...just sayin. ¯\_(ツ)_/¯
-
I know that this is very old. But I was wondering if this has been done or figured out for 1.10.2. Is this different for 1.10.2?
Eventually I'll rewrite my OBJ reader/renderer for 1.10+, but from what I heard, Forge added OBJ support to the vanilla model system, can that not be used for armor?
PS your inbox is full
-
Basic setup: http://www.minecraftforge.net/forum/index.php?topic=14048.0
One workspace == one project. One project != one mod.
So yeah, you can have many packages and classes with @Mod annotation (making your project have multiple mods), but when you compile it (build), you will have to either make Jars on your own or write script to do so (for such help you will probably need to look into gradle itself - there are help forums/tutorials I guess).
Ive looked at that and i dont rly want to run 'gradle setupDevWorkspace' in all my mod folders, main reason why im making this post

isnt there any way using the 'dependencies {}' part of the 'build.gradle' file to make it depend on my 'CoreMod'? (if there is I would just do the same to make 'Mod C' depend on 'Mod A' right?)
This goes in the @Mod annotation
I assume you mean like that?
-
-
-
I'm only taking the color into account with getMetaFromState, so why is growing working?
~
And I haven't added a withProperty for the age in getStateFromMeta either...
~
So I'm a little confused as to why the crop is functioning right now.
Edit: Crop block
-
Metadata is limited to 4 bits (16 possible values), you can't have 5 colours and 8 ages in a single
Block
. The age takes up 3 bits, leaving only 1 spare bit.
You'll need to create a
Block
for each colour and only store the age in the metadata.
You can register an
IBlockColor
to colour a block model at runtime, but each model element to be coloured must specify a tint index (see the wiki). If you also want the item model to be coloured, you'll need to register an
IItemColor
.
Register your
IBlockColor
/
IItemColor
implementations with the
BlockColors
/
ItemColors
instances in init, you can get these from
Minecraft
. I have some examples of this here.
What would be the result of storing more than 4 bits, because the crops are the correct colors when planted and grow fully, they just don't have a model/texture.
-
So...I made a crop block and seeds, and there needed to be 5 colored variants of them, so I handled that with metadata, using a PropertyEnum for color, and PropertyInteger for age, but now that I'm moving on the models/blockstate files, I'm not sure what to do; what's the best/most efficient way of handling this? I'd really like to not have to create 40 model files. <__<
Bonus question, how would I use a single set of greyscale stage textures for each color and apply colorations to them?
-
-
When I create a Creative Tab for my mod I just have it has a variable in my main class like so
public class Main { public static CreativeTabs tab = new CreativeTabs("tab") { public Item getTabIconItem () { return ModItems.AN_ITEM; } }; }I don't need it to place it in one of FML's initialization events.
Maybe try that and see if it fixes your problem.
Not having your creative tab defined in an anonymous inner class in your main class definitely isn't the problem. Frankly I think having a creative tab in main in an anonymous inner class is messy and should be avoided...and as far as I can tell it was a trend started by tutorial writers. Big surprise there.
And god forbid you want to start manually ordering your items/blocks, suddenly your creative tab's anonymous inner class is bigger than the rest of the main class several times over.
-
I don't understand your goal.
I think he's asking how to change how much damage the explosion does to entities, without affecting block damage?
No, when changing the strength of the explosion, it creates little to no particles basically looking like nothing exploded if I made the strength less than 2, and with the strength at 2 the damage is half health to full damage on a player. I was wondering if I can change the damage value of the explosion without having to change the strength.
I'd need to look into it myself but you can probably create a custom explosion extending the vanilla one to do that, and look into how vanilla spawns it, and replicate that.
-
-
-
-
Ok, got something I'm happy with:
https://gist.github.com/izzyaxel/ebd1a16d6146e317d0f5f6435164ff8c
Allows for users to register their own alias/keybind pairings for the system too.
-
-
Sure. Like I said, simply substitute "key" for "action".
"Multiple keys at once" => "Multiple actions at once".
Whatever client <=> server communication you did before with keys, you do now with actions. And on the client side you substitute in the keys for actions when sending and actions for keys when receiving.
So...for this jetpack example the user would have to create 5 actions? That doesn't even work right, all the directional movement keyhandling has to be done in a single location. This method is falling apart the more it's examined...
If you're wondering why I say it has to be done in a single location: https://gist.github.com/izzyaxel/ca1483e034914dc43ddc2798be330ef2
-
-
I did not say anything about prebuilt actions. Make the user create an action object and register it with a ResourceLocation. Hell, you can even use FMLs registry system for this so you will get automatically assigned integer IDs for fast network communication.
Oh...derp, I've already done something similar with the API's action scheduling system, not sure why I didn't get what you meant

-
The way I would design this:
- Server has a set of actions that can be performed by keys. It does not know the keys.
- Client also has this set but on here each action is bound to a Keybinding.
- Instead of transmitting "key X is pressed!" you transmit "action XYZ is triggered!".
- API on the server stays the same, you just substitute "key" for "action".
That alone would be restrictive to whatever the API has previously defined, that'd need to be an add-on to the primary "freeform" functionality. It'd be fine to offer a set of prebuilt actions, but I'm not sure what else beyond the standard "space for jetpack" would be useful to add?
The system I have atm is starting to feel less pointless though since you can register a cluster of keys to one class and be informed of the state of all of them when one is pressed. That change was made because I realized when making an example jetpack, simply changing the player's motionY value makes horizontal movement silly levels of slow, so I had to simultaneously monitor the cardinal movement keys and "reimplement" ground movement in the air with that info.
-
As others have said, the server should handle the actions of the keybinds rather than the keybinds themselves. Solutions involving working with keybinds on the server are not really solutions at all because they just cause more problems.
And what problems would those be? As stated before the server doesn't alter the keypresses, it's storing a map of booleans.
Anyway, updated to callback on whole groups at once when any of them are pressed:
-
-
noise[i * 16 + y] = 0.d; noise[i * 16 + y] = generateNewNoise(8, i, y, .5, 1);
First line is unnecessary, you're already overwriting whatever is in there with the return of generateNewNoise.
The generateTerrain function should be returning the modified ChunkPrimer, you're using it like a C style pointer, which doesn't work in Java, there are only references.
[1.7.10] [SOLVED] OBJ Armor Rendering
in Modder Support
There's no point in trying to use Jade if you're trying to make armor OBJ models for 1.7.10, it does the same thing as the Forge OBJ loader, the only difference is that it's faster, never discards faces, and respects normal angles. The version on my github is a very early start to the 1.10.2 version iirc, I don't think I ever pushed a 1.7.10 version. Whatever happened, I'm pretty sure it's not in a fully functional state for either version. I haven't been working on anything MC or even Java related in a while, I'm off in C/C++ land at least until I finish the projects I'm working on atm.