Jump to content

MatsCraft1

Members
  • Posts

    40
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

MatsCraft1's Achievements

Tree Puncher

Tree Puncher (2/8)

8

Reputation

  1. 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.
  2. It would be REALLY helpful to know what's going wrong or what you're even trying
  3. 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
  4. I don't know, but that's what the error says.
  5. Already did that, it told me that it doesn't have type parameters but it needs to implement SurfaceBuilderConfig
  6. 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?
  7. 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")); }
  8. Okay, I'll try to help you. What commands did you run while installing your workspace / how did you set it up?
  9. 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; } }
×
×
  • Create New...

Important Information

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