Supprimer des items de base de minecraft
-
Un coremod? Ca consiste en quoi?
Zut zut zut n’empeche
-
@‘RageAgain’:
Un coremod? Ca consiste en quoi?
Zut zut zut n’empeche
Un coremod c’est un mod qui réécrit les classes de base de minecraft sauf que c’est EXTREMEMENT déconseillé. Forge essaie d’éviter les coremods à tout prix, ils conseillent donc d’utiliser les événements.
-
Aaah ouais! Nan mais je veux surtout pas toucher aux classes de base de Minecraft! J’ai déjà eu trop de problèmes avec ça!
Et donc, un evenement…Il existe un evenement capable de supprimer les items?
-
non je crois pas, il en existe pour supprimer les crafts mais pas pour supprimer des item
-
@‘RageAgain’:
Aaah ouais! Nan mais je veux surtout pas toucher aux classes de base de Minecraft! J’ai déjà eu trop de problèmes avec ça!
Et donc, un evenement…Il existe un evenement capable de supprimer les items?
Euh… Je ne suis pas sûr que tu comprennes ce qu’est un événement. Imaginons que tu veuilles empêcher le craft du brewing stand, voilà ce que donnerai tes classes :
Dans le init (il me semble) tu mets :
MinecraftForge.EVENT_BUS.register(new ClasseDeLEvent());puis dans ClasseDeLEvent tu mets :
public class ClasseDeLEvent { @SubscribeEvent //Je ne me rappelle plus vraiment du nom de l'event public void onCraftEvent(CraftEvent event) { //Je ne sais pas si tu dois utiliser cette fonction ou event.setResult, je te laisse regarder ça par toi-même event.setCanceled(true); } } -
Mais pour les crafts, j’ai déjà fait ça!
public static void removeRecipe(ItemStack stack) { List <irecipe>recipeList = CraftingManager.getInstance().getRecipeList(); for(int i = 0; i < recipeList.size(); i++) { ItemStack output = recipeList.get(i).getRecipeOutput(); if(output != null && stack.getItem() == output.getItem() && stack.getItemDamage() == output.getItemDamage()) { recipeList.remove(i); } } }J’ai cette méthode qui fait ça très bien!
Je me posais juste la question de savoir si il y avait moyen de totalement supprimer un item de sorte à ce qu’il se retrouve même pas dans la CreativeTabs!

Mais d’après ce que j’ai compris, c’est mort d’avance ;)</irecipe> -
@‘RageAgain’:
Mais pour les crafts, j’ai déjà fait ça!
public static void removeRecipe(ItemStack stack) { List <irecipe>recipeList = CraftingManager.getInstance().getRecipeList(); for(int i = 0; i < recipeList.size(); i++) { ItemStack output = recipeList.get(i).getRecipeOutput(); if(output != null && stack.getItem() == output.getItem() && stack.getItemDamage() == output.getItemDamage()) { recipeList.remove(i); } } }J’ai cette méthode qui fait ça très bien!
Je me posais juste la question de savoir si il y avait moyen de totalement supprimer un item de sorte à ce qu’il se retrouve même pas dans la CreativeTabs!

Mais d’après ce que j’ai compris, c’est mort d’avance ;)</irecipe>Tu peux tenter d’override les creativeTabs aussi.
-
Mais dans ce cas, disons que je veux enlever qu’un seul bloc, je me retrouve avec plus aucun de tout ceux qui étaient dans la même tabs!…
-
@‘RageAgain’:
Mais dans ce cas, disons que je veux enlever qu’un seul bloc, je me retrouve avec plus aucun de tout ceux qui étaient dans la même tabs!…
Ce que je veux dire c’est que soit tu recréer un creativeTab et dedans tu y met seulement les items voulues soit tu réécris les méthodes/variables du creativeTab voulu pour que ça n’affiche que ceux voulues.
-
C’est fortement déconseillé à cause des problèmes d’incompatibilité que ça peut engendrer et compliqué à mettre en place.
https://github.com/MinecraftForge/FML/issues/370#issuecomment-62309784 -
Merci beaucoup a tous pour vos réponses!
J’en conclus donc que c’est déconseillé et que donc, il vaut mieux juste enlever les crafts!
