• Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes
  • S'inscrire
  • Se connecter
  • S'inscrire
  • Se connecter
  • Recherche
  • Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes

Résolu Bloc qui ne se drop pas

1.16.x
1.16.x
3
12
596
Charger plus de messages
  • Du plus ancien au plus récent
  • Du plus récent au plus ancien
  • Les plus votés
Répondre
  • Répondre à l'aide d'un nouveau sujet
Se connecter pour répondre
Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
  • I
    ImperoMaximo dernière édition par 19 déc. 2020, 18:46

    Bonsoir,
    J’ai une question vraiment toute bête, comment faut-il faire pour qu’un bloc se drop une fois cassé? J’ai suivi un tutoriel récent, et mon bloc ne se drop pas, voici sa classe (aucun des trois blocks ne se droppent:

    @Mod.EventBusSubscriber(modid = eclipsium.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
    public class eclipsium_blocks {
    @ObjectHolder(eclipsium.MOD_ID + ":solarium_block")
    public static final Block Solarium_block = null;
    @ObjectHolder(eclipsium.MOD_ID + ":lunarium_block")
    public static final Block Lunarium_block = null;
    @ObjectHolder(eclipsium.MOD_ID + ":astral_ore")
    public static final Block Astral_ore = null;
    @SubscribeEvent
    public static void registerBlock(final RegistryEvent.Register<Block> event) {
    event.getRegistry().register(new Block(Block.Properties.create(Material.IRON).setRequiresTool().hardnessAndResistance(6.0F, 8.0F).sound(SoundType.METAL)).setRegistryName("solarium_block"));
    event.getRegistry().register(new Block(Block.Properties.create(Material.IRON).setRequiresTool().hardnessAndResistance(6.0F, 8.0F).sound(SoundType.METAL)).setRegistryName("lunarium_block"));
    event.getRegistry().register(new AstralOre(Block.Properties.create(Material.ROCK).setRequiresTool().hardnessAndResistance(4.0F, 4.0F).harvestLevel(3)).setRegistryName("astral_ore"));
    }
    @SubscribeEvent
    public static void registerItem(final RegistryEvent.Register<Item> event) {
    event.getRegistry().register(new BlockItem(Solarium_block, new Item.Properties().group(ItemGroup.BUILDING_BLOCKS)).setRegistryName(Solarium_block.getRegistryName()));
    event.getRegistry().register(new BlockItem(Lunarium_block, new Item.Properties().group(ItemGroup.BUILDING_BLOCKS)).setRegistryName(Lunarium_block.getRegistryName()));
    event.getRegistry().register(new BlockItem(Astral_ore, new Item.Properties().group(ItemGroup.BUILDING_BLOCKS)).setRegistryName(Astral_ore.getRegistryName()));
    }
    }

    En espérant que ce soit pas aussi idiot qu’une simple erreur de copie du tutoriel, désolé et merci d’avance

    1 réponse Dernière réponse Répondre Citer 0
    • I
      ImperoMaximo @baztoul76 dernière édition par 2 janv. 2021, 15:06

      @baztoul76 Bonjour et bonne année à toi, je viens de réussir (après plusieurs heures de tests et de recherches) à modifier le drop de mon minerai selon l’heure exacte du jour, je te remercie ainsi que @robin4002 pour m’avoir aidé, voici la solution:

      {
      "type": "minecraft:block",
      "pools": [
      {
      "rolls": 1,
      "entries": [
      {
      "type": "minecraft:item",
      "name": "eclipsium:lunarium_shard",
      "conditions": [
      {
      "condition": "minecraft:time_check",
      "value": {
      "min": 12000,
      "max": 24000
      },
      "period": 24000
      }
      ]
      },
      {
      "type": "minecraft:item",
      "name": "eclipsium:solarium_shard",
      "conditions": [
      {
      "condition": "minecraft:time_check",
      "value": {
      "min": 0,
      "max": 12000
      },
      "period": 24000
      }
      ]
      }
      ]
      }
      ]
      }

      Merci encore

      1 réponse Dernière réponse Répondre Citer 1
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 19 déc. 2020, 19:01

        Bonjour,

        Depuis quelques versions de Minecraft il faut créer une loot table.
        Elle doit être placé dans src/main/resources/data/modid/loot_tables/blocks/ et être nommé avec le même nom que le registre.
        Exemple : https://github.com/kevin68/The-Spotlight-Mod/blob/1.14.4/src/main/resources/data/thespotlightmod/loot_tables/blocks/tsm_spotlight.json

        I 1 réponse Dernière réponse 19 déc. 2020, 20:02 Répondre Citer 0
        • I
          ImperoMaximo @robin4002 dernière édition par ImperoMaximo 19 déc. 2020, 20:03 19 déc. 2020, 20:02

          @robin4002 d’accord je suis en train de me renseigner sur le sujet, et si par exemple je veux faire comme j’avais déjà fais en 1.10, faire un loot qui dépend du moment de la journée, est ce possible ? Et si oui dans la loot table ou dans la classe du bloc?

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 19 déc. 2020, 20:44

            Hum avec le système de loot table je ne sais pas comment faire ça 😕

            I 3 réponses Dernière réponse 20 déc. 2020, 08:58 Répondre Citer 0
            • I
              ImperoMaximo @robin4002 dernière édition par 20 déc. 2020, 08:58

              @robin4002 d’acc, je suis partis me renseigner sur le Minecraft forge anglais, j’ai aussi post un sujet en espérant qu’ils puissent m’aider

              1 réponse Dernière réponse Répondre Citer 0
              • I
                ImperoMaximo @robin4002 dernière édition par 20 déc. 2020, 11:00

                @robin4002 Sur le forum on m’a conseillé de voir vers les LootConditionManager, par contre je ne sais pas du tout comment l’incorporer dans mon json pour les loot table

                1 réponse Dernière réponse Répondre Citer 0
                • I
                  ImperoMaximo @robin4002 dernière édition par 21 déc. 2020, 12:00

                  @robin4002 Bonjour, depuis hier je me suis renseigné sur les loot table, et ce que je souhaite faire est possible, il suffit que je crée une condition pour vérifier s’il fait jour ou nuit, le soucis étant que je ne sais toujours pas comment et ou mettre cette condition (dans le .json ? une classe à part?) et si je dois l’orthographier pour du java ou du json, donc si quelqu’un s’y connais un petit peu en loot tables et en conditions, toute aide est la bienvenue.
                  J’ai aussi trouvé cet article sur les loot tables mais je ne le comprends pas entierement : https://mcforge.readthedocs.io/en/1.13.x/items/loot_tables/
                  Merci d’avance

                  1 réponse Dernière réponse Répondre Citer 0
                  • baztoul76
                    baztoul76 dernière édition par baztoul76 21 déc. 2020, 12:35 21 déc. 2020, 12:30

                    salut !
                    sur le site des docs de forge, ils disent qu’il faut utiliser une condition en dehors du fichier JSON.
                    en gros, il faut faire

                    {
                    "blabla": "patati et patata",
                    "abc": "def",
                    "conditions": [
                    {
                    "condition": "mod:conditioncustom",
                    "variable": 1
                    },
                    {
                    "condition": "minecraft:conditiondonneeparminecraft",
                    "autrevariable": true
                    }
                    ]
                    }

                    sinon je n’en sais pas plus
                    j’ai trouvé aussi LootEntry entry = new LootEntryTable(new ResourceLocation("mymod:inject/simple_dungeon"), <weight>, <quality>, <conditions>, <entryName>); mais je ne sais pas quoi en faire

                    EDIT :
                    les conditions extend de la classe LootConditionManager je pense, mais je ne connais pas trop ce genre de condition

                    je ne suis pas le plus compétent en développement de mod, mais je fais de mon mieux pour aider quand même

                    I 2 réponses Dernière réponse 21 déc. 2020, 13:33 Répondre Citer 0
                    • I
                      ImperoMaximo @baztoul76 dernière édition par 21 déc. 2020, 13:33

                      @baztoul76 Je me suis renseigné sur : https://minecraft.gamepedia.com/Predicate et j’ai vu qu’il existe déjà une méthode pour l’heure, sauf que je ne sais pas si la valeur donnée est déjà modulée ou pas, si on peut faire une condition pour savoir si c’est inférieur ou supérieur a telle valeur, et a quel endroit mettre le drop d’item

                      1 réponse Dernière réponse Répondre Citer 0
                      • I
                        ImperoMaximo @baztoul76 dernière édition par 22 déc. 2020, 14:33

                        @baztoul76 J’ai créé ceci, on m’a dit que ce n’était pas correct, pourriez vous m’aider à corriger cela ? Et je n’ai pas trouvé comment vérifier si la valeur était supérieure a x valeure

                        {
                          "type": "minecraft: block",
                          "pools": [
                            {
                              "rolls": 1,
                              "entries": [
                                "conditions": [
                                {
                                "minecraft: time_check",
                                  I check if the value is day,
                                }
                                  {
                                  "type": "minecraft: item",
                                  "name": "eclipsium: lunarium_shard",
                                }
                                {
                                  "condition": "minecraft: time_check",
                                  I check if the value isn't day,
                                }
                                {
                                  "type" : "minecraft: élément ",
                                  " nom ":" eclipsium: solarium_shard "
                                }
                                ],
                              ]
                            }
                          ]
                        }
                        

                        Merci d’avance

                        baztoul76 1 réponse Dernière réponse 25 déc. 2020, 10:14 Répondre Citer 0
                        • baztoul76
                          baztoul76 @ImperoMaximo dernière édition par 25 déc. 2020, 10:14

                          Désolé, je ne connais pas trop les loot tables, ni ce genre de conditions, alors je ne suis pas en mesure d’aider 😕
                          par contre, le code en JSON comporte quelques erreurs de syntaxe, notamment au niveau des virgules (il ne faut pas en mettre en fin d’objet) :

                          {
                          "type": "minecraft: block",
                          "pools": [
                          {
                          "rolls": 1,
                          "entries": [
                          "conditions": [
                          {
                          "minecraft": "time_check",
                          I check if the value is day
                          },
                          {
                          "type": "minecraft: item",
                          "name": "eclipsium: lunarium_shard"
                          },
                          {
                          "condition": "minecraft: time_check",
                          I check if the value isn't day
                          },
                          {
                          "type" : "minecraft: élément ",
                          "nom": "eclipsium: solarium_shard "
                          },
                          ]
                          ]
                          }
                          ]
                          }

                          il faut voir ça comme un tableau en java : {valeur1, valeur2} : il n’y a pas de virgule à la valeur n°2

                          je ne suis pas le plus compétent en développement de mod, mais je fais de mon mieux pour aider quand même

                          I 1 réponse Dernière réponse 2 janv. 2021, 15:06 Répondre Citer 1
                          • I
                            ImperoMaximo @baztoul76 dernière édition par 2 janv. 2021, 15:06

                            @baztoul76 Bonjour et bonne année à toi, je viens de réussir (après plusieurs heures de tests et de recherches) à modifier le drop de mon minerai selon l’heure exacte du jour, je te remercie ainsi que @robin4002 pour m’avoir aidé, voici la solution:

                            {
                            "type": "minecraft:block",
                            "pools": [
                            {
                            "rolls": 1,
                            "entries": [
                            {
                            "type": "minecraft:item",
                            "name": "eclipsium:lunarium_shard",
                            "conditions": [
                            {
                            "condition": "minecraft:time_check",
                            "value": {
                            "min": 12000,
                            "max": 24000
                            },
                            "period": 24000
                            }
                            ]
                            },
                            {
                            "type": "minecraft:item",
                            "name": "eclipsium:solarium_shard",
                            "conditions": [
                            {
                            "condition": "minecraft:time_check",
                            "value": {
                            "min": 0,
                            "max": 12000
                            },
                            "period": 24000
                            }
                            ]
                            }
                            ]
                            }
                            ]
                            }

                            Merci encore

                            1 réponse Dernière réponse Répondre Citer 1
                            • 1 / 1
                            1 sur 12
                            • Premier message
                              1/12
                              Dernier message
                            Design by Woryk
                            Contact / Mentions Légales

                            MINECRAFT FORGE FRANCE © 2018

                            Powered by NodeBB