Jump to content

Ore Dictionary?


drinfernoo

Recommended Posts

It's pretty much there so that mods who have common ores, such as copper or tin, can use each others items. Say I wanted to craft an RE Battery in IC2, but I only had Redpower2 Tin ingots. The ore dictionary allows the RE Battery to be crafted with tin ingots other than those provided with IC2. It's very useful.

Link to comment
Share on other sites

so if id add some kind of wood the wooden planks wood be a basic item?

"not to scare azanor more , but he's a programmer, which is like the child of an orgy between math, logic, writing, and black magic . without any one of those it just doesn't work" etopsirhc

Link to comment
Share on other sites

for a basic item to work with the ore dictionary it does need to be added in the code by the mod maker, but the point being that it can be used by any other mod that also has an equivelant item in the ore dictionary (a popular example is copper and tin, all forms registered through the ore dictionary are fully interchangeable.

Link to comment
Share on other sites

  • 2 weeks later...

as fare as i have seen, using it as a programmer, the best thing is for basic items, and mined items, used in recipies, to make a crossmod ore base, instead of needing to mine 10 diffrent Coppers, and 10 diffrent Tins.

 

or if for instance

 

if you needed a re-battery for a recipe you wanted to make.. for instance a IC2 batpack.. it required 6 batteries.. but you only had 4 IC2 re-battries, and 2 RP2 batteries.. it could be really nice to be able to use both types, without the recipe complaining ;)

Link to comment
Share on other sites

How effective it is depends on how cooperative other modders are.

 

When you register an item with the ore dictionary, lets say... Plastic Ingots, you're telling the Ore Dictionary "Hey, I have some plastic ingots here if anyone wants to use them."

 

Then, if anyone else designs their mod with an Ore Dictionary recipe using "plastic ingots," the ore dictionary goes "Hey, this mod's got some plastic ingots" and makes the recipe using those ingots.

 

The reason why tin, copper, and silver are considered "standards" is because the "Big Mods" like IC2, RP2, and Forestry all use Ore Dictionary Recipes to make any registered tin, copper, or silver interchangeable.

 

So, you can register whatever items you want, but other mods with similar items will have to do their part in order for the things to be interchangeable.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • They were already updated, and just to double check I even did a cleanup and fresh update from that same page. I'm quite sure drivers are not the problem here. 
    • i tried downloading the drivers but it says no AMD graphics hardware has been detected    
    • Update your AMD/ATI drivers - get the drivers from their website - do not update via system  
    • As the title says i keep on crashing on forge 1.20.1 even without any mods downloaded, i have the latest drivers (nvidia) and vanilla minecraft works perfectly fine for me logs: https://pastebin.com/5UR01yG9
    • Hello everyone, I'm making this post to seek help for my modded block, It's a special block called FrozenBlock supposed to take the place of an old block, then after a set amount of ticks, it's supposed to revert its Block State, Entity, data... to the old block like this :  The problem I have is that the system breaks when handling multi blocks (I tried some fix but none of them worked) :  The bug I have identified is that the function "setOldBlockFields" in the item's "setFrozenBlock" function gets called once for the 1st block of multiblock getting frozen (as it should), but gets called a second time BEFORE creating the first FrozenBlock with the data of the 1st block, hence giving the same data to the two FrozenBlock :   Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=head] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@73681674 BlockEntityData : id:"minecraft:bed",x:3,y:-60,z:-6} Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=3, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=2, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} here is the code inside my custom "freeze" item :    @Override     public @NotNull InteractionResult useOn(@NotNull UseOnContext pContext) {         if (!pContext.getLevel().isClientSide() && pContext.getHand() == InteractionHand.MAIN_HAND) {             BlockPos blockPos = pContext.getClickedPos();             BlockPos secondBlockPos = getMultiblockPos(blockPos, pContext.getLevel().getBlockState(blockPos));             if (secondBlockPos != null) {                 createFrozenBlock(pContext, secondBlockPos);             }             createFrozenBlock(pContext, blockPos);             return InteractionResult.SUCCESS;         }         return super.useOn(pContext);     }     public static void createFrozenBlock(UseOnContext pContext, BlockPos blockPos) {         BlockState oldState = pContext.getLevel().getBlockState(blockPos);         BlockEntity oldBlockEntity = oldState.hasBlockEntity() ? pContext.getLevel().getBlockEntity(blockPos) : null;         CompoundTag oldBlockEntityData = oldState.hasBlockEntity() ? oldBlockEntity.serializeNBT() : null;         if (oldBlockEntity != null) {             pContext.getLevel().removeBlockEntity(blockPos);         }         BlockState FrozenBlock = setFrozenBlock(oldState, oldBlockEntity, oldBlockEntityData);         pContext.getLevel().setBlockAndUpdate(blockPos, FrozenBlock);     }     public static BlockState setFrozenBlock(BlockState blockState, @Nullable BlockEntity blockEntity, @Nullable CompoundTag blockEntityData) {         BlockState FrozenBlock = BlockRegister.FROZEN_BLOCK.get().defaultBlockState();         ((FrozenBlock) FrozenBlock.getBlock()).setOldBlockFields(blockState, blockEntity, blockEntityData);         return FrozenBlock;     }  
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.