Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MatsCraft1

Members
  • Joined

  • Last visited

  1. I think you should try replacing the most recent jar you added.
  2. strange, sounds like one of the jars is corrupted, try replacing it.
  3. The log gives information on wich mods were loaded. and only NEI has an "E" in its state so that means it errored. If I remember correctly NEI has a dependency, maybe look for that. Or use Just enough items, I think it's a newer version of NEI.
  4. It would be REALLY helpful to know what's going wrong or what you're even trying
  5. Very strange, as I do not have a solution I will just show you my code, as an example. Items: event.getRegistry().register(new ArmorItem(ModArmorMaterials.copper, EquipmentSlotType.HEAD, new Item.Properties().group(MoreStuff.morestuff_armor.GroupArmor)).setRegistryName("copper_helmet")); event.getRegistry().register(new ArmorItem(ModArmorMaterials.copper, EquipmentSlotType.CHEST, new Item.Properties().group(MoreStuff.morestuff_armor.GroupArmor)).setRegistryName("copper_chestplate")); event.getRegistry().register(new ArmorItem(ModArmorMaterials.copper, EquipmentSlotType.LEGS, new Item.Properties().group(MoreStuff.morestuff_armor.GroupArmor)).setRegistryName("copper_leggings")); event.getRegistry().register(new ArmorItem(ModArmorMaterials.copper, EquipmentSlotType.FEET, new Item.Properties().group(MoreStuff.morestuff_armor.GroupArmor)).setRegistryName("copper_boots")); Materials: public enum ModArmorMaterials implements IArmorMaterial { redtunica("redtunica", 3, new int[]{0, 0, 0, 0}, 5, Items.STRING, "item.armor.equip_leather", 0.0f), bronze("bronze", 14, new int[]{2, 4, 5, 3}, 15, null, "item.armor.equip_gold", 0.5f), copper("copper", 29, new int[]{3, 6, 5, 3}, 10, null, "item.armor.equip_iron", 0.8f); //enum private static final int[] max_damage_array = new int[]{13, 15, 16, 11}; private String name, equipSound; private int durability, enchantibility; private int[] damageReductionAmounts; private Item repairItem; private float toughness; private ModArmorMaterials(String name, int durability, int[] damageReductionAmounts, int enchantibility, Item repairItem, String equipSound, float toughness) { this.name = name; this.equipSound = equipSound; this.durability = durability; this.enchantibility = enchantibility; this.damageReductionAmounts = damageReductionAmounts; this.repairItem = repairItem; this.toughness = toughness; } @Override public int getDurability(EquipmentSlotType slot) { return max_damage_array[slot.getIndex()] * this.durability; } @Override public int getDamageReductionAmount(EquipmentSlotType slot) { return this.damageReductionAmounts[slot.getIndex()]; } @Override public int getEnchantability() { return this.enchantibility; } @Override public SoundEvent getSoundEvent() { return new SoundEvent(new ResourceLocation(equipSound)); } @Override public Ingredient getRepairMaterial() { return Ingredient.fromItems(this.repairItem); } @Override public String getName() { return MoreStuff.MODID + ":" + this.name; } @Override public float getToughness() { return this.toughness; } } you should check everything. I hope this is able to help you
  6. I don't know, but that's what the error says.
  7. Already did that, it told me that it doesn't have type parameters but it needs to implement SurfaceBuilderConfig
  8. So I tried this... @SubscribeEvent public static void onSurfaceRegistry(final RegistryEvent.Register<SurfaceBuilderConfig<SurfaceBuilderConfig>> event) { event.getRegistry().register(new SurfaceBuilderConfig(ModBlocks.MARBLEGRASS.getDefaultState(), ModBlocks.MARBLEDIRT.getDefaultState(), ModBlocks.MARBLEGRAVEL.getDefaultState())); } but it gives me an Error at "SurfaceBuilderConfig<SurfaceBuilderConfig>>, I have no idea what to put there lol. Also how can I use the SurfaceBuilder after registering it?
  9. thank you, got it working!
  10. Here is my code, maybe it can help you. @SubscribeEvent public static void onTileEntityRegistry(final RegistryEvent.Register<TileEntityType<?>> event) { event.getRegistry().register(Builder.create(ContainerBarrelTile::new, ModBlocks.CONTAINEBARRELBLOCK).build(null).setRegistryName("oak_barrel")); }
  11. Okay, I'll try to help you. What commands did you run while installing your workspace / how did you set it up?
  12. I made a peat block that should become wet when near water, just like a farmland block. Somehow this is not working, I also tried increasing the random tick speed. package com.aug15.morestuff.blocks.Misc; import net.minecraft.block.*; import net.minecraft.block.material.Material; import net.minecraft.block.material.MaterialColor; import net.minecraft.entity.Entity; import net.minecraft.pathfinding.PathType; import net.minecraft.state.IntegerProperty; import net.minecraft.state.StateContainer; import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.tags.FluidTags; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.world.IBlockReader; import net.minecraft.world.IWorld; import net.minecraft.world.IWorldReader; import net.minecraft.world.World; import java.util.Random; public class PeatBlock extends Block { public static final IntegerProperty MOISTURE = BlockStateProperties.MOISTURE_0_7; protected static final VoxelShape SHAPE = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 14.0D, 16.0D); public PeatBlock() { super(Properties.create(Material.EARTH, MaterialColor.DIRT) .sound(SoundType.GROUND) .hardnessAndResistance(4.6f) ); setRegistryName("peat"); this.setDefaultState(this.stateContainer.getBaseState().with(MOISTURE, Integer.valueOf(0))); } @Override public BlockState updatePostPlacement(BlockState stateIn, Direction facing, BlockState facingState, IWorld worldIn, BlockPos currentPos, BlockPos facingPos) { if (facing == Direction.UP && !stateIn.isValidPosition(worldIn, currentPos)) { worldIn.getPendingBlockTicks().scheduleTick(currentPos, this, 1); } return super.updatePostPlacement(stateIn, facing, facingState, worldIn, currentPos, facingPos); } @Override public boolean func_220074_n(BlockState state) { return true; } @Override public VoxelShape getCollisionShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { return SHAPE; } public static void becomeDry(BlockState state, World worldIn, BlockPos pos) { worldIn.setBlockState(pos, nudgeEntitiesWithNewState(state, Blocks.DIRT.getDefaultState(), worldIn, pos)); } private static boolean hasWater(IWorldReader worldIn, BlockPos pos) { for(BlockPos blockpos : BlockPos.getAllInBoxMutable(pos.add(-6, -6, -6), pos.add(6, 6, 6))) { if (worldIn.getFluidState(blockpos).isTagged(FluidTags.WATER)) { return true; } } return net.minecraftforge.common.FarmlandWaterManager.hasBlockWaterTicket(worldIn, pos); } @Override public void tick(BlockState state, World worldIn, BlockPos pos, Random random) { if (!state.isValidPosition(worldIn, pos)) { becomeDry(state, worldIn, pos); } else { int i = state.get(MOISTURE); if (!hasWater(worldIn, pos) && !worldIn.isRainingAt(pos.up())) { if (i > 0) { worldIn.setBlockState(pos, state.with(MOISTURE, Integer.valueOf(i - 1)), 2); } } else if (i < 7) { worldIn.setBlockState(pos, state.with(MOISTURE, Integer.valueOf(7)), 2); } } } @Override public void onEntityCollision(BlockState state, World worldIn, BlockPos pos, Entity entityIn) { entityIn.setMotion(entityIn.getMotion().mul(0.4D, 1.0D, 0.4D)); } @Override public boolean isNormalCube(BlockState state, IBlockReader worldIn, BlockPos pos) { return true; } protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) { builder.add(MOISTURE); } @Override public boolean allowsMovement(BlockState state, IBlockReader worldIn, BlockPos pos, PathType type) { return false; } }

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.