Jump to content

Place Item Frames in World Gen


Armeleon

Recommended Posts

As the Item Frame is an Entity you cant place it in the World by worldgen easily but it is still accessible in Item Form with the ItemHangingEntity.class so you should be able to place one of them in the World with the given parameters.

PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered.

Link to comment
Share on other sites

Oh, so you have to place it from the Entity side, cool, thanks.  While I have you here, is there an accessor method in the Entity class for placing items in the frame? I can check when I get back to my computer, but are there any tricks I should know there?

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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • So I tried to search the issue but came up with nothing, the most I could get was some people having a mod location between the colon and the word "failed" but I seem to have nothing there. I am also making a modpack of my own, and tips are appreciated!
    • Heres a updated version of my github https://github.com/THEKINGSKULL01/TSOTD0.0.30Forge1.20.1
    • When i go to the forge website to download any of the choices of versions I am unable to download anything. It just says that I am unable to reach this website for some reason.
    • hi everyone how can i make this script smoother or make them delay    @SubscribeEvent(       priority = EventPriority.HIGH    )    public void renderCrosshair(RenderGameOverlayEvent event) {       if(mc.gameSettings.guiScale == 2) {       Minecraft minecraft = Minecraft.getMinecraft();       if(event.type == ElementType.CROSSHAIRS && isGunInHand(minecraft.thePlayer)) {          event.setCanceled(true);          Icon crosshairIcon = ClientProxy.iconRegistry.crosshairIcon;          double scale = 6.0F + getScaleByMotion(minecraft.thePlayer);          if(FlansModClient.currentScope == null)          scale = 45.0F + getScaleByMotion(minecraft.thePlayer);                    GL11.glPushAttrib(16384);          GL11.glPushMatrix();          GL11.glEnable(3042);          OpenGlHelper.glBlendFunc(775, 769, 1, 0);          GL11.glEnable(3008);          GL11.glColor3d(1.0D, 1.0D, 1.0D);          GL11.glTranslated((double)(event.resolution.getScaledWidth() / 2), (double)(event.resolution.getScaledHeight() / 2), 0.0D);          GL11.glPushMatrix();          ClientProxy.iconRegistry.bindSheet();          GL11.glRotated(90.0D, 0.0D, 0.0D, 2.0D);          ClientProxy.iconRegistry.renderIcon(crosshairIcon, -1.9D, (double)(-scale) + 0.1D);          GL11.glRotated(90.0D, 0.0D, 0.0D, 1.0D);          ClientProxy.iconRegistry.renderIcon(crosshairIcon, -3.0D, (double)(-scale) - 0.1D);          GL11.glRotated(90.0D, 0.0D, 0.0D, 1.0D);          ClientProxy.iconRegistry.renderIcon(crosshairIcon, -3.0D, (double)(-scale) + 0.9D);                    if(FlansModClient.currentScope == null)                        {          GL11.glRotated(90.0D, 0.0D, 0.0D, 1.0D);          ClientProxy.iconRegistry.renderIcon(crosshairIcon, -2.1D, (double)(-scale) + 0.9D);          }                    else if (scale >= 6.5F)          {          GL11.glRotated(90.0D, 0.0D, 0.0D, 1.0D);          ClientProxy.iconRegistry.renderIcon(crosshairIcon, -2.1D, (double)(-scale) + 0.9D);          }                    GL11.glPopMatrix();          GL11.glPopMatrix();          GL11.glPopAttrib();          minecraft.getTextureManager().bindTexture(Gui.icons);       }       }    }
    • Hello, I'm working on my first Minecraft 1.20.2 mod. However, I've created a custom block model and everything works perfectly except the rotation of the block. The code is implemented but it still doesnt work. Need help. This is the code of the object class. import net.minecraft.core.BlockPos; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.DirectionProperty; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.level.block.Rotation; import net.minecraft.world.level.block.Mirror; public class DirtyRock extends HorizontalDirectionalBlock { public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; public static final VoxelShape SHAPE = Block.box(4, 0, 4, 12, 2, 11); public DirtyRock(Properties pProperties) { super(pProperties); } @Override public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { return SHAPE; } @Override public BlockState getStateForPlacement(BlockPlaceContext pContext) { return this.defaultBlockState().setValue(FACING, pContext.getHorizontalDirection().getOpposite()); } @Override public BlockState rotate(BlockState pState, Rotation pRot) { return pState.setValue(FACING, pRot.rotate(pState.getValue(FACING))); } @Override public BlockState mirror(BlockState pState, Mirror pMirror) { return pState.rotate(pMirror.getRotation(pState.getValue(FACING))); } @Override protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> pBuilder) { pBuilder.add(FACING); } } In the ModBlocks class the block is registred like this public static final RegistryObject<Block> DIRTY_ROCK=registerBlock("dirty_rock", ()-> new DirtyRock(BlockBehaviour.Properties.copy(Blocks.STONE_BUTTON))); private static <T extends Block>RegistryObject<T> registerBlock(String name, Supplier<T> block){ RegistryObject<T> toReturn=BLOCKS.register(name,block); registerBlockItem(name,toReturn); return toReturn; } In the Data, ModBlockStateProvider the blockstate is implemened simpleBlock(ModBlocks.DIRTY_ROCK.get(), new ModelFile.UncheckedModelFile(modLoc("block/dirty_rock"))); And in resources/assets/modname/models/block dirty_rock.json is implemented { "credit": "Made with Blockbench", "textures": { "0": "wildandhunt:block/dirty_bricks_block", "particle": "wildandhunt:block/dirty_bricks_block" }, "elements": [ { "from": [5, 0, 4], "to": [9, 1, 8], "rotation": {"angle": 22.5, "axis": "y", "origin": [10, 0, 7]}, "faces": { "north": {"uv": [5, 4, 10, 5], "texture": "#0"}, "east": {"uv": [5, 5, 10, 6], "texture": "#0"}, "south": {"uv": [5, 6, 10, 7], "texture": "#0"}, "west": {"uv": [5, 7, 10, 8], "texture": "#0"}, "up": {"uv": [5, 5, 0, 0], "texture": "#0"}, "down": {"uv": [5, 5, 0, 10], "texture": "#0"} } }, { "from": [9, 0, 4.05], "to": [11, 2, 6.05], "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 0, 9]}, "faces": { "north": {"uv": [5, 4, 10, 5], "texture": "#0"}, "east": {"uv": [5, 5, 10, 6], "texture": "#0"}, "south": {"uv": [5, 6, 10, 7], "texture": "#0"}, "west": {"uv": [5, 7, 10, 8], "texture": "#0"}, "up": {"uv": [5, 5, 0, 0], "texture": "#0"}, "down": {"uv": [5, 5, 0, 10], "texture": "#0"} } }, { "from": [5, 0, 7], "to": [6, 1, 8], "rotation": {"angle": 22.5, "axis": "y", "origin": [10, 0, 10]}, "faces": { "north": {"uv": [5, 4, 10, 5], "texture": "#0"}, "east": {"uv": [5, 5, 10, 6], "texture": "#0"}, "south": {"uv": [5, 6, 10, 7], "texture": "#0"}, "west": {"uv": [5, 7, 10, 8], "texture": "#0"}, "up": {"uv": [5, 5, 0, 0], "texture": "#0"}, "down": {"uv": [5, 5, 0, 10], "texture": "#0"} } }, { "from": [10, 0, 8], "to": [12, 1, 9], "rotation": {"angle": 22.5, "axis": "y", "origin": [15, 0, 11]}, "faces": { "north": {"uv": [5, 4, 10, 5], "texture": "#0"}, "east": {"uv": [5, 5, 10, 6], "texture": "#0"}, "south": {"uv": [5, 6, 10, 7], "texture": "#0"}, "west": {"uv": [5, 7, 10, 8], "texture": "#0"}, "up": {"uv": [5, 5, 0, 0], "texture": "#0"}, "down": {"uv": [5, 5, 0, 10], "texture": "#0"} } }, { "from": [9.4, 0, 5], "to": [12.4, 1, 8.5], "rotation": {"angle": 22.5, "axis": "y", "origin": [12, 0, 7]}, "faces": { "north": {"uv": [8, 0, 11, 1], "texture": "#0"}, "east": {"uv": [8, 2, 10, 3], "texture": "#0"}, "south": {"uv": [8, 1, 11, 2], "texture": "#0"}, "west": {"uv": [8, 3, 10, 4], "texture": "#0"}, "up": {"uv": [8, 2, 5, 0], "texture": "#0"}, "down": {"uv": [8, 2, 5, 4], "texture": "#0"} } }, { "from": [6, 1, 6], "to": [10, 1.75, 10], "rotation": {"angle": 22.5, "axis": "y", "origin": [9, 0, 7]}, "faces": { "north": {"uv": [8, 0, 11, 1], "texture": "#0"}, "east": {"uv": [8, 2, 10, 3], "texture": "#0"}, "south": {"uv": [8, 1, 11, 2], "texture": "#0"}, "west": {"uv": [8, 3, 10, 4], "texture": "#0"}, "up": {"uv": [8, 2, 5, 0], "texture": "#0"}, "down": {"uv": [8, 2, 5, 4], "texture": "#0"} } } ], "display": { "thirdperson_righthand": { "translation": [0, 7.75, 0] }, "thirdperson_lefthand": { "translation": [0, 7.75, 0] }, "firstperson_righthand": { "translation": [0, 8.25, 0] }, "firstperson_lefthand": { "translation": [0, 8.25, 0] }, "ground": { "translation": [0, 4, 0] }, "gui": { "rotation": [32, 32, 9], "translation": [-1.25, 6.25, 0], "scale": [1.31, 1.31, 1.31] }, "fixed": { "translation": [0, 6.75, 0] } }, "groups": [ { "name": "dirty_stone", "origin": [8, 0, 7], "color": 0, "children": [0, 1, 2, 3, 4, 5] } ] }  
  • Topics

×
×
  • Create New...

Important Information

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