Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 37 additions & 17 deletions src/main/java/de/eydamos/backpack/item/ItemBackpackBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public String getUnlocalizedName(ItemStack itemStack) {
String name = super.getUnlocalizedName();

int damage = itemStack.getItemDamage();
int tier = damage / 100 < 3 ? damage / 100 : 0;
int tier = BackpackUtil.getTier(itemStack);
int meta = damage % 100;
name += (tier == 0 ? "" : '.') + ItemsBackpack.BACKPACK_TIERS[tier];
if (meta > 0 && meta < 17) { // add color
Expand Down Expand Up @@ -177,26 +177,46 @@ public void onCreated(ItemStack itemStack, World world, EntityPlayer entityPlaye
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List information,
boolean advancedTooltip) {
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)) {
if (itemStack.getItemDamage() != ItemsBackpack.ENDERBACKPACK) {
// TODO BackpackUtil.getTier()
information.add(
EnumChatFormatting.YELLOW + StatCollector.translateToLocal(Localizations.TIER)
+ " "
+ (itemStack.getItemDamage() / 100 + 1));
int damage = itemStack.getItemDamage();

if (itemStack.stackTagCompound == null) return;
if (damage == ItemsBackpack.ENDERBACKPACK) {
information
.add(EnumChatFormatting.AQUA + StatCollector.translateToLocal(Localizations.ENDER_BACKPACK_INFO));
return;
}

String uuid = itemStack.stackTagCompound.getString(Constants.NBT.UID);
if (uuid == null) return;
int tier = BackpackUtil.getTier(itemStack);
int meta = damage % 100;

BackpackUsageCache.BackpackSlotUsageInfo info = BackpackUsageCache.getBackpackInfo(uuid);
if (meta == 17) {
int craftSlots = tier == 0 ? 9 : 18;
information.add(
EnumChatFormatting.AQUA
+ String.format(StatCollector.translateToLocal(Localizations.CRAFTING_SLOTS), craftSlots));
return;
}

int slots = 36 + tier * 27;
information.add(
EnumChatFormatting.AQUA
+ String.format(StatCollector.translateToLocal(Localizations.SLOTS_TOTAL), slots));

if (info != null) {
String slotsText = StatCollector.translateToLocal(Localizations.SLOTS_USED);
information.add(info.usedSlots + "/" + info.totalSlots + ' ' + slotsText);
} else {
BackpackUsageCache.requestBackpackInfo(uuid);
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)) {
information.add(
EnumChatFormatting.YELLOW + StatCollector.translateToLocal(Localizations.TIER) + " " + (tier + 1));
if (itemStack.stackTagCompound != null) {
String uuid = itemStack.stackTagCompound.getString(Constants.NBT.UID);
if (uuid != null) {
BackpackUsageCache.BackpackSlotUsageInfo info = BackpackUsageCache.getBackpackInfo(uuid);
if (info != null) {
information.add(
info.usedSlots + "/"
+ info.totalSlots
+ " "
+ StatCollector.translateToLocal(Localizations.SLOTS_USED));
} else {
BackpackUsageCache.requestBackpackInfo(uuid);
}
}
}
} else {
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/de/eydamos/backpack/misc/Localizations.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,8 @@ public class Localizations {

public static final String BUTTON_OK = "button.backpack.ok";
public static final String BUTTON_CANCEL = "button.backpack.cancel";

public static final String SLOTS_TOTAL = "tooltip.slots";
public static final String CRAFTING_SLOTS = "tooltip.crafting_slots";
public static final String ENDER_BACKPACK_INFO = "tooltip.ender";
}
5 changes: 5 additions & 0 deletions src/main/java/de/eydamos/backpack/util/BackpackUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,11 @@ public static byte getType(ItemStack backpack) {
return 0;
}

public static int getTier(ItemStack itemStack) {
int tier = itemStack.getItemDamage() / 100;
return tier < 3 ? tier : 0;
}

public static void pickupItem(EntityPlayer entityPlayer, ItemStack itemStack) {
PlayerSave playerSave = new PlayerSave(entityPlayer);
ItemStack backpack = playerSave.getPersonalBackpack();
Expand Down
3 changes: 3 additions & 0 deletions src/main/resources/assets/backpack/lang/en_US.lang
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,7 @@ tooltip.slots_used=Slots used
tooltip.tier=Tier:
tooltip.more_information=Press SHIFT for more information
tooltip.intelligent=Intelligent
tooltip.slots=%s Slots
tooltip.crafting_slots=Crafting Backpack with %s Inventory Slots
tooltip.ender=§4Disabled Item; No recipe
itemGroup.tab.backpacks=Backpacks
3 changes: 3 additions & 0 deletions src/main/resources/assets/backpack/lang/ru_RU.lang
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,7 @@ tooltip.slots_used=Использовано слотов
tooltip.tier=Уровень:
tooltip.more_information=Нажмите SHIFT, для большей информации
tooltip.intelligent=Умный
tooltip.slots=%s слотов
tooltip.crafting_slots=Рюкзак-верстак с %s слотами инвентаря
tooltip.ender=§4Выключенный предмет; нет рецепта
itemGroup.tab.backpacks=Backpacks