-
Posts
84 -
Joined
-
Last visited
-
Days Won
1
Posts posted by Rohzek
-
-
There should be a run folder inside your project root (beside src, gradlew.bat etc) inside of which is a "normal minecraft installation" with config, logs, mods, resourcepacks, saves, etc.
You should be able to drop whatever you want in there to have it load with the game, separate from being in your dev environment
-
This all worked fine before 1.20, but now trying to figure out a way to work with the new template system is proving difficult.
It will work the first time you try and you can see the correct output and click it to see it hovering on the mouse, but when you click to put it into your inventory (or try to shift click it out of it's slot) the item disappears.
If you try a second time to make the same recipe without restarting the game, it's no longer seen as valid.
I'm sure I'm missing something simple but no idea what that could be.
Custom Recipe File (java)
Example Recipe (json)
-
I have two semi-related problems, both involving rendering.
For the first situation I want to hide the air bubbles/breath bar when a particular piece of armor is worn. Previously I used
RenderGameOverlayEvent.Pre event
and canceled the event if the element type was
ElementType.AIR
which no longer exists in 1.17 it seems, and now I'm not sure how to recreate this functionality with the new system.
For the second, I want to disable the under-lava-view fog when a particular piece of armor is worn. Previously I used
EntityViewRenderEvent.FogDensity event
and
RenderSystem.fogStart(0.0F); RenderSystem.fogEnd(1024F); event.setDensity(0.05F); event.setCanceled(true);
to achieve the desired result.
To be honest with you I don't remember how I came up with that solution anymore, only that fogStart and fogEnd became deprecated at some point before 1.16.5 (as I found out when finally updating my mod yesterday), and are completely removed now. For 1.17 I tried replacing those with
RenderSystem.setShaderFogStart(0.0F); RenderSystem.setShaderFogEnd(1024F);
which has no effect, unless I'm missing something else for that to work. Not sure how to get the same effect here.
-
I'm looking for a way to set an "easy" mode in the configs which disables some recipes and enables others. Googling/searching this forum brings up a lot of 1.12 references to IConditionFactory which no longer exists. How would you go about that now?
-
How would I go about using a single blockstate/model/item model file for a set of blocks?
I don't mean to try to use a single blockstate to stand in for metadata or whatever, I mean each block uses the same blockstate/model/texture etc.
-
I'm making armor that allows players to walk in lava while they wear it, without being hurt.
Easy enough, but I wonder if there's a way to remove the burning overlay so they can see normally (or stop players from burning all together when wearing the armor)?
-
14 hours ago, diesieben07 said:
This would be done with a custom IRecipe implementation with a custom getRemainingItems implementation instead of getContainerItem.
Did the trick, thanks.
-
The easiest way to explain what I mean is probably an illustration so I'll just do that:
Here I use one item to "fill" two other items, and the crafting recipe works as intended; the two empty cups get removed and the empty mug stays
SpoilerBut here, I want to "mix" two items and keep the same amount of "containers" but currently it duplicates them by leaving the container items behind and creating two more in the form of the output.
SpoilerTechnically the ContainerItem code is working as "intended" but, is there a way to temporarily override the container item in this instance, or just remove the item from the crafting matrix after pulling the result out?
And what if I want to do this with vanilla items, too (e.g. mixing a custom "bucket" item with a vanilla milk bucket, to where two new bucket items would pop out, and both of the leftover vanilla buckets containers should be removed
I've tried doing both clear and decrStackSize on the PlayerEvent.ItemCraftedEvent.craftMatrix but neither seemed to work.
-
5 hours ago, Big_Bad_E said:
public class Registery {
You can tag this class as @Mod.EventBusSubscriber and not worry about calling the event bus registry in your proxy
5 hours ago, Big_Bad_E said:@SubscribeEvent public void registerItems(RegistryEvent.Register<Item> event) {
But this has to be static for that to happen
5 hours ago, Big_Bad_E said:@Mod(modid = "cfb", name = "Cooking For Blockheads", version = "v1.0.0")
But, what's going on here? You do know 'Cooking for Dummies' is close, but using 'Cooking For Blockheads' is literally just using the name of another mod?
-
4 hours ago, olscizorlo said:
view them in eclipse
- Help > Eclipse Marketplace
- Search 'decompiler'
- Install Enhanced Class Decompiler (Or Bytecode Outline)
- Restart
- Open Package Explorer, right click on project
- Build Path > Configure Build Path > Libraries > Add External Jar > Add the mods jar file.
- Find files in Project > Referenced Libraries > modname.jar and open them like any other
-
1 hour ago, Bethoven201 said:
java.lang.NoClassDefFoundError: com/mia/craftstudio/IPackReaderCallback
There's either a problem with CraftStudio, a mod that uses it, or a mod you have requires it and you don't have it installed. What's your list of mods?
EDIT: Specifically PTRLib has a com.mia.craftstudio. Are you running Decocraft or Camera Obscura?
-
29 minutes ago, loordgek said:
Yes, I know that. And, as I said in the OP
7 hours ago, Rohzek said:Adding aspects to items a la the ThaumcraftApi#registerObjectTag (and #registerComplexObjectTag) method(s) works great for the unaffected items
I'm using https://github.com/Azanor/thaumcraft-api/blob/master/ThaumcraftApi.java#L291 to add aspects to the other ores. Kind of implies I know of the API already. Infact I even said:
7 hours ago, Rohzek said:A quick search through the API (both on Github, and in Eclipse) hasn't really turned up anything obvious. Am I missing something/is there an easy way around this?
What I'm not finding in it, is a method to remove/change/overwrite an item that's getting stuck with aspects through other sour- Just re-read the OP, I've already said all of this.
-
Forge probably want's the server file to have the same name as it would have, if had been downloaded with the Forge installer, which is the same name displayed on the website, on the download link. Try renaming it to that: 'minecraft_server.1.12.2.jar'
- 1
-
I know this isn't Forge related, but I figured I'd ask anyway, in case someone knows:
I'm attempting to add limited Thaumcraft support to my mod, in the form of adding aspects to items, and am stuck on a small snag; Is there a way to overwrite/remove aspects from items that already have them, using the Thaumcraft API?
Specifically my items/ores, which are tagged with (Thaumcraft supported) ore dictionary entries, are grabbed by Thaumcraft's automatic adding of ore dictionary items and have aspects applied to them, that I wish to tweak (small things such as adding 'Ignis' to nether ores) or change completely (in some cases, to better fit the item's purpose). Adding aspects to items a la the ThaumcraftApi#registerObjectTag (and #registerComplexObjectTag) method(s) works great for the unaffected items, but does not seem to override or even concat the aspects on the items that are already tagged, regardless of when it's called (Pre-Init, Init, or Post-Init). A quick search through the API (both on Github, and in Eclipse) hasn't really turned up anything obvious. Am I missing something/is there an easy way around this?
-
Updating my mod to 1.12 seemed to be easy enough, except it seems that the lang file isn't being loaded?
I have no errors in the console, either.
Spoiler -
It's actually pretty easy. Just look up the ModMetadata class, and then get an instance of it from FMLPreInitializationEvent#getModMetadata
-
2 minutes ago, grand_gibus said:
Take a look at the minecraft flower pot! It uses blockstates. Might be simpler.
I'm hoping to be able to support any modded flower (or at least ones which are subclasses of BlockFlower and BlockBush), which is why getting a block from an itemstack and rendering it seemed way more simple than blockstates, assuming it's possible.
-
1 hour ago, diesieben07 said:
I don't see why you would want a TESR in the first place.
Because I have no idea how to do what I want (render a block you place into a tile entity as a block in the world), but Googling "Forge modding render (anything) gets 50% results for rending a custom model, and 50% results for using a TESR. I started working with the one that seemed relevant.
-
Trying to make a custom flowerpot; I have a TESR and it's Tile Entity stores an instance of a BlockFlower or BlockBush as an itemstack.
So far, I've only seen information on how to render something as an EntityItem, but how do I render the flower block as a normal block, instead?
-
On 4/20/2017 at 4:48 PM, Terrails said:
The problem now is how should I disable the ores that are not generated with my config/generator? (I want to disable the generation of ores that are specified in my config and than use my own generation so there aren't 2 generators doing the same thing)
If it's vanilla ore, it's easy. You'll need to subscribe to OreGenEvent#GenerateMinable and block the events. I have an example of that you can look at here.
When it comes to the other mods, hope that they have a config you can use to turn off their generation. Or, you'll have to load the mod as an external library and see if there's a getter/setter/public variable somewhere you can edit to turn off generation when your mod is installed. How they have their generation setup determines what you have to do. ...And that really only works if the mod author provides a source/dev version of the mod.
Outside of editing the other mods' configs, you won't be able to just read a boolean out of your config and support blocking of any mod, you'll have to code support in for each mod manually.
- 1
-
That is the hardest possible way to do it, it seems. If you run into a block that's a subtype (e.g. forestry's apatite, copper, and tin are all just "forestry:resources" with a different metadata), you'll have to find some way for them to specify the metadata in your config too.
To answer your specific question though, you'll need to get the mod id and use it to check to see if the mod is present, and if it is you can get the block with Block#getBlockFromName which will take an id and a block name (like "forestry:resources" or "minecraft:iron_ore") and then you can get the state from that to pass into your generation code.
-
19 hours ago, diesieben07 said:
You have to basically copy what they are doing, unless they are exposing their ore generation with some sort of API.
I would imagine there would be a way to get the list of ores from the mods and pass those to my own generate methods, but how would I be able to stop their ores from spawning first? I'm assuming when checking for an ore to block, EventType.CUSTOM will block any WorldGenerator extended block that isn't a vanilla one?
-
I have a mod that changes the way ores generate in the overworld by blocking the vanilla ore generation (using the OreGenEvent#GenerateMinable event), and adds nether and end ores.
I know how to make my mod aware of other mods by checking the mod Id with Loader#isModLoaded, and using the @Optional tag, but I'm not sure where to go from here.
The most requested feature is to add support for ores from other mods, but I'm not sure how to go about that exactly. Another thing that got requested recently is for my ore generation to be used in (dynamic?) dimensions added by another mod, and I'm not sure how to go about that either - or can I even do that?
-
You say it works for two tabs, but not more. Then you still have not shown the problematic code, you have shown only two tabs.
But that's just it. That's why this is getting even more confusing, since all of the creative tabs, are created exactly the same as the others. Literally the only thing that I've changed is the tab chosen in this line, in every class:
setCreativeTab(Main.CUSTOM_TAB);
At first it was set to all the individual tabs, where food items were going to my "Main.FOOD_TAB," and blocks into "Main.BLOCKS_TAB" etc, etc, and only the first two tabs I added worked.
Then I commented out all but one while testing after submitting this, and changed all of the item classes' 'setCreativeTabs()' calls to list into the one that was left, and it worked fine; every item appeared like it should.
And now, to make it worse, I've un-commented them all, and set them all back to the way it originally was, and even less of them are working, now.
It has to be the order they're being loaded (in the main class) vs the item classes (through a registered as @Mod.EventBusSubscriber), or something. This literally makes no sense.
Project on Github:
[1.20] Custom Smithing Table Recipes
in Modder Support
Posted
Still have the same problem; haven't found a fix.