minecraft-inventory 0.1.15 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minecraft-inventory",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "release": {
@@ -31,6 +31,8 @@ export interface InventoryOverlayProps {
31
31
  jeiPosition?: 'left' | 'right'
32
32
  jeiOnGetRecipes?: (item: JEIItem) => RecipeGuide[]
33
33
  jeiOnGetUsages?: (item: JEIItem) => RecipeGuide[]
34
+ jeiOnItemClick?: (item: JEIItem) => void
35
+ jeiOnItemRightClick?: (item: JEIItem) => void
34
36
  /** Enable Notes sidebar (uses localStorage by default if callbacks not provided) */
35
37
  enableNotes?: boolean
36
38
  /** Callback to get notes. If not provided and enableNotes is true, uses localStorage. */
@@ -72,6 +74,8 @@ export function InventoryOverlay({
72
74
  jeiPosition = 'right',
73
75
  jeiOnGetRecipes,
74
76
  jeiOnGetUsages,
77
+ jeiOnItemClick,
78
+ jeiOnItemRightClick,
75
79
  enableNotes = false,
76
80
  notesOnGet,
77
81
  notesOnSave,
@@ -144,6 +148,8 @@ export function InventoryOverlay({
144
148
  <JEI
145
149
  items={jeiItems}
146
150
  position={jeiPosition}
151
+ onItemClick={jeiOnItemClick}
152
+ onItemRightClick={jeiOnItemRightClick}
147
153
  onGetRecipes={jeiOnGetRecipes}
148
154
  onGetUsages={jeiOnGetUsages}
149
155
  onPushRecipeFrame={pushRecipeFrame}
@@ -298,7 +304,7 @@ export function InventoryOverlay({
298
304
  lineHeight: 1,
299
305
  }}
300
306
  >
301
- INV 0.1.15
307
+ INV 0.1.17
302
308
  </a>
303
309
  )}
304
310
 
@@ -17,6 +17,10 @@
17
17
  font-family: inherit;
18
18
  font-size: inherit;
19
19
  transition: background 0.1s;
20
+ display: inline-flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ line-height: 1;
20
24
  }
21
25
 
22
26
  .pageBtn:hover:not(:disabled) {
@@ -26,6 +26,7 @@ interface JEIProps {
26
26
  maxHeight?: number
27
27
  onItemClick?: (item: JEIItem) => void
28
28
  onItemMiddleClick?: (item: JEIItem) => void
29
+ onItemRightClick?: (item: JEIItem) => void
29
30
  /** Called when R is pressed while hovering an item — return list of recipes to display */
30
31
  onGetRecipes?: (item: JEIItem) => RecipeGuide[]
31
32
  /** Called when U is pressed while hovering an item — return list of usages to display */
@@ -67,6 +68,7 @@ export function JEI({
67
68
  maxHeight,
68
69
  onItemClick,
69
70
  onItemMiddleClick,
71
+ onItemRightClick,
70
72
  onGetRecipes,
71
73
  onGetUsages,
72
74
  onPushRecipeFrame,
@@ -278,8 +280,7 @@ export function JEI({
278
280
  >
279
281
  <button
280
282
  className={styles.pageBtn}
281
- onClick={() => setPage((p) => Math.max(0, p - 1))}
282
- disabled={page === 0}
283
+ onClick={() => setPage((p) => (p > 0 ? p - 1 : Math.max(0, totalPages - 1)))}
283
284
  style={{ fontSize: 6 * scale, padding: `${scale}px ${2 * scale}px` }}
284
285
  title="Previous page"
285
286
  >
@@ -290,8 +291,7 @@ export function JEI({
290
291
  </span>
291
292
  <button
292
293
  className={styles.pageBtn}
293
- onClick={() => setPage((p) => Math.min(totalPages - 1, p + 1))}
294
- disabled={page >= totalPages - 1}
294
+ onClick={() => setPage((p) => (p < totalPages - 1 ? p + 1 : 0))}
295
295
  style={{ fontSize: 6 * scale, padding: `${scale}px ${2 * scale}px` }}
296
296
  title="Next page"
297
297
  >
@@ -353,6 +353,12 @@ export function JEI({
353
353
  } else {
354
354
  pushRecipeFrame(jeiItem, 'recipes')
355
355
  }
356
+ } else if (button === 'right' && mode === 'normal') {
357
+ if (onItemRightClick) {
358
+ onItemRightClick(jeiItem)
359
+ } else {
360
+ pushRecipeFrame(jeiItem, 'usages')
361
+ }
356
362
  } else if (button === 'middle' && onItemMiddleClick) {
357
363
  onItemMiddleClick(jeiItem)
358
364
  }
@@ -185,16 +185,14 @@ export function RecipeInventoryView({
185
185
  <>
186
186
  <NavBtn
187
187
  scale={scale}
188
- onClick={() => onGuideIndexChange(Math.max(0, frame.guideIndex - 1))}
189
- disabled={frame.guideIndex === 0}
188
+ onClick={() => onGuideIndexChange(frame.guideIndex > 0 ? frame.guideIndex - 1 : totalGuides - 1)}
190
189
  >◀</NavBtn>
191
190
  <span style={{ color: '#404040', minWidth: 40 * scale, textAlign: 'center' }}>
192
191
  {frame.guideIndex + 1} / {totalGuides}
193
192
  </span>
194
193
  <NavBtn
195
194
  scale={scale}
196
- onClick={() => onGuideIndexChange(Math.min(totalGuides - 1, frame.guideIndex + 1))}
197
- disabled={frame.guideIndex >= totalGuides - 1}
195
+ onClick={() => onGuideIndexChange(frame.guideIndex < totalGuides - 1 ? frame.guideIndex + 1 : 0)}
198
196
  >▶</NavBtn>
199
197
  </>
200
198
  )}
@@ -523,6 +521,9 @@ function NavBtn({
523
521
  lineHeight: 1,
524
522
  outline: 'none',
525
523
  flexShrink: 0,
524
+ display: 'inline-flex',
525
+ alignItems: 'center',
526
+ justifyContent: 'center',
526
527
  }}
527
528
  >
528
529
  {children}