launcher Détection jour/nuit



  • Bonjour,
    j'ai commencé récemment un mod et je cherche a savoir s'il fait jour ou nuit au moment ou mon block se casse, de cette réponse en dépendras l'item drop (mon mod serais en rapport avec le soleil et la nuit voila pourquoi j'ai besoin de cela) , j'ai galéré pendant quelques heures et j'ai finalement trouvé un moyen, voici ce que j'ai mis dans la classe de mon bloc:

    package fr.minecraftforgefrance.tutorial.blocks;
    
    import fr.minecraftforgefrance.tutorial.items.TutorialItems;
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.init.Blocks;
    import net.minecraft.item.Item;
    import net.minecraft.world.World;
    
    public class SolariumOre extends Block
    {	
    	public World world;
    	public boolean isDaytime() {
            return world.getSkylightSubtracted() < 4;
    	}
    	
    	public SolariumOre(Material materialIn) {
    		super(materialIn);
    		this.setUnlocalizedName("minerais de solarium").setCreativeTab(CreativeTabs.BUILDING_BLOCKS).setHardness(6.0F).setResistance(20.0F);
    		if(isDaytime() == true) Item.getIdFromItem(TutorialItems.SOLARIUM);
    		else Item.getItemFromBlock(Blocks.DIAMOND_BLOCK);
    	
    	}	
    }
    

    donc jusqu'ici aucune erreur, voici le contenu de ma classe TutorialBlocks:

    package fr.minecraftforgefrance.tutorial.blocks;
    
    import fr.minecraftforgefrance.tutorial.ModTutorial;
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.client.renderer.block.model.ModelResourceLocation;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.Item;
    import net.minecraftforge.client.model.ModelLoader;
    import net.minecraftforge.fml.common.registry.GameRegistry;
    import net.minecraftforge.fml.relauncher.Side;
    import net.minecraftforge.fml.relauncher.SideOnly;
    
    public class TutorialBlocks {
    	
    	public static final  Block SOLARIUMBLOCK = new IngotBlock(Material.IRON).setCreativeTab(CreativeTabs.BUILDING_BLOCKS).setHardness(6.0F).setResistance(20.0F).setUnlocalizedName("bloc_de_solarium");
    	public static final  Block SOLARIUMORE = new SolariumOre(Material.IRON).setCreativeTab(CreativeTabs.BUILDING_BLOCKS).setHardness(6.0F).setResistance(20.0F).setUnlocalizedName("minerais_de_solarium");
    
    	
    	public static void registerBlocks() {
    		GameRegistry.registerBlock(SOLARIUMBLOCK, "bloc_de_solarium");
    		GameRegistry.registerBlock(SOLARIUMORE, "minerais_de_solarium");
    
    	}
    	
        @SideOnly(Side.CLIENT)
        public static void registerBlocksModels()
        {
        	//ModelLoader.setCustomModelRessourceLocation(nomblockitem, , new ModelRessourceLocation(Modtutorial.modid + ":nomblock_blocks", "inventory"));
        	ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(SOLARIUMBLOCK), 0, new ModelResourceLocation(ModTutorial.MODID + ":bloc_de_solarium", "inventory"));
        	ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(SOLARIUMORE), 0, new ModelResourceLocation(ModTutorial.MODID + ":minerais_de_solarium", "inventory"));
        }
    
    }
    
    

    Mais voila, a chaque fois que je lance le jeu il me met une erreur, et lorsque j’enlève mon block de ma classe TutorialBlocks, l'erreur disparaît et mon mode fonctionne correctement, je ne sais plus quoi faire voir même si cela en deviens possible ou non, j’espère sincèrement que quelqu'un pourra me donner une réponse merci d'avance toute aide est la bienvenue :blush:



  • Quelle version de Minecraft, s'il vous plaît ?



  • @JohnProgrammer71 Le jeu est en 1.10.2 (je n'ai pas trouvé le mot-clé pour cette version)



  • C'est normal elle n'est plus du tout supportée sur ce forum, il faudrait passer sur une version récente comme la 1.15.2.



  • @Twiguinou d'accord j'essaierais, pour passer a une version supérieure j'aurais juste a installer un nouveau mdk, et a changer des broutilles dans le fichier .project c'est bien ça ? Et j'imagine quelques modifs dans les méthodes ou autres



  • Salut :smiley:,
    Pour passer de la 1.10.2 a la 1.12.2, tu aurais juste à faire ça mais la 1.13 à modifié beaucoup de chose à forge donc je t'invite a regarder les tutoriels Préparer son environnement de développement avec le MDK
    et Créer la base de son mod, il sera peut être nécessaire de modifier entièrement ton code.
    Mais pense à regarder le code de minecraft du block détecteur de jour/nuit ;)



  • @Eno_gamer10 Bonjour,
    Je suis déjà allé voir le code du détecteur de jour/nuit et j'ai essayé de reprendre certaines fonctions mais je n'avais pas réussi non plus, je passerais a la 1.12.2 dès que je le pourrais alors merci


Log in to reply