orangejuice21314
-
Posts
6 -
Joined
-
Last visited
Posts posted by orangejuice21314
-
-
i think it might be a problem with how im creating the block
// blue public static final RegistryObject<wallpaperstairs> BLUE_STAIR = BLOCKS.register("blue_stair", () -> new wallpaperstairs(BlockInit.WALLPAPER_BLOCK.get().defaultBlockState(), Block.Properties.copy(BlockInit.WALLPAPER_BLOCK.get())));
however when i change the BlockInit.WALLPAPER_BLOCK to WALLPAPER_STAIR (which is a stair block, the one that is supposed to change into the blue stair) it does the same thing
(heres the wallpaper stair)
public static final RegistryObject<wallpaperstairs> WALLPAPER_STAIR = BLOCKS.register("wallpaper_stair", () -> new wallpaperstairs(BlockInit.WALLPAPER_BLOCK.get().defaultBlockState(), Block.Properties.copy(BlockInit.WALLPAPER_BLOCK.get())));
-
just renamed them thankyou for the tip
-
if (item.is(ItemInit.BLUE_PAINTBRUSH.get())) { p_60506_.swing(p_60507_); BlockState blockstate = BlockInit.BLUE_STAIR.get().defaultBlockState(); PaintStair(p_60503_, p_60504_, p_60505_, blockstate, p_60506_); }
heres the PaintStair method I made:
static void PaintStair (BlockState p_60503_, Level p_60504_, BlockPos p_60505_, BlockState blockstate, Player p_60506_) { p_60504_.setBlock(p_60505_, blockstate, blockstate.getHarvestLevel()); }
and here is the stair in BlockInit
public static final RegistryObject<wallpaperstairs> BLUE_STAIR = BLOCKS.register("blue_stair", () -> new wallpaperstairs(BlockInit.WALLPAPER_BLOCK.get().defaultBlockState(), Block.Properties.copy(BlockInit.WALLPAPER_BLOCK.get())));
-
To get the blockstate of the stair, I am just using .get() and then .defaultBlockState()
BlockState blockstate = BlockInit.BLUE_STAIR.get().defaultBlockState();
I did hear about a method that does give you the full-block version of a stair blockstate, but I do not believe I am using that method.
-
I tried adding tags to my mod, and when I ran the client, this appears whenever I want to create a world or play a previously made world.
Log:https://gist.github.com/orangejuice21314/ad87b0fd0d553f0c78a0cc8bc70263f8
Tag creation:
public class mzojPaintTags { public static class Items { //paint brushes public static final Tags.IOptionalNamedTag<Item> PAINT_BRUSHES = createTag("paint_brushes"); //buckets public static final Tags.IOptionalNamedTag<Item> PAINT_BUCKETS = createTag("paint_buckets"); private static Tags.IOptionalNamedTag<Item> createTag(String name) { return ItemTags.createOptional(new ResourceLocation(Main.MOD_ID, name)); } private static Tags.IOptionalNamedTag<Item> createForgeTag(String name) { return ItemTags.createOptional(new ResourceLocation("forge", name)); } } }
Setting blocks to tag:
{ "replace":false, "values": [ "mzojPaint:red_paintbrush", "mzojPaint:white_paintbrush" ] }
Using setBlock with a stair BlockState places its full-block version instead of the stair version.
in Modder Support
Posted
found the problem.
the BlueStair was copying properties from the WallpaperStair, and the WallpaperStair was copying properties from WallpaperBlock, so when I right-clicked the stair, it was doing what the wallpaperblock was doing