Jump to content

MakeItSimple

Members
  • Posts

    7
  • Joined

  • Last visited

Posts posted by MakeItSimple

  1. Hello. I am trying to add custom ores. Everything seems to be called and executed (when print statements are added), but nothing changes in game. I had it working in 1.16, but not in 1.17. I changed some of it to work with the new forge version, and it compiles without errors, but nothing changes in game. Any help figuring this out is appreciated.

     

    Code:

    @Mod.EventBusSubscriber
    public class OreGeneration {
    	
    	public static ImmutableList<TargetBlockState> ORE_TARGET_LIST;
    	public static final ArrayList<ConfiguredFeature<?, ?>> overworldOres = new ArrayList<ConfiguredFeature<?, ?>>();
    
    	public static void registerOres(){
    		ORE_TARGET_LIST = ImmutableList.of(OreConfiguration.target(Predicates.NATURAL_STONE, Blocks.STONE.defaultBlockState()));
    		overworldOres.add(register("tin_ore_block", Feature.ORE.configured(new OreConfiguration(ORE_TARGET_LIST, 5))
    				.rangeUniform(VerticalAnchor.absolute(0), VerticalAnchor.absolute(48))
    				.squared()
    				.count(20)
    		));
    	}
    	
    	private static <FC extends FeatureConfiguration> ConfiguredFeature<FC, ?> register(String name, ConfiguredFeature<FC, ?> configuredFeature) {
    		return Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new ResourceLocation(Extras.MODID, name), configuredFeature);
    	}
    	
    	@SubscribeEvent(priority = EventPriority.HIGHEST)
    	public static void registerBiomeModification(BiomeLoadingEvent event) {
    		BiomeGenerationSettingsBuilder generation = event.getGeneration();
    		for(ConfiguredFeature<?, ?> ore : overworldOres){
    			if (ore != null) {
    				generation.getFeatures(Decoration.UNDERGROUND_ORES).add(() -> {
    					return ore;
    				});
    			}
    		}
    	}
    }
  2. public class LightBlock extends Block{
    
    	public LightBlock(AbstractBlock.Properties properties) {
    	      super(properties);
    	}
    
    	@Override
    	public float getAmbientOcclusionLightValue(BlockState state, IBlockReader worldIn, BlockPos pos) {
    		return 1;
        }
    
    }

    The above code still gives the same shadow.

  3. Hi. I know this problem has been brought up before, but I've been unable to find a clear example of how to deal with the change.

    This is the class:

    public class TutorialRenderRegistry {
    	public static void registryEntityRender() {
    		RenderingRegistry.registerEntityRenderingHandler(StarterEntity.class, new StarterEntityRender.RenderFactory());
    	}
    }

    The registerEntityRenderingHandler function gives the following error:

    Quote

    The method registerEntityRenderingHandler(EntityType<T>, IRenderFactory<? super T>) in the type RenderingRegistry is not applicable for the arguments (Class<StarterEntity>, StarterEntityRender.RenderFactory)

     

    I understand the problem is this is how it was done in 1.14 and before, and that it changed in 1.15 and later. The way of doing it uses generics, which I don't fully understand. I know it is a simple fix, but I'm looking for a clear example of how to use registerEntityRenderingHandler in 1.15/1.16

     

     

×
×
  • Create New...

Important Information

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