Everything posted by Draco18s
-
[ANSWERED] 2d item image for custom model blocks
The item model uses a specific special texture, just like Cake and Doors. You would know this if you had looked at the models json file for the item.
-
MinecraftForge Chroma Mod [move to mods]
And an oddball outdated version none the less.
-
[SOLVED] =+--1.12.2--+= .Custom furnace glitch.
Like this spot fucking mattered. All this is is a check to see if the stack isn't empty. Copying it doesn't change anything. Honestly. The other (useful) spot to do it would have been here:
-
[1.13/1.14]How to make a world type with multiple biomes?
I haven't dug into it at all myself, but the information is going to be in there somewhere.
-
MinecraftForge Chroma Mod [move to mods]
Oh jesus christ. There are like five better ways to do this. Just two I can think of block instanceof DoorBlock && block.getMaterial() == Material.WOOD block == Blocks.ACACIA_DOOR || <the rest> Just because something can be expressed as a string doesn't mean you should.
-
[1.13/1.14]How to make a world type with multiple biomes?
What does this do?
-
[1.13/1.14]How to make a world type with multiple biomes?
Use a different biome provider.
-
MinecraftForge Chroma Mod [move to mods]
...and? I'm really not sure what your point is.
-
[1.14.4] Modifying Vanilla Content
-
MinecraftForge Chroma Mod [move to mods]
-
MinecraftForge Chroma Mod [move to mods]
-
[1.12.2] Decorative Vine Creation
Have you tried looking at the vanilla vine block class?
-
[SOLVED] =+--1.12.2--+= .Custom furnace glitch.
Because you (quite literally) stole the stack from your recipe manager. ItemStack output = FusionReactorRecipes.getInstance().getSinteringResult(inputs[0], inputs[1]); if(!output.isEmpty()) { smelting = output; You have to call .copy() on it.
-
(1.12.2) Random Block Rotations
By the way, Minecraft vanilla doesn't apply the random rotation thing to ores. You're free to do whatever you want, but I am one of those sorts of people who look at vanilla and tries to match style and ethos. So if vanilla doesn't apply random rotations to ores, then my ores won't have random rotation either. This the closest I've come to having a non-square model, and even then its based on the math behind water, soo... (By the way, don't forget to add your ore blocks and items to the tag system)
-
[SOLVED] IHasModel alternative for more complex situations
Its still a Forge-controlled event. My reasons for not creating directly inside the Registry event is that I only need one registry event handler that supports four mods and keeps my main class looking clean and organized. All the crazy wackadoo "this block needs to do something special" code is tucked away either in that block, a block-adjacent class (eg an ItemBlock), or the EasyRegistry's methods.
-
How to start (Yes, I do have basic knowledge of Java)
Don't let the door hit you on the way out.
-
[SOLVED] IHasModel alternative for more complex situations
https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/java/com/draco18s/hardlib/client/ClientEasyRegistry.java#L66-L71 But you should be flattening your blocks at this point. I don't care if you're still on 1.12, when you move to 1.13 you'll have to do it anyway https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/java/com/draco18s/hardlib/client/ClientEasyRegistry.java#L79-L97
-
How to start (Yes, I do have basic knowledge of Java)
I'm not sure why you need a tutorial to type the commands "gradlew genEclipseRuns" and "gradlew eclipse" into a terminal window.
-
[SOLVED] IHasModel alternative for more complex situations
That is correct. Unlikely. I would have to see a specific use-case scenario. I used something similar to handle items with a custom mesh definition as I was passing things through to a method that didn't have specific knowledge and needed to query a method on the Item passed to it. Though I could just as easily have use two separate objects.
-
[1.14.4] Blocks behind a custom model won't render [Solved]
That's the one that didn't survive to 1.14, you're looking for: @Override public BlockRenderLayer getRenderLayer() { return BlockRenderLayer.CUTOUT_MIPPED; //or TRANSPARENT or CUTOUT as you require }
-
Making a block that requires silk touch to drop self
One of the parameters is a boolean called isSilkTouch.
-
[SOLVED] IHasModel alternative for more complex situations
1) You don't need IHasModel at all. All items need models. ALL OF THEM. ALL OF THEM NO EXCEPTIONS and the data required to register one is public. Blocks get their models registered automatically (this is true of items as well come 1.13). Its an antipattern because you will never have an item that does not have a model, so utilizing an interface to supply it is worse than useless (your blocks that require IHasModel? They have ItemBlocks and ItemBlocks are items and require a model). You're actually writing more code than not using the interface. 2) block instanceof BakedModelProvider is bad. BakedModelProvider is almost certainly client side only (or references something that's client side only) and will crash the dedicated server
-
[1.14] Forge Fluid Model?
Finally figured out what was going on. I wasn't taking into account the side parameter, so all the faces I was generating were being rendered 6 times. I just didn't expect that to do that that way. Once I fixed that I figured out that the 7F00 value was affecting the transparency and was "too transparent" (despite having been the value that was returned when I told vanilla code to generate quads). End result: fucking beautiful Also made the wood part follow the angle, as I'd always wanted to have happen.
-
[1.14.4] I don't understand how to Override existing classes.
You don't override interface methods, you implement them. And don't implement Forge's extension interfaces directly. Extend Block or Item as appropriate, they already implement those methods, all you have to do is write @Override methods. Like so: https://github.com/Draco18s/ReasonableRealism/blob/1.14.4/src/main/java/com/draco18s/harderores/block/SluiceBlock.java#L119-L123
-
Particles in 1.14.4
In taking 15 seconds to find the implementors of IForgeRegistryEntry (everything that can be registered via the registry events) and locating the ParticleType class and finding out that it has a <T> parameter and a subclass that specifies how it is to be used: public class BasicParticleType extends ParticleType<BasicParticleType> implements IParticleData { Done. Its not that hard.
IPS spam blocked by CleanTalk.