FFMT library
-
Ah ok.
Je veux dire faire des fonctions pour supprimer un item déjà existant (ou un bloc) ou le remplacer par un autre item. (par exemple j’ai besoin de modifier une classe d’un item déjà existant, je re-fais cet item et j’ajoute ce que je veux ajouter puis je remplace l’item par ma copie modifiée.
@robin, ma méthode pour remplacer un item (bourin)
Item.itemList[id de l’item à remplacer] = null; (pour suprimmer)
Item.itemARemplacer = new MaCopieItemModifiée(machin).trucMuche(chose);
Item.itemList[id de l’item à remplacer] = Item.ItemARemplacer;
On peut ré-instancier les items mais pas les blocs donc faut re-crée le bloc.
J’avoue, c’est hyper bourin x) -
Ha je vois, on peut pas vraiment simplifier ça avec un api. De toutes façon c’est pas bon de faire ça, ça cause souvent des conflits client/serveur (si le mods est installé en solo mais pas sur le serveur, impossible de se connecter).
-
lien dead…
-
Ce post est très vieux et va être refait, désormais tout est sur le wiki :
http://mods.mcnanotech.fr/index.php/Téléchargement_de_FFMT_lib -
Merci
-
Je lock ici.
-
Semi-mise à jour du post, il y a encore des choses à changer.
-
Serai il possible d’avoir des explications à jour sur l’installation de l’api ?
Merci ! -
-
@‘robin4002’:
Je l’ai rajouté dans le build, mais je narrive pas a lutiliser dans eclipse. faut il recharger certaines ressources ?
-
Tu as fait un gradlew eclipse ?
Normalement il devrait se trouver dans les “Referenced libraries” -
@‘robin4002’:
Tu as fait un gradlew eclipse ?
Normalement il devrait se trouver dans les “Referenced libraries”Je l’ai fait, mais il n’apparait pas. Ai-je mal fait le build ?
// For those who want the bleeding edge buildscript { repositories { jcenter() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT' } } apply plugin: 'net.minecraftforge.gradle.forge' /* // for people who want stable - not yet functional for MC 1.8.8 - we require the forgegradle 2.1 snapshot plugins { id "net.minecraftforge.gradle.forge" version "2.0.2" } */ version = "0.0.18" group= "sugarshy.fr.sencraft" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "sencraft" minecraft { version = "1.8.9-11.15.1.1808" runDir = "run" // the mappings can be changed at any time, and must be in the following format. // snapshot_YYYYMMDD snapshot are built nightly. // stable_# stables are built at the discretion of the MCP team. // Use non-default mappings at your own risk. they may not allways work. // simply re-run your setup task after changing the mappings to update your workspace. mappings = "stable_20" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' // replace version and mcversion expand 'version':project.version, 'mcversion':project.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } repositories { maven { name = "mff" url = "http://files.minecraftforgefrance.fr/maven/" } } dependencies { compile 'fr.minecraftforgefrance:FFMT-libs:${version}-mc${mcversion}:dev' } -
Il faut remplacer ${version} et ${mcversion} par la version que tu veux.
Liste des versions dispo : https://ci.mcnanotech.fr/job/FFMT-libs/ -
@‘robin4002’:
Il faut remplacer ${version} et ${mcversion} par la version que tu veux.
Liste des versions dispo : https://ci.mcnanotech.fr/job/FFMT-libs/Suis-je bête, merci !
-
Petit problème avec la partie des BlockSittable.
Si j’ajoute :
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return BlockSittable.sitPlayer(world, x, y, z, player, 1.0F); }dans mon bloc et que je clique dessus, rien ne ce passe.
Pour information, j’utilise la version 1.6.2.159 pour minecraft 1.8.9.Merci
-
Vérifies que la fonction est bien appelé.
-
@‘robin4002’:
Vérifies que la fonction est bien appelé.
Effectivement, la fonction indiquée dans la librairie ne marchait pas. Cependant, celles que jai trouvé et qui marchent renvoient des float alors que la fonction BlockSittable demande des integer.
-
Il suffit de cast.
-
@‘robin4002’:
Il suffit de cast.
J’avais déjà tenté un cast avec un .intValue() mais je me retrouvais téléporté dans la map
Edit: aprés verification, tous les blocs vanilla passent par des float
-
Bon en fait c’est pas bon du tout.
Tu essaies de faire passer hitX, hitY, hitZ en argument, donc tu retrouvera toujours tp en 0 0 0 ou 1 1 1.
Faut passer pos.getX(), pos.getY() et pos.getZ() et là tu aura des int.