опенсорс?Weis mod
Нет , сам декомпилируй.опенсорс?
Если я правильно помню его код с сайта (а это было больше два или три, а может и четыре года назад), то у меня не удавалось правильно использовать его код. Т.е. не рабочий вариант у меня получился. Тогда знаний не было для этого.Кто нибудь делал на 1.7.10 инвентарь по туториалу coolAlias?
public final InventoryBasic inventory = new InventoryBasic("inventory_add_player", false, 9 * 3);
на
public final InventoryBasic inventory = new InventoryBasic("inventory_add_player", false, 9 * 2);
for (j = 0; j < 3; ++j) {
for (k = 0; k < 9; ++k) {
for (j = 0; j < 2; ++j) {
for (k = 0; k < 9; ++k) {
if (slotID < 3 * 9) {
if (!this.mergeItemStack(itemstack1, 2 * 9, this.inventorySlots.size(), true)) {
return null;
}
}
else if (!this.mergeItemStack(itemstack1, 0, 2 * 9, false)) {
return null;
}
if (slotID < 3 * 9) {
if (!this.mergeItemStack(itemstack1, 2 * 9, this.inventorySlots.size(), true)) {
return null;
}
}
else if (!this.mergeItemStack(itemstack1, 0, 2 * 9, false)) {
return null;
}
Правильно удаление ванильного инвентаря, я не знаю. Но типа нужно использовать hook'и... Наверное, точно не знаю. Так как многое что может использовать ванильный инвентарь.Прости забыл уточнить, убрать слоты в ванильном инвентаре.
Отдельного класса не используется для этого, они находиться в контейнере net.minecraft.inventory.ContainerPlayer:И да, какой класс отвечает за слоты для брони?
for (i = 0; i < 4; ++i)
{
final int k = i;
this.addSlotToContainer(new Slot(p_i1819_1_, p_i1819_1_.getSizeInventory() - 1 - i, 8, 8 + i * 18)
{
private static final String __OBFID = "CL_00001755";
/**
* Returns the maximum stack size for a given slot (usually the same as getInventoryStackLimit(), but 1
* in the case of armor slots)
*/
public int getSlotStackLimit()
{
return 1;
}
/**
* Check if the stack is a valid item for this slot. Always true beside for the armor slots.
*/
public boolean isItemValid(ItemStack p_75214_1_)
{
if (p_75214_1_ == null) return false;
return p_75214_1_.getItem().isValidArmor(p_75214_1_, k, thePlayer);
}
/**
* Returns the icon index on items.png that is used as background image of the slot.
*/
@SideOnly(Side.CLIENT)
public IIcon getBackgroundIconIndex()
{
return ItemArmor.func_94602_b(k);
}
});
}
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onGuiOpenEvent(GuiOpenEvent event) {
if (event.gui instanceof GuiInventory) {
if (Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode) return;
AddPlayerInventory.network.sendToServer(new MessageOpenInv());
event.setCanceled(true);
}
}
EntityItem ещё придётся переделать, чтобы они попадали не в ванильный инвентарь.Если для своего проекта, почему нет?
player.inventory.addItemStackToInventory(itemstack)