Vai al contenuto
Il server del mese è
Visita la nostra nuova lista server!

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

  • 0
N1xx1

Itemstackhelper

Domanda

Beh, mi serviva un itemstackhelper per scrivere mod che utlizzano i metadati.


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package n1xx1.api;
import net.minecraft.src.Block;
import net.minecraft.src.Item;
import net.minecraft.src.ItemStack;
/**
*
* @author N1xx1
*/
public class ItemStackHelper{
private ItemStack itemStack;
public ItemStackHelper(ItemStack itemstack) {
this.itemStack = itemstack;
}
public ItemStackHelper(Block block) {
this(block, 1);
}
public ItemStackHelper(Block block, int stacksize) {
this(block.blockID, stacksize, 0);
}
public ItemStackHelper(Block block, int stacksize, int metadata) {
this(block.blockID, stacksize, metadata);
}
public ItemStackHelper(Item item) {
this(item.shiftedIndex, 1, 0);
}
public ItemStackHelper(Item item, int stacksize) {
this(item.shiftedIndex, stacksize, 0);
}
public ItemStackHelper(Item item, int stacksize, int damage) {
this(item.shiftedIndex, stacksize, damage);
}
public ItemStackHelper(int id, int stacksize, int additional) {
this(new ItemStack(id, stacksize, additional));
}


public ItemStack fin(){
return this.itemStack;
}
public ItemStackHelper setStackSize(int size){
this.itemStack.stackSize = size;
return this;
}
}
[/PHP]

Ovviamente il package si deve cambiare in base a dove lo mettete.

Piccola spiegazione:

In pratica creando un ItemStackHelper crei un ItemStack dove puoi cambiare anche la quantità dei blocchi che ci sono dentro (cosa non possibile con l'ItemStack vanilla). Puoi creare un'istanza di ItemStackHelper come un ItemStack oppure utilizzando un'altro ItemStack. Usi il metodo "setStackSize" per cambiare la quantità di oggetti nello stack e "fin" per ritornare al normale ItemStack quando si finiscono le modifiche.

Esempio di utilizzo:

[PHP]
ItemStack myitemstack = new ItemStack(bloccoFigo, 1, 0);
//ora voglio cambiare il numero di elemnti nello stack
myitemstack = (new ItemStackHelper(myitemstack)).setStackSize(12).fin();
[/PHP]

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

7 risposte a questa domanda

Recommended Posts

Arab :D

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Beh, può tornare utile, penso...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Aspe', ma sarebbe codice da aggiungere "all'inizio" della propria mod per poi usarlo comodamente in giro?

Ciao

Ian

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Aspe', ma sarebbe codice da aggiungere "all'inizio" della propria mod per poi usarlo comodamente in giro?

No, assolutamente.

E' una semplice classe che ho fatto. Basta importarla e usarla come ho scritto e via.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Potresti scrivere alle genti di Forge, magari lo integrano direttamente...

Ciao

Ian

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Potresti scrivere alle genti di Forge, magari lo integrano direttamente...

Ciao

Ian

No, non è utilissimo.

E se veramente bisognerebbe integrarlo con forge si può aggiungere il metodo nell'ItemStack e basta.

Al massimo mi faccio il mio Core dove ci metto qualche api o templato...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Messaggio Automatico

Questa discussione è stata sposta da"[url='http://www.minecraftitalia.net/forum/index.php?showforum=10']Mods[/url]" a "[url='http://www.minecraftitalia.net/forum/index.php?showforum=187']Domande e Consigli[/url]".

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

×
×
  • Crea Nuovo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.