Everything posted by Kikoz
-
Blockstates conversion, update all modded blocks on start?
For example the previous states were four booleans (North,East...) and now I removed those and made a part enum which has 3 parts ( single, left, right ). And now as that changed I would like the already placed blocks in older versions to update in the newer version, Thanks!
-
Blockstates conversion, update all modded blocks on start?
Hello, I'm trying to make all of the modded blocks to update their states once, or have a conversion for the blockstates. Meaning I have a saved world with the old blockstates, and now in the newer update on which I'm working the states have been changed to work the same but more effective (lower state count). Basically so players could just update to the newer version and their stuff would not break just update/convert... What would be the best approach for this?
-
Is there a way to make a step sound for thin custom blocks?
Hi there! I've recently found out that when you have a very thin voxelshape like Block.box(0, 0, 0, 16, 2, 16) The step sound is going to be the block underneath it. Even blocks like carpet, trapdoors, rails have this issue. Is there any workaround for this, so I can have the material sound I need?
-
1.16.5 - Custom Light Block is not working when using optifine
Allright managed to get it work by using .setLightLevel((lightLevel) -> 15)
-
1.16.5 - Custom Light Block is not working when using optifine
Hi! I created a light emitting block which works when I'm not using optifine. After I run it with optifine the block is not emitting any light. Could someone help me how to solve it? Thanks! public LightModel(Properties properties) { super(Properties.create(Material.WOOD) .sound(SoundType.WOOD) .hardnessAndResistance(3.0f,3.0f) .notSolid() ); this.setDefaultState(this.stateContainer.getBaseState().with(LIT, Boolean.valueOf(true)).with(WATERLOGGED, Boolean.valueOf(false))); } public int getLightValue(BlockState state, IBlockReader world, BlockPos pos) { Boolean i = state.get(LIT); if (i == true) { return 15; } else { return 0; } } public ActionResultType onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) { { if (Screen.hasShiftDown() == true) { state = state.func_235896_a_(LIT); worldIn.setBlockState(pos, state, 10); } else { return ActionResultType.PASS; } } return ActionResultType.func_233537_a_(worldIn.isRemote); }
-
1.16+ Attach glass panes to custom doors
I'm so sorry, I've figured it out.
-
1.16+ Attach glass panes to custom doors
Is it possible to allow a custom door to attach to glass panes/ iron bars? If yes, how exactly?
-
1.16.4 - On right click, open the block container next to it
Thanks! It works
-
1.16.4 - On right click, open the block container next to it
Basically all I want to do is, you have 2 blocks placed next to each other. A Chest and a special block, if you right click on the chest it opens it and if you click on the special block it opens the chest next to it. Is there any way of doing that feature for the special block?
-
[ 1.16.4 ] Bookshelf Enchant method?
Closed, got it.
-
[ 1.16.4 ] Bookshelf Enchant method?
Hello, is there a bookshelf method which makes it work with the Enchantment Table? Thanks!
-
[1.16.4] - compileJava FAILED / Build failed with an exception
I just don't get it why it works in 1.16.2 but not in the newest. Thanks for your reply.
-
[1.16.4] - compileJava FAILED / Build failed with an exception
Hello! I updated my mappings from 1.16.2 to 1.16.4 and I'm not able to run the client. Any help is welcome, thanks! error: DoubleBlockTypes is not abstract and does not override abstract method getString() in IStringSerializable public enum DoubleBlockTypes implements IStringSerializable ^ Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. 1 error > Task :compileJava FAILED FAILURE: Build failed with an exception. import net.minecraft.util.IStringSerializable; public enum DoubleBlockTypes implements IStringSerializable { TOP("top"), BOTTOM("bottom"); private final String name; DoubleBlockTypes(String name) { this.name = name; } public String func_176610_l() { return this.name; } }
-
Villagers can't open modded doors?
For some reason when I made custom doors by extending DoorBlock villagers are unable to open them.
-
[ 1.16.1 ] X-ray glass render issue
Hello! I'm trying to make a custom model with glass. The issue is that when I place it next to a wall, then I can see through the wall just like an x-ray. Can someone help me please?
-
[ 1.14.4 ] Placing doors on top of doors
Very much appreciated thanks! Have a great day.
-
Is there a way to make Iron Bars to connect with custom model?
Thanks!
-
[ 1.14.4 ] Placing doors on top of doors
Is there a way to make a door, which can be placed on it self? With the vanila doors it is not possible to do this. Thanks!
-
Is there a way to make Iron Bars to connect with custom model?
As the title says, nothing more to it..
-
[ 1.15+ ] Change blockstate when it's not raining
Solved
-
[ 1.15+ ] Change blockstate when it's not raining
Well I tried, but it still didn't work public static void main(BlockState state, World worldIn, BlockPos pos, Random random) { NonRain(state, worldIn, pos, random); }
-
[ 1.15+ ] Change blockstate when it's not raining
I thought .tickrandomly() is calling it
-
[ 1.15+ ] Change blockstate when it's not raining
How do I call it then in this class?
-
[ 1.15+ ] Change blockstate when it's not raining
I'm just calling it in this class by .tickrandomly() , the Raining method works, the NonRain doesn't.
-
[ 1.15+ ] Change blockstate when it's not raining
Hello! I've had this figured out in the 1.14 versions but I can't manage to get it work on 1.15 + I want a block that gets LIT - on when it stops raining and LIT - off when it starts raining. The only part that works is when it starts raining it gets LIT - off, I can't get the part working when it stops raining to change the blockstate. public SpecialFire() { super(Properties.create(Material.IRON) .sound(SoundType.METAL) .hardnessAndResistance(1.25f, 3.5f) .harvestTool(ToolType.PICKAXE) .harvestLevel(1) .tickRandomly() ); } @Override public VoxelShape getShape(BlockState state, IBlockReader blockReader, BlockPos pos, ISelectionContext selectionContext) { switch (state.get(FACING)) { case WEST: return WEST; case EAST: return EAST; case SOUTH: return SOUTH; default: case NORTH: return NORTH; } } public VoxelShape getBoundingBox(BlockState state, BlockPos pos) { switch((state.get(FACING))) { default: case SOUTH: return SOUTH; case NORTH: return NORTH; case EAST: return EAST; case WEST: return WEST; } } public SpecialFire(Block.Properties properties) { super(properties); this.setDefaultState(this.stateContainer.getBaseState().with(LIT, Boolean.valueOf(false)).with(WATERLOGGED, Boolean.valueOf(false)).with(FACING, Direction.NORTH)); } public BlockState getStateForPlacement(BlockItemUseContext context) { return this.getDefaultState().with(LIT, Boolean.valueOf(false)).with(WATERLOGGED, Boolean.valueOf(false)).with(FACING, context.getPlacementHorizontalFacing().rotateY()); } protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) { builder.add(LIT, FACING, WATERLOGGED); } public boolean ticksRandomly(BlockState state) { return true; } // this is the part that is not working, but it works in 1.14 public void NonRain(BlockState state, World worldIn, BlockPos pos, Random random) { if (state.get(LIT) == false && (worldIn.rand.nextInt(2) == 1) && (!worldIn.isRainingAt(pos.up()))) { worldIn.setBlockState(pos, state.with(LIT, Boolean.valueOf(true))); } } //this part works fine public void Raining(World worldIn, BlockPos pos) { float f = worldIn.func_226691_t_(pos).func_225486_c(pos); if (!(f < 0.15F)) { BlockState blockstate = worldIn.getBlockState(pos); if (blockstate.get(LIT) == true) { worldIn.setBlockState(pos, blockstate.with(LIT, Boolean.valueOf(false))); } } }
IPS spam blocked by CleanTalk.