Corner Clothing UI (#22883)

* Corner clothing (save point)

* IT WORKS. YIPPEE

* the last of it

* template rejigs
This commit is contained in:
Nemanja
2023-12-23 01:32:23 -05:00
committed by GitHub
parent 33399db6c2
commit 9b18357a88
32 changed files with 240 additions and 146 deletions

View File

@@ -8,6 +8,7 @@
xmlns:widgets="clr-namespace:Content.Client.UserInterface.Systems.Ghost.Widgets"
xmlns:hotbar="clr-namespace:Content.Client.UserInterface.Systems.Hotbar.Widgets"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
xmlns:inventory="clr-namespace:Content.Client.UserInterface.Systems.Inventory.Widgets"
Name="DefaultHud"
VerticalExpand="False"
VerticalAlignment="Bottom"
@@ -25,6 +26,7 @@
<actions:ActionsBar Name="Actions" Access="Protected" />
</BoxContainer>
<widgets:GhostGui Name="Ghost" Access="Protected" />
<inventory:InventoryGui Name="Inventory" Access="Protected" />
<hotbar:HotbarGui Name="Hotbar" Access="Protected" />
<chat:ResizableChatBox Name="Chat" Access="Protected" />
<alerts:AlertsUI Name="Alerts" Access="Protected" />

View File

@@ -18,6 +18,7 @@ public sealed partial class DefaultGameScreen : InGameScreen
SetAnchorPreset(ViewportContainer, LayoutPreset.Wide);
SetAnchorAndMarginPreset(TopLeft, LayoutPreset.TopLeft, margin: 10);
SetAnchorAndMarginPreset(Ghost, LayoutPreset.BottomWide, margin: 80);
SetAnchorAndMarginPreset(Inventory, LayoutPreset.BottomLeft, margin: 5);
SetAnchorAndMarginPreset(Hotbar, LayoutPreset.BottomWide, margin: 5);
SetAnchorAndMarginPreset(Chat, LayoutPreset.TopRight, margin: 10);
SetAnchorAndMarginPreset(Alerts, LayoutPreset.TopRight, margin: 10);

View File

@@ -9,6 +9,7 @@
xmlns:widgets="clr-namespace:Content.Client.UserInterface.Systems.Ghost.Widgets"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
xmlns:graphics="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
xmlns:inventory="clr-namespace:Content.Client.UserInterface.Systems.Inventory.Widgets"
Name="SeparatedChatHud"
VerticalExpand="False"
VerticalAlignment="Bottom"
@@ -17,6 +18,7 @@
<LayoutContainer Name="ViewportContainer" HorizontalExpand="True" VerticalExpand="True">
<controls:MainViewport Name="MainViewport"/>
<widgets:GhostGui Name="Ghost" Access="Protected" />
<inventory:InventoryGui Name="Inventory" Access="Protected"/>
<hotbar:HotbarGui Name="Hotbar" Access="Protected"/>
<BoxContainer Name="TopLeftContainer" Orientation="Vertical">
<actions:ActionsBar Name="Actions" Access="Protected" />

View File

@@ -18,6 +18,7 @@ public sealed partial class SeparatedChatGameScreen : InGameScreen
SetAnchorPreset(ScreenContainer, LayoutPreset.Wide);
SetAnchorPreset(ViewportContainer, LayoutPreset.Wide);
SetAnchorPreset(MainViewport, LayoutPreset.Wide);
SetAnchorAndMarginPreset(Inventory, LayoutPreset.BottomLeft, margin: 5);
SetAnchorAndMarginPreset(TopLeftContainer, LayoutPreset.TopLeft, margin: 10);
SetAnchorAndMarginPreset(Ghost, LayoutPreset.BottomWide, margin: 80);
SetAnchorAndMarginPreset(Hotbar, LayoutPreset.BottomWide, margin: 5);

View File

@@ -4,6 +4,7 @@ using Content.Client.UserInterface.Systems.Hands.Controls;
using Content.Client.UserInterface.Systems.Hotbar.Widgets;
using Content.Client.UserInterface.Systems.Inventory;
using Content.Client.UserInterface.Systems.Inventory.Controls;
using Content.Client.UserInterface.Systems.Inventory.Widgets;
using Content.Client.UserInterface.Systems.Storage;
using Content.Client.UserInterface.Systems.Storage.Controls;
using Robust.Client.UserInterface;
@@ -30,13 +31,12 @@ public sealed class HotbarUIController : UIController
ReloadHotbar();
}
public void Setup(HandsContainer handsContainer, ItemSlotButtonContainer inventoryBar, ItemStatusPanel handStatus, StorageContainer storageContainer)
public void Setup(HandsContainer handsContainer, ItemStatusPanel handStatus, StorageContainer storageContainer)
{
_inventory = UIManager.GetUIController<InventoryUIController>();
_hands = UIManager.GetUIController<HandsUIController>();
_storage = UIManager.GetUIController<StorageUIController>();
_hands.RegisterHandContainer(handsContainer);
_inventory.RegisterInventoryBarContainer(inventoryBar);
_storage.RegisterStorageContainer(storageContainer);
}
@@ -47,25 +47,35 @@ public sealed class HotbarUIController : UIController
return;
}
var hotbar = UIManager.ActiveScreen.GetWidget<HotbarGui>();
if (hotbar == null)
if (UIManager.ActiveScreen.GetWidget<HotbarGui>() is { } hotbar)
{
return;
}
foreach (var container in GetAllItemSlotContainers(hotbar))
{
// Yes, this is dirty.
container.SlotGroup = container.SlotGroup;
}
}
_hands?.ReloadHands();
_inventory?.ReloadSlots();
_inventory?.RegisterInventoryBarContainer(hotbar.InventoryHotbar);
//todo move this over to its own hellhole
var inventory = UIManager.ActiveScreen.GetWidget<InventoryGui>();
if (inventory == null)
{
return;
}
private IEnumerable<ItemSlotButtonContainer> GetAllItemSlotContainers(Control gui)
foreach (var container in GetAllItemSlotContainers(inventory))
{
// Yes, this is dirty.
container.SlotGroup = container.SlotGroup;
}
_inventory?.RegisterInventoryBarContainer(inventory.InventoryHotbar);
}
private static IEnumerable<ItemSlotButtonContainer> GetAllItemSlotContainers(Control gui)
{
var result = new List<ItemSlotButtonContainer>();

View File

@@ -5,10 +5,11 @@
xmlns:hands="clr-namespace:Content.Client.UserInterface.Systems.Hands.Controls"
xmlns:widgets="clr-namespace:Content.Client.UserInterface.Systems.Hotbar.Widgets"
Name="HotbarInterface"
VerticalExpand="False"
VerticalExpand="True"
VerticalAlignment="Bottom"
Orientation="Vertical"
HorizontalAlignment="Center">
<BoxContainer Orientation="Vertical">
<Control HorizontalAlignment="Center">
<inventory:ItemStatusPanel
Name="StatusPanel"
@@ -24,19 +25,6 @@
Visible="False"/>
</BoxContainer>
</Control>
<BoxContainer Orientation="Vertical">
<inventory:ItemSlotButtonContainer
Name="InventoryHotbar"
Access="Public"
Visible="False"
Columns="10"
SlotGroup="Default"
ExpandBackwards="True"
VerticalExpand="True"
HorizontalAlignment="Center"
VerticalAlignment="Bottom"
Margin="0 0 0 4"
/>
<BoxContainer Orientation="Horizontal" Name="Hotbar" HorizontalAlignment="Center">
<inventory:ItemSlotButtonContainer
Name="SecondHotbar"

View File

@@ -13,7 +13,7 @@ public sealed partial class HotbarGui : UIWidget
StatusPanel.Update(null);
var hotbarController = UserInterfaceManager.GetUIController<HotbarUIController>();
hotbarController.Setup(HandContainer, InventoryHotbar, StatusPanel, StoragePanel);
hotbarController.Setup(HandContainer, StatusPanel, StoragePanel);
LayoutContainer.SetGrowVertical(this, LayoutContainer.GrowDirection.Begin);
}

View File

@@ -16,6 +16,14 @@ public abstract class ItemSlotUIContainer<T> : GridContainer, IItemslotUIContain
{
protected readonly Dictionary<string, T> Buttons = new();
private int? _maxColumns;
public int? MaxColumns
{
get => _maxColumns;
set => _maxColumns = value;
}
public virtual bool TryAddButton(T newButton, out T button)
{
var tempButton = AddButton(newButton);
@@ -68,7 +76,7 @@ public abstract class ItemSlotUIContainer<T> : GridContainer, IItemslotUIContain
{
if (!Children.Contains(newButton) && newButton.Parent == null && newButton.SlotName != "")
AddChild(newButton);
Columns = ChildCount;
Columns = _maxColumns ?? ChildCount;
return AddButtonToDict(newButton);
}

View File

@@ -1,8 +1,12 @@
using System.Linq;
using System.Numerics;
using Content.Client.Gameplay;
using Content.Client.Hands.Systems;
using Content.Client.Inventory;
using Content.Client.UserInterface.Controls;
using Content.Client.UserInterface.Systems.Gameplay;
using Content.Client.UserInterface.Systems.Inventory.Controls;
using Content.Client.UserInterface.Systems.Inventory.Widgets;
using Content.Client.UserInterface.Systems.Inventory.Windows;
using Content.Shared.Hands.Components;
using Content.Shared.Input;
@@ -16,7 +20,6 @@ using Robust.Shared.Input.Binding;
using Robust.Shared.Map;
using Robust.Shared.Utility;
using static Content.Client.Inventory.ClientInventorySystem;
using static Robust.Client.UserInterface.Controls.BaseButton;
namespace Content.Client.UserInterface.Systems.Inventory;
@@ -35,9 +38,26 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
private StrippingWindow? _strippingWindow;
private ItemSlotButtonContainer? _inventoryHotbar;
private MenuButton? InventoryButton => UIManager.ActiveScreen?.GetWidget<MenuBar.Widgets.GameTopMenuBar>()?.InventoryButton;
private SlotButton? _inventoryButton;
private SlotControl? _lastHovered = null;
private SlotControl? _lastHovered;
public override void Initialize()
{
base.Initialize();
var gameplayStateLoad = UIManager.GetUIController<GameplayStateLoadController>();
gameplayStateLoad.OnScreenLoad += OnScreenLoad;
}
private void OnScreenLoad()
{
if (UIManager.ActiveScreen == null)
return;
var inventoryGui = UIManager.GetActiveUIWidget<InventoryGui>();
RegisterInventoryButton(inventoryGui.InventoryButton);
}
public void OnStateEntered(GameplayState state)
{
@@ -67,26 +87,6 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
CommandBinds.Unregister<ClientInventorySystem>();
}
public void UnloadButton()
{
if (InventoryButton == null)
{
return;
}
InventoryButton.OnPressed -= InventoryButtonPressed;
}
public void LoadButton()
{
if (InventoryButton == null)
{
return;
}
InventoryButton.OnPressed += InventoryButtonPressed;
}
private SlotButton CreateSlotButton(SlotData data)
{
var button = new SlotButton(data);
@@ -102,8 +102,25 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
_inventoryHotbar = inventoryHotbar;
}
private void InventoryButtonPressed(ButtonEventArgs args)
public void RegisterInventoryButton(SlotButton? button)
{
if (_inventoryButton != null)
{
_inventoryButton.Pressed -= InventoryButtonPressed;
}
if (button != null)
{
_inventoryButton = button;
_inventoryButton.Pressed += InventoryButtonPressed;
}
}
private void InventoryButtonPressed(GUIBoundKeyEventArgs args, SlotControl control)
{
if (args.Function != EngineKeyFunctions.UIClick)
return;
ToggleInventoryBar();
}
@@ -130,6 +147,52 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
var update = new SlotSpriteUpdate(data.HeldEntity, data.SlotGroup, data.SlotName, showStorage);
SpriteUpdated(update);
}
if (_inventoryHotbar == null)
return;
var clothing = clientInv.SlotData.Where(p => !p.Value.HasSlotGroup).ToList();
if (_inventoryButton != null)
_inventoryButton.Visible = clothing.Count != 0;
if (clothing.Count == 0)
return;
foreach (var child in new List<Control>(_inventoryHotbar.Children))
{
if (child is not SlotControl)
_inventoryHotbar.RemoveChild(child);
}
var maxWidth = clothing.Max(p => p.Value.ButtonOffset.X) + 1;
var maxIndex = clothing.Select(p => GetIndex(p.Value.ButtonOffset)).Max();
_inventoryHotbar.MaxColumns = maxWidth;
_inventoryHotbar.Columns = maxWidth;
for (var i = 0; i <= maxIndex; i++)
{
var index = i;
if (clothing.FirstOrNull(p => GetIndex(p.Value.ButtonOffset) == index) is { } pair)
{
if (_inventoryHotbar.TryGetButton(pair.Key, out var slot))
slot.SetPositionLast();
}
else
{
_inventoryHotbar.AddChild(new Control
{
MinSize = new Vector2(64, 64)
});
}
}
return;
int GetIndex(Vector2i position)
{
return position.Y * maxWidth + position.X;
}
}
private void UpdateStrippingWindow(InventorySlotsComponent? clientInv)
@@ -178,18 +241,7 @@ public sealed class InventoryUIController : UIController, IOnStateEntered<Gamepl
}
UpdateInventoryHotbar(_playerInventory);
if (_inventoryHotbar.Visible)
{
_inventoryHotbar.Visible = false;
if (InventoryButton != null)
InventoryButton.Pressed = false;
}
else
{
_inventoryHotbar.Visible = true;
if (InventoryButton != null)
InventoryButton.Pressed = true;
}
_inventoryHotbar.Visible = !_inventoryHotbar.Visible;
}
// Neuron Activation

View File

@@ -0,0 +1,30 @@
<widgets:InventoryGui
xmlns="https://spacestation14.io"
xmlns:inventory="clr-namespace:Content.Client.UserInterface.Systems.Inventory.Controls"
xmlns:widgets="clr-namespace:Content.Client.UserInterface.Systems.Inventory.Widgets"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
Name="InventoryInterface"
VerticalExpand="True"
VerticalAlignment="Bottom"
Orientation="Horizontal"
HorizontalAlignment="Center">
<Control HorizontalAlignment="Center">
<controls:SlotButton
Name="InventoryButton"
Access="Public"
VerticalAlignment="Bottom"
HorizontalExpand="False"
VerticalExpand="False"
ButtonTexturePath="Slots/toggle"/>
<inventory:ItemSlotButtonContainer
Name="InventoryHotbar"
Access="Public"
Visible="False"
MaxColumns="3"
SlotGroup="Default"
ExpandBackwards="True"
VerticalExpand="True"
HorizontalAlignment="Center"
/>
</Control>
</widgets:InventoryGui>

View File

@@ -0,0 +1,19 @@
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.UserInterface.Systems.Inventory.Widgets;
[GenerateTypedNameReferences]
public sealed partial class InventoryGui : UIWidget
{
public InventoryGui()
{
RobustXamlLoader.Load(this);
var inventoryUIController = UserInterfaceManager.GetUIController<InventoryUIController>();
inventoryUIController.RegisterInventoryBarContainer(InventoryHotbar);
LayoutContainer.SetGrowVertical(this, LayoutContainer.GrowDirection.Begin);
}
}

View File

@@ -6,7 +6,6 @@ using Content.Client.UserInterface.Systems.Crafting;
using Content.Client.UserInterface.Systems.EscapeMenu;
using Content.Client.UserInterface.Systems.Gameplay;
using Content.Client.UserInterface.Systems.Guidebook;
using Content.Client.UserInterface.Systems.Inventory;
using Content.Client.UserInterface.Systems.MenuBar.Widgets;
using Content.Client.UserInterface.Systems.Sandbox;
using Robust.Client.UserInterface.Controllers;
@@ -16,7 +15,6 @@ namespace Content.Client.UserInterface.Systems.MenuBar;
public sealed class GameTopMenuBarUIController : UIController
{
[Dependency] private readonly EscapeUIController _escape = default!;
[Dependency] private readonly InventoryUIController _inventory = default!;
[Dependency] private readonly AdminUIController _admin = default!;
[Dependency] private readonly CharacterUIController _character = default!;
[Dependency] private readonly CraftingUIController _crafting = default!;
@@ -40,7 +38,6 @@ public sealed class GameTopMenuBarUIController : UIController
{
_escape.UnloadButton();
_guidebook.UnloadButton();
_inventory.UnloadButton();
_admin.UnloadButton();
_character.UnloadButton();
_crafting.UnloadButton();
@@ -53,7 +50,6 @@ public sealed class GameTopMenuBarUIController : UIController
{
_escape.LoadButton();
_guidebook.LoadButton();
_inventory.LoadButton();
_admin.LoadButton();
_character.LoadButton();
_crafting.LoadButton();

View File

@@ -43,16 +43,6 @@
HorizontalExpand="True"
AppendStyleClass="{x:Static style:StyleBase.ButtonSquare}"
/>
<ui:MenuButton
Name="InventoryButton"
Access="Internal"
Icon="{xe:Tex '/Textures/Interface/inventory.svg.192dpi.png'}"
BoundKey = "{x:Static is:ContentKeyFunctions.OpenInventoryMenu}"
ToolTip="{Loc 'game-hud-open-inventory-menu-button-tooltip'}"
MinSize="42 64"
HorizontalExpand="True"
AppendStyleClass="{x:Static style:StyleBase.ButtonSquare}"
/>
<ui:MenuButton
Name="CraftingButton"
Access="Internal"

View File

@@ -5,52 +5,52 @@
slotTexture: shoes
slotFlags: FEET
stripTime: 3
uiWindowPos: 1,3
uiWindowPos: 1,0
strippingWindowPos: 1,3
displayName: Shoes
- name: jumpsuit
slotTexture: uniform
slotFlags: INNERCLOTHING
stripTime: 6
uiWindowPos: 0,2
uiWindowPos: 0,1
strippingWindowPos: 0,2
displayName: Jumpsuit
- name: gloves
slotTexture: gloves
slotFlags: GLOVES
uiWindowPos: 2,2
uiWindowPos: 2,1
strippingWindowPos: 2,2
displayName: Gloves
- name: neck
slotTexture: neck
slotFlags: NECK
uiWindowPos: 0,1
uiWindowPos: 0,2
strippingWindowPos: 0,1
displayName: Neck
- name: mask
slotTexture: mask
slotFlags: MASK
uiWindowPos: 1,1
uiWindowPos: 1,2
strippingWindowPos: 1,1
displayName: Mask
- name: eyes
slotTexture: glasses
slotFlags: EYES
stripTime: 3
uiWindowPos: 0,0
uiWindowPos: 0,3
strippingWindowPos: 0,0
displayName: Eyes
- name: ears
slotTexture: ears
slotFlags: EARS
stripTime: 3
uiWindowPos: 2,0
uiWindowPos: 2,2
strippingWindowPos: 2,0
displayName: Ears
- name: head
slotTexture: head
slotFlags: HEAD
uiWindowPos: 1,0
uiWindowPos: 1,3
strippingWindowPos: 1,0
displayName: Head
- name: id
@@ -99,7 +99,7 @@
slotTexture: suit
slotFlags: OUTERCLOTHING
stripTime: 6
uiWindowPos: 1,2
uiWindowPos: 1,1
strippingWindowPos: 1,2
displayName: Suit
- name: pocket1

View File

@@ -4,8 +4,7 @@
- name: head
slotTexture: head
slotFlags: HEAD
slotGroup: MainHotbar
uiWindowPos: 0,0
uiWindowPos: 1,0
strippingWindowPos: 0,0
displayName: Head
offset: 0, -0.09375
@@ -16,8 +15,7 @@
- name: head
slotTexture: head
slotFlags: HEAD
slotGroup: MainHotbar
uiWindowPos: 0,0
uiWindowPos: 1,0
strippingWindowPos: 0,0
displayName: Head
offset: 0, -0.1875
@@ -40,8 +38,7 @@
- name: head
slotTexture: head
slotFlags: HEAD
slotGroup: MainHotbar
uiWindowPos: 0,0
uiWindowPos: 1,0
strippingWindowPos: 0,0
displayName: Head
offset: 0, 0.09375

View File

@@ -5,52 +5,52 @@
slotTexture: shoes
slotFlags: FEET
stripTime: 3
uiWindowPos: 1,3
uiWindowPos: 1,0
strippingWindowPos: 1,3
displayName: Shoes
- name: jumpsuit
slotTexture: uniform
slotFlags: INNERCLOTHING
stripTime: 6
uiWindowPos: 0,2
uiWindowPos: 0,1
strippingWindowPos: 0,2
displayName: Jumpsuit
- name: outerClothing
slotTexture: suit
slotFlags: OUTERCLOTHING
stripTime: 6
uiWindowPos: 1,2
uiWindowPos: 1,1
strippingWindowPos: 1,2
displayName: Suit
- name: gloves
slotTexture: gloves
slotFlags: GLOVES
uiWindowPos: 2,2
uiWindowPos: 2,1
strippingWindowPos: 2,2
displayName: Gloves
- name: neck
slotTexture: neck
slotFlags: NECK
uiWindowPos: 0,1
uiWindowPos: 0,2
strippingWindowPos: 0,1
displayName: Neck
- name: mask
slotTexture: mask
slotFlags: MASK
uiWindowPos: 1,1
uiWindowPos: 1,2
strippingWindowPos: 1,1
displayName: Mask
- name: eyes
slotTexture: glasses
slotFlags: EYES
stripTime: 3
uiWindowPos: 0,0
uiWindowPos: 0,3
strippingWindowPos: 0,0
displayName: Eyes
- name: head
slotTexture: head
slotFlags: HEAD
uiWindowPos: 1,0
uiWindowPos: 1,3
strippingWindowPos: 1,0
displayName: Head
- name: pocket1

View File

@@ -6,52 +6,52 @@
slotTexture: uniform
slotFlags: INNERCLOTHING
stripTime: 6
uiWindowPos: 0,2
uiWindowPos: 0,1
strippingWindowPos: 0,2
displayName: Jumpsuit
- name: outerClothing
slotTexture: suit
slotFlags: OUTERCLOTHING
stripTime: 6
uiWindowPos: 1,2
uiWindowPos: 1,1
strippingWindowPos: 1,2
displayName: Suit
- name: gloves
slotTexture: gloves
slotFlags: GLOVES
uiWindowPos: 2,2
uiWindowPos: 2,1
strippingWindowPos: 2,2
displayName: Gloves
- name: neck
slotTexture: neck
slotFlags: NECK
uiWindowPos: 0,1
uiWindowPos: 0,2
strippingWindowPos: 0,1
displayName: Neck
- name: mask
slotTexture: mask
slotFlags: MASK
uiWindowPos: 1,1
uiWindowPos: 1,2
strippingWindowPos: 1,1
displayName: Mask
- name: eyes
slotTexture: glasses
slotFlags: EYES
stripTime: 3
uiWindowPos: 0,0
uiWindowPos: 0,3
strippingWindowPos: 0,0
displayName: Eyes
- name: ears
slotTexture: ears
slotFlags: EARS
stripTime: 3
uiWindowPos: 2,0
uiWindowPos: 2,2
strippingWindowPos: 2,0
displayName: Ears
- name: head
slotTexture: head
slotFlags: HEAD
uiWindowPos: 1,0
uiWindowPos: 1,3
strippingWindowPos: 1,0
displayName: Head
- name: pocket1

View File

@@ -4,8 +4,7 @@
- name: head
slotTexture: head
slotFlags: HEAD
slotGroup: MainHotbar
uiWindowPos: 0,0
uiWindowPos: 1,0
strippingWindowPos: 0,0
displayName: Head
offset: 0, -0.45

View File

@@ -15,7 +15,7 @@
slotTexture: neck
slotFlags: NECK
uiWindowPos: 0,1
strippingWindowPos: 0,1
strippingWindowPos: 1,0
displayName: Neck
whitelist:
tags:
@@ -24,7 +24,7 @@
slotTexture: glasses
slotFlags: EYES
stripTime: 3
uiWindowPos: 0,0
uiWindowPos: 0,1
strippingWindowPos: 0,0
displayName: Eyes
whitelist:
@@ -44,7 +44,7 @@
- name: head
slotTexture: head
slotFlags: HEAD
uiWindowPos: 1,0
uiWindowPos: 1,2
strippingWindowPos: 1,0
displayName: Head
whitelist:

View File

@@ -4,7 +4,6 @@
- name: head
slotTexture: head
slotFlags: HEAD
slotGroup: MainHotbar
uiWindowPos: 0,0
uiWindowPos: 0,1
strippingWindowPos: 0,0
displayName: Head

View File

@@ -5,59 +5,59 @@
slotTexture: shoes
slotFlags: FEET
stripTime: 3
uiWindowPos: 1,3
uiWindowPos: 1,0
strippingWindowPos: 1,3
displayName: Shoes
- name: jumpsuit
slotTexture: uniform
slotFlags: INNERCLOTHING
stripTime: 6
uiWindowPos: 0,2
uiWindowPos: 0,1
strippingWindowPos: 0,2
displayName: Jumpsuit
- name: outerClothing
slotTexture: suit
slotFlags: OUTERCLOTHING
stripTime: 6
uiWindowPos: 1,2
uiWindowPos: 1,1
strippingWindowPos: 1,2
displayName: Suit
- name: gloves
slotTexture: gloves
slotFlags: GLOVES
uiWindowPos: 2,2
uiWindowPos: 2,1
strippingWindowPos: 2,2
displayName: Gloves
- name: neck
slotTexture: neck
slotFlags: NECK
uiWindowPos: 0,1
uiWindowPos: 0,2
strippingWindowPos: 0,1
displayName: Neck
- name: mask
slotTexture: mask
slotFlags: MASK
uiWindowPos: 1,1
uiWindowPos: 1,2
strippingWindowPos: 1,1
displayName: Mask
- name: eyes
slotTexture: glasses
slotFlags: EYES
stripTime: 3
uiWindowPos: 0,0
uiWindowPos: 0,3
strippingWindowPos: 0,0
displayName: Eyes
- name: ears
slotTexture: ears
slotFlags: EARS
stripTime: 3
uiWindowPos: 2,0
uiWindowPos: 2,2
strippingWindowPos: 2,0
displayName: Ears
- name: head
slotTexture: head
slotFlags: HEAD
uiWindowPos: 1,0
uiWindowPos: 1,3
strippingWindowPos: 1,0
displayName: Head
- name: pocket1

View File

@@ -26,7 +26,7 @@
- name: gloves
slotTexture: gloves
slotFlags: GLOVES
uiWindowPos: 2,2
uiWindowPos: 0,1
strippingWindowPos: 2,2
displayName: Gloves
whitelist:
@@ -71,7 +71,7 @@
- name: gloves
slotTexture: gloves
slotFlags: GLOVES
uiWindowPos: 2,2
uiWindowPos: 1,0
strippingWindowPos: 2,2
displayName: Gloves
whitelist:

View File

@@ -4,20 +4,20 @@
- name: head
slotTexture: head
slotFlags: HEAD
uiWindowPos: 0,0
uiWindowPos: 1,2
strippingWindowPos: 0,0
displayName: Head
- name: ears
slotTexture: ears
slotFlags: EARS
stripTime: 3
uiWindowPos: 1,2
uiWindowPos: 0,2
strippingWindowPos: 1,2
displayName: Ears
- name: mask
slotTexture: mask
slotFlags: MASK
uiWindowPos: 1,1
uiWindowPos: 0,1
strippingWindowPos: 1,1
displayName: Mask
whitelist:
@@ -30,7 +30,7 @@
slotTexture: uniform
slotFlags: INNERCLOTHING
stripTime: 6
uiWindowPos: 0,2
uiWindowPos: 1,0
strippingWindowPos: 0,2
displayName: Jumpsuit
- name: id
@@ -55,7 +55,7 @@
slotTexture: suit
slotFlags: OUTERCLOTHING
stripTime: 6
uiWindowPos: 1,3
uiWindowPos: 1,1
strippingWindowPos: 1,3
displayName: Suit
whitelist:

View File

@@ -4,7 +4,7 @@
- name: mask
slotTexture: mask
slotFlags: MASK
uiWindowPos: 1,1
uiWindowPos: 1,0
strippingWindowPos: 1,1
displayName: Mask
whitelist:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 485 B

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 685 B

View File

Before

Width:  |  Height:  |  Size: 685 B

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 645 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB