diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.Designer.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.Designer.cs index 9487197b..a9e55d22 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.Designer.cs @@ -29,11 +29,10 @@ private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TextureAtlasEditor)); - this.variantLabel = new MetroFramework.Controls.MetroLabel(); + this.internalTileNameLabel = new MetroFramework.Controls.MetroLabel(); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.extractTileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.applyColorMaskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.playAnimationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -41,8 +40,13 @@ this.originalPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox(); this.selectTilePictureBox = new PckStudio.ToolboxItems.AnimationPictureBox(); this.replaceButton = new MetroFramework.Controls.MetroButton(); - this.animationButton = new MetroFramework.Controls.MetroButton(); this.tileNameLabel = new MetroFramework.Controls.MetroLabel(); + this.setColorButton = new MetroFramework.Controls.MetroButton(); + this.animationButton = new MetroFramework.Controls.MetroButton(); + this.clearColorButton = new MetroFramework.Controls.MetroButton(); + this.extractButton = new MetroFramework.Controls.MetroButton(); + this.colorSlider = new MetroFramework.Controls.MetroTrackBar(); + this.colorSliderLabel = new MetroFramework.Controls.MetroLabel(); this.variantComboBox = new MetroFramework.Controls.MetroComboBox(); this.menuStrip1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); @@ -50,19 +54,20 @@ ((System.ComponentModel.ISupportInitialize)(this.selectTilePictureBox)).BeginInit(); this.SuspendLayout(); // - // variantLabel + // internalTileNameLabel // - this.variantLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) + this.internalTileNameLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.variantLabel.AutoSize = true; - this.variantLabel.Location = new System.Drawing.Point(3, 254); - this.variantLabel.Name = "variantLabel"; - this.variantLabel.Size = new System.Drawing.Size(82, 28); - this.variantLabel.TabIndex = 18; - this.variantLabel.Text = "Variant:"; - this.variantLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.variantLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + this.tableLayoutPanel1.SetColumnSpan(this.internalTileNameLabel, 2); + this.internalTileNameLabel.FontSize = MetroFramework.MetroLabelSize.Small; + this.internalTileNameLabel.Location = new System.Drawing.Point(3, 281); + this.internalTileNameLabel.Name = "internalTileNameLabel"; + this.internalTileNameLabel.Size = new System.Drawing.Size(208, 15); + this.internalTileNameLabel.TabIndex = 18; + this.internalTileNameLabel.Text = "InternalTileName"; + this.internalTileNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.internalTileNameLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + this.internalTileNameLabel.WrapToLine = true; // // menuStrip1 // @@ -80,8 +85,7 @@ // this.fileToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.saveToolStripMenuItem, - this.extractTileToolStripMenuItem}); + this.saveToolStripMenuItem}); this.fileToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Menu; this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); @@ -90,17 +94,10 @@ // saveToolStripMenuItem // this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; - this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.saveToolStripMenuItem.Size = new System.Drawing.Size(98, 22); this.saveToolStripMenuItem.Text = "Save"; this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); // - // extractTileToolStripMenuItem - // - this.extractTileToolStripMenuItem.Name = "extractTileToolStripMenuItem"; - this.extractTileToolStripMenuItem.Size = new System.Drawing.Size(180, 22); - this.extractTileToolStripMenuItem.Text = "Extract Tile"; - this.extractTileToolStripMenuItem.Click += new System.EventHandler(this.extractTileToolStripMenuItem_Click); - // // viewToolStripMenuItem // this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -117,7 +114,7 @@ this.applyColorMaskToolStripMenuItem.CheckOnClick = true; this.applyColorMaskToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; this.applyColorMaskToolStripMenuItem.Name = "applyColorMaskToolStripMenuItem"; - this.applyColorMaskToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.applyColorMaskToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.applyColorMaskToolStripMenuItem.Text = "Apply Color Mask"; this.applyColorMaskToolStripMenuItem.CheckedChanged += new System.EventHandler(this.applyColorMaskToolStripMenuItem_CheckedChanged); // @@ -127,7 +124,7 @@ this.playAnimationsToolStripMenuItem.CheckOnClick = true; this.playAnimationsToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; this.playAnimationsToolStripMenuItem.Name = "playAnimationsToolStripMenuItem"; - this.playAnimationsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.playAnimationsToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.playAnimationsToolStripMenuItem.Text = "Play Animations"; this.playAnimationsToolStripMenuItem.CheckedChanged += new System.EventHandler(this.playAnimationsToolStripMenuItem_CheckedChanged); // @@ -136,38 +133,49 @@ this.tableLayoutPanel1.AutoSize = true; this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.tableLayoutPanel1.ColumnCount = 3; - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 15F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 60F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 10.43842F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 26.09603F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 63.46555F)); this.tableLayoutPanel1.Controls.Add(this.originalPictureBox, 2, 0); this.tableLayoutPanel1.Controls.Add(this.selectTilePictureBox, 0, 0); - this.tableLayoutPanel1.Controls.Add(this.replaceButton, 0, 5); - this.tableLayoutPanel1.Controls.Add(this.animationButton, 0, 4); + this.tableLayoutPanel1.Controls.Add(this.replaceButton, 0, 8); this.tableLayoutPanel1.Controls.Add(this.tileNameLabel, 0, 1); - this.tableLayoutPanel1.Controls.Add(this.variantComboBox, 1, 2); - this.tableLayoutPanel1.Controls.Add(this.variantLabel, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.setColorButton, 0, 5); + this.tableLayoutPanel1.Controls.Add(this.animationButton, 1, 8); + this.tableLayoutPanel1.Controls.Add(this.clearColorButton, 1, 5); + this.tableLayoutPanel1.Controls.Add(this.extractButton, 0, 7); + this.tableLayoutPanel1.Controls.Add(this.colorSlider, 1, 4); + this.tableLayoutPanel1.Controls.Add(this.colorSliderLabel, 0, 4); + this.tableLayoutPanel1.Controls.Add(this.variantComboBox, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.internalTileNameLabel, 0, 2); this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel1.Location = new System.Drawing.Point(20, 84); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 6; - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40F)); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5F)); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5F)); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40F)); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5F)); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 42.82212F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.938088F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.943623F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.943623F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.943623F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5.352765F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5.350623F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5.352765F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5.352765F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); this.tableLayoutPanel1.Size = new System.Drawing.Size(590, 565); this.tableLayoutPanel1.TabIndex = 17; // // originalPictureBox // + this.originalPictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.originalPictureBox.BackColor = System.Drawing.Color.Transparent; - this.originalPictureBox.Dock = System.Windows.Forms.DockStyle.Fill; this.originalPictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; - this.originalPictureBox.Location = new System.Drawing.Point(238, 3); + this.originalPictureBox.Location = new System.Drawing.Point(217, 3); this.originalPictureBox.Name = "originalPictureBox"; - this.tableLayoutPanel1.SetRowSpan(this.originalPictureBox, 6); - this.originalPictureBox.Size = new System.Drawing.Size(349, 559); + this.tableLayoutPanel1.SetRowSpan(this.originalPictureBox, 9); + this.originalPictureBox.Size = new System.Drawing.Size(370, 535); this.originalPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; this.originalPictureBox.TabIndex = 4; this.originalPictureBox.TabStop = false; @@ -186,7 +194,7 @@ this.selectTilePictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; this.selectTilePictureBox.Location = new System.Drawing.Point(3, 3); this.selectTilePictureBox.Name = "selectTilePictureBox"; - this.selectTilePictureBox.Size = new System.Drawing.Size(229, 220); + this.selectTilePictureBox.Size = new System.Drawing.Size(208, 227); this.selectTilePictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; this.selectTilePictureBox.TabIndex = 0; this.selectTilePictureBox.TabStop = false; @@ -198,53 +206,131 @@ | System.Windows.Forms.AnchorStyles.Right))); this.replaceButton.AutoSize = true; this.tableLayoutPanel1.SetColumnSpan(this.replaceButton, 2); - this.replaceButton.Location = new System.Drawing.Point(3, 539); + this.replaceButton.Location = new System.Drawing.Point(3, 515); this.replaceButton.Name = "replaceButton"; - this.replaceButton.Size = new System.Drawing.Size(229, 23); + this.replaceButton.Size = new System.Drawing.Size(208, 23); this.replaceButton.TabIndex = 14; - this.replaceButton.Text = "Replace"; + this.replaceButton.Text = "Replace Tile on Atlas"; this.replaceButton.Theme = MetroFramework.MetroThemeStyle.Dark; this.replaceButton.UseSelectable = true; this.replaceButton.Click += new System.EventHandler(this.replaceButton_Click); // + // tileNameLabel + // + this.tileNameLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tableLayoutPanel1.SetColumnSpan(this.tileNameLabel, 2); + this.tileNameLabel.Location = new System.Drawing.Point(3, 233); + this.tileNameLabel.Name = "tileNameLabel"; + this.tileNameLabel.Size = new System.Drawing.Size(208, 48); + this.tileNameLabel.TabIndex = 19; + this.tileNameLabel.Text = "TileName"; + this.tileNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.tileNameLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + this.tileNameLabel.WrapToLine = true; + // + // setColorButton + // + this.setColorButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tableLayoutPanel1.SetColumnSpan(this.setColorButton, 2); + this.setColorButton.Location = new System.Drawing.Point(3, 434); + this.setColorButton.Name = "setColorButton"; + this.setColorButton.Size = new System.Drawing.Size(208, 17); + this.setColorButton.TabIndex = 25; + this.setColorButton.Text = "Set Custom Colour"; + this.setColorButton.Theme = MetroFramework.MetroThemeStyle.Dark; + this.setColorButton.UseSelectable = true; + this.setColorButton.Click += new System.EventHandler(this.setColorButton_Click); + // // animationButton // this.animationButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.animationButton.AutoSize = true; this.tableLayoutPanel1.SetColumnSpan(this.animationButton, 2); - this.animationButton.Location = new System.Drawing.Point(3, 511); + this.animationButton.Location = new System.Drawing.Point(3, 544); this.animationButton.Name = "animationButton"; - this.animationButton.Size = new System.Drawing.Size(229, 22); + this.animationButton.Size = new System.Drawing.Size(208, 18); this.animationButton.TabIndex = 16; this.animationButton.Text = "Animation"; this.animationButton.Theme = MetroFramework.MetroThemeStyle.Dark; this.animationButton.UseSelectable = true; this.animationButton.Click += new System.EventHandler(this.animationButton_Click); // - // tileNameLabel + // clearColorButton // - this.tileNameLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + this.clearColorButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.tileNameLabel.AutoSize = true; - this.tableLayoutPanel1.SetColumnSpan(this.tileNameLabel, 2); - this.tileNameLabel.Location = new System.Drawing.Point(3, 235); - this.tileNameLabel.Name = "tileNameLabel"; - this.tileNameLabel.Size = new System.Drawing.Size(229, 19); - this.tileNameLabel.TabIndex = 19; - this.tileNameLabel.Text = "TileName"; - this.tileNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.tileNameLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + this.clearColorButton.AutoSize = true; + this.tableLayoutPanel1.SetColumnSpan(this.clearColorButton, 2); + this.clearColorButton.Location = new System.Drawing.Point(3, 457); + this.clearColorButton.Name = "clearColorButton"; + this.clearColorButton.Size = new System.Drawing.Size(208, 23); + this.clearColorButton.TabIndex = 24; + this.clearColorButton.Text = "Clear Custom Colour"; + this.clearColorButton.Theme = MetroFramework.MetroThemeStyle.Dark; + this.clearColorButton.UseSelectable = true; + this.clearColorButton.Click += new System.EventHandler(this.clearColorButton_Click); + // + // extractButton + // + this.extractButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.extractButton.AutoSize = true; + this.tableLayoutPanel1.SetColumnSpan(this.extractButton, 2); + this.extractButton.Location = new System.Drawing.Point(3, 486); + this.extractButton.Name = "extractButton"; + this.extractButton.Size = new System.Drawing.Size(208, 23); + this.extractButton.TabIndex = 27; + this.extractButton.Text = "Extract Tile from Atlas"; + this.extractButton.Theme = MetroFramework.MetroThemeStyle.Dark; + this.extractButton.UseSelectable = true; + this.extractButton.Click += new System.EventHandler(this.extractTileToolStripMenuItem_Click); + // + // colorSlider + // + this.colorSlider.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); + this.colorSlider.BackColor = System.Drawing.Color.Transparent; + this.colorSlider.Location = new System.Drawing.Point(64, 380); + this.colorSlider.Maximum = 255; + this.colorSlider.Name = "colorSlider"; + this.colorSlider.Size = new System.Drawing.Size(147, 42); + this.colorSlider.TabIndex = 26; + this.colorSlider.Text = "metroTrackBar1"; + this.colorSlider.Theme = MetroFramework.MetroThemeStyle.Dark; + this.colorSlider.Value = 255; + this.colorSlider.Visible = false; + this.colorSlider.ValueChanged += new System.EventHandler(this.colorSlider_ValueChanged); + // + // colorSliderLabel + // + this.colorSliderLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.colorSliderLabel.BackColor = System.Drawing.Color.Transparent; + this.colorSliderLabel.FontSize = MetroFramework.MetroLabelSize.Small; + this.colorSliderLabel.Location = new System.Drawing.Point(3, 377); + this.colorSliderLabel.Name = "colorSliderLabel"; + this.colorSliderLabel.Size = new System.Drawing.Size(55, 48); + this.colorSliderLabel.TabIndex = 19; + this.colorSliderLabel.Text = "Color Value:"; + this.colorSliderLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.colorSliderLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + this.colorSliderLabel.Visible = false; + this.colorSliderLabel.WrapToLine = true; // // variantComboBox // this.variantComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.tableLayoutPanel1.SetColumnSpan(this.variantComboBox, 2); this.variantComboBox.Enabled = false; this.variantComboBox.FormattingEnabled = true; this.variantComboBox.ItemHeight = 23; - this.variantComboBox.Location = new System.Drawing.Point(91, 257); + this.variantComboBox.Location = new System.Drawing.Point(3, 338); this.variantComboBox.Name = "variantComboBox"; - this.variantComboBox.Size = new System.Drawing.Size(141, 29); + this.variantComboBox.Size = new System.Drawing.Size(208, 29); this.variantComboBox.TabIndex = 17; this.variantComboBox.Theme = MetroFramework.MetroThemeStyle.Dark; this.variantComboBox.UseSelectable = true; @@ -287,12 +373,16 @@ private PckStudio.ToolboxItems.InterpolationPictureBox originalPictureBox; private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem; private MetroFramework.Controls.MetroButton animationButton; - private System.Windows.Forms.ToolStripMenuItem extractTileToolStripMenuItem; private MetroFramework.Controls.MetroComboBox variantComboBox; private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem applyColorMaskToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem playAnimationsToolStripMenuItem; private MetroFramework.Controls.MetroLabel tileNameLabel; - private MetroFramework.Controls.MetroLabel variantLabel; + private MetroFramework.Controls.MetroLabel internalTileNameLabel; + private MetroFramework.Controls.MetroButton clearColorButton; + private MetroFramework.Controls.MetroButton setColorButton; + private MetroFramework.Controls.MetroTrackBar colorSlider; + private MetroFramework.Controls.MetroLabel colorSliderLabel; + private MetroFramework.Controls.MetroButton extractButton; } } \ No newline at end of file diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index fe569733..2f93d182 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -1,4 +1,4 @@ -/* Copyright (c) 2023-present miku-666 +/* Copyright (c) 2023-present miku-666, MattNL * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. @@ -37,13 +37,14 @@ namespace PckStudio.Forms.Editor { internal partial class TextureAtlasEditor : MetroForm { + private Image _workingTexture; public Image FinalTexture { get { if (DialogResult != DialogResult.OK) return null; - return (Image)originalPictureBox.Image.Clone(); + return _workingTexture; } } @@ -76,7 +77,17 @@ namespace PckStudio.Forms.Editor private int SelectedIndex { - set => SetImageDisplayed(value); + set { + if (value < 0) + { + value = _tiles.Count + value; + } + else if (value >= _tiles.Count) + { + value = value - _tiles.Count; + } + SetImageDisplayed(value); + } } private const ImageLayoutDirection _imageLayout = ImageLayoutDirection.Horizontal; @@ -86,6 +97,9 @@ namespace PckStudio.Forms.Editor InitializeComponent(); AcquireColorTable(pckFile); + + _workingTexture = atlas; + _areaSize = areaSize; _pckFile = pckFile; _rowCount = atlas.Width / areaSize.Width; @@ -94,17 +108,61 @@ namespace PckStudio.Forms.Editor { "terrain" => (Tiles.BlockTileInfos, "blocks"), "items" => (Tiles.ItemTileInfos, "items"), + "particles" => (Tiles.ParticleTileInfos, "particles"), + "mapicons" => (Tiles.MapIconTileInfos, "map_icons"), + "additionalmapicons" => (Tiles.AdditionalMapIconTileInfos, "additional_map_icons"), + "moon_phases" => (Tiles.MoonPhaseTileInfos, "moon_phases"), + "xporb" => (Tiles.ExperienceOrbTileInfos, "experience_orbs"), + "explosion" => (Tiles.ExplosionTileInfos, "explosions"), + "kz" => (Tiles.PaintingTileInfos, "paintings"), + "Banner_Atlas" => (Tiles.BannerTileInfos, "banners"), _ => (null, null), }; - originalPictureBox.Image = atlas; + + originalPictureBox.Image = atlas.GetArea(new Rectangle(0, 0, atlas.Width, atlas.Height)); + var images = atlas.Split(_areaSize, _imageLayout); var tiles = images.enumerate().Select( - p => new AtlasTile(p.index, GetAtlasArea(p.index, _rowCount, _columnCount, _areaSize, _imageLayout), tileInfos.IndexInRange(p.index) ? tileInfos[p.index] : null, p.value) + p => new AtlasTile( + p.index, + + GetAtlasArea( + p.index, + tileInfos.IndexInRange(p.index) + ? tileInfos[p.index].Width : 1, + tileInfos.IndexInRange(p.index) + ? tileInfos[p.index].Height : 1, + _rowCount, + _columnCount, + _areaSize, + _imageLayout), + + tileInfos.IndexInRange(p.index) + ? tileInfos[p.index] : null, + + // get texture for tiles that are not 1x1 tiles + tileInfos.IndexInRange(p.index) + ? atlas.GetArea( + new Rectangle( + GetSelectedPoint(p.index, _rowCount, _columnCount, _imageLayout).X * _areaSize.Width, + GetSelectedPoint(p.index, _rowCount, _columnCount, _imageLayout).Y * _areaSize.Height, + tileInfos[p.index].Width * _areaSize.Width, + tileInfos[p.index].Height * _areaSize.Height)) + : p.value) ); _tiles = new List(tiles); SelectedIndex = 0; + + bool isParticles = _atlasType == "particles"; + + // this is directly based on Java's source code for handling enchanted hits + // the particle is assigned a random grayscale color between roughly 154 and 230 + // since critical hit is the only particle with this distinction, we just need to check the atlas type + colorSlider.Maximum = isParticles ? 230 : 255; + colorSlider.Minimum = isParticles ? 154 : 0; + colorSlider.Value = isParticles ? colorSlider.Maximum : colorSlider.Minimum; } private bool AcquireColorTable(PckFile pckFile) @@ -121,11 +179,37 @@ namespace PckStudio.Forms.Editor return false; } + private void UpdateAtlasDisplay() + { + var graphicsConfig = new GraphicsConfig() + { + InterpolationMode = selectTilePictureBox.InterpolationMode, + PixelOffsetMode = PixelOffsetMode.HighQuality + }; + using (var g = Graphics.FromImage(originalPictureBox.Image)) + { + g.ApplyConfig(graphicsConfig); + g.Clear(Color.Transparent); + g.DrawImage(_workingTexture, 0, 0, _workingTexture.Width, _workingTexture.Height); + + SolidBrush brush = new SolidBrush(Color.FromArgb(127, 255, 255, 255)); + + var rect = new Rectangle(_selectedTile.Area.X, _selectedTile.Area.Y, + _areaSize.Width, _areaSize.Height); + + g.FillRectangle(brush, rect); + } + + originalPictureBox.Invalidate(); + } + private void SetImageDisplayed(int index) { tileNameLabel.Text = string.Empty; - - variantLabel.Visible = false; + internalTileNameLabel.Text = string.Empty; + + colorSlider.Visible = false; + colorSliderLabel.Visible = false; variantComboBox.Visible = false; variantComboBox.Items.Clear(); variantComboBox.SelectedItem = null; @@ -141,32 +225,41 @@ namespace PckStudio.Forms.Editor dataTile = _selectedTile; - if (string.IsNullOrEmpty(dataTile.Tile.DisplayName)) + UpdateAtlasDisplay(); + + if (string.IsNullOrEmpty(dataTile.Tile.DisplayName) && !string.IsNullOrEmpty(dataTile.Tile.InternalName)) { dataTile = _tiles.Find(t => t.Tile.InternalName == _selectedTile.Tile.InternalName); } selectTilePictureBox.Image = dataTile.Texture; tileNameLabel.Text = $"{dataTile.Tile.DisplayName}"; + internalTileNameLabel.Text = $"{dataTile.Tile.InternalName}"; selectTilePictureBox.BlendColor = GetBlendColor(); selectTilePictureBox.UseBlendColor = applyColorMaskToolStripMenuItem.Checked; - bool hasAnimation = - _pckFile.TryGetValue($"res/textures/{_atlasType}/{dataTile.Tile.InternalName}.png", PckFileType.TextureFile, out var animationFile); - animationButton.Text = hasAnimation ? "Edit Animation" : "Create Animation"; - replaceButton.Enabled = !hasAnimation; - - if (playAnimationsToolStripMenuItem.Checked && - hasAnimation && - animationFile.Size > 0) + if (animationButton.Enabled = _atlasType == "blocks" || _atlasType == "items") { - var animation = AnimationHelper.GetAnimationFromFile(animationFile); - selectTilePictureBox.Start(animation); + bool hasAnimation = + _pckFile.TryGetValue($"res/textures/{_atlasType}/{dataTile.Tile.InternalName}.png", PckFileType.TextureFile, out var animationFile); + animationButton.Text = hasAnimation ? "Edit Animation" : "Create Animation"; + + if (playAnimationsToolStripMenuItem.Checked && + hasAnimation && + animationFile.Size > 0) + { + var animation = AnimationHelper.GetAnimationFromFile(animationFile); + selectTilePictureBox.Start(animation); + } } - if (variantComboBox.Enabled = variantLabel.Visible = variantComboBox.Visible = - dataTile.Tile.HasColourEntry) + if (setColorButton.Enabled = clearColorButton.Enabled = dataTile.Tile.HasColourEntry) { + setColorButton.Enabled = clearColorButton.Enabled = dataTile.Tile.ColourEntry.HasCustomColour; + clearColorButton.Enabled = false; + + variantComboBox.Enabled = variantComboBox.Visible = dataTile.Tile.ColourEntry.Variants.Length > 1; + if (dataTile.Tile.ColourEntry.IsWaterColour && _colourTable.WaterColors.Count > 0) { foreach (var col in _colourTable.WaterColors) @@ -178,10 +271,7 @@ namespace PckStudio.Forms.Editor dataTile.Tile.ColourEntry.DefaultName = _colourTable.WaterColors[0].Name; } - if (dataTile.Tile.ColourEntry.Variants.Length > 1) - { - variantComboBox.Items.AddRange(dataTile.Tile.ColourEntry.Variants); - } + variantComboBox.Items.AddRange(dataTile.Tile.ColourEntry.Variants); variantComboBox.SelectedItem = dataTile.Tile.ColourEntry.DefaultName; } @@ -270,11 +360,11 @@ namespace PckStudio.Forms.Editor }; } - private static Rectangle GetAtlasArea(int index, int rowCount, int columnCount, Size size, ImageLayoutDirection imageLayout) + private static Rectangle GetAtlasArea(int index, int width, int height, int rowCount, int columnCount, Size size, ImageLayoutDirection imageLayout) { var p = GetSelectedPoint(index, rowCount, columnCount, imageLayout); var ap = new Point(p.X * size.Width, p.Y * size.Height); - return new Rectangle(ap, size); + return new Rectangle(ap, new Size(size.Width * width, size.Height * height)); } private static Point GetSelectedPoint(int index, int rowCount, int columnCount, ImageLayoutDirection imageLayout) @@ -294,16 +384,22 @@ namespace PckStudio.Forms.Editor }; if (texture.Size != _areaSize) texture = texture.Resize(_areaSize, graphicsConfig); - using (var g = Graphics.FromImage(originalPictureBox.Image)) + using (var g = Graphics.FromImage(_workingTexture)) { g.ApplyConfig(graphicsConfig); - g.Fill(_selectedTile.Area, Color.Transparent); - g.DrawImage(texture, _selectedTile.Area); + g.Fill(dataTile.Area, Color.Transparent); + g.DrawImage(texture, dataTile.Area); } - _tiles[_selectedTile.Index] = new AtlasTile(_selectedTile.Index, _selectedTile.Area, _selectedTile.Tile, texture); - selectTilePictureBox.Image = texture; - originalPictureBox.Invalidate(); + var _finalTexture = _workingTexture.GetArea(new Rectangle(dataTile.Area.X, dataTile.Area.Y, dataTile.Area.Width, dataTile.Area.Height)); + + if(_selectedTile != dataTile) + _tiles[dataTile.Index] = new AtlasTile(dataTile.Index, dataTile.Area, dataTile.Tile, _finalTexture); + else + _tiles[_selectedTile.Index] = new AtlasTile(_selectedTile.Index, _selectedTile.Area, _selectedTile.Tile, _finalTexture); + selectTilePictureBox.Image = _finalTexture; + + UpdateAtlasDisplay(); } private Color GetBlendColor() @@ -313,11 +409,35 @@ namespace PckStudio.Forms.Editor var col = FindBlendColorByKey(dataTile.Tile.ColourEntry.DefaultName); return col; } + return Color.White; } + private Color HandleSpecialTiles(string colorKey) + { + colorSlider.Visible = colorSliderLabel.Visible = true; + + // Simply, Experience orbs red value is just sliding between 255 and 0 + if (colorKey == "experience_orb") return Color.FromArgb(colorSlider.Value, 255, 0); + + //similar story for critical hits, but for all values + var final_color = Color.FromArgb(colorSlider.Value, colorSlider.Value, colorSlider.Value); + + // enchanted hits are modified critical hit particles + if (dataTile.Tile.InternalName == "enchanted_hit") + // this is directly based on Java's source code for handling enchanted hits + // it just multiplies the red by 0.3 and green by .8 of the color assigned to the critical hit particle + final_color = Color.FromArgb((int)(final_color.R * 0.3f), (int)(final_color.R * 0.8f), final_color.B); + + return final_color; + } + private Color FindBlendColorByKey(string colorKey) { + // The following tiles are hardcoded within a range and do not have color table entries + if (colorKey == "experience_orb" || colorKey == "critical_hit") + return HandleSpecialTiles(colorKey); + if (_colourTable is not null && dataTile.Tile.HasColourEntry && dataTile.Tile.ColourEntry is not null) @@ -335,6 +455,7 @@ namespace PckStudio.Forms.Editor return waterColor.SurfaceColor; } } + return Color.White; } @@ -342,35 +463,22 @@ namespace PckStudio.Forms.Editor { switch (keyData) { + case Keys.R: + // Refreshes the specific tile + SelectedIndex = _selectedTile.Index; + return true; case Keys.Left: - if (_tiles.IndexInRange(_selectedTile.Index - 1)) - { - SelectedIndex = _selectedTile.Index - 1; - return true; - } - break; + SelectedIndex = _selectedTile.Index - 1; + return true; case Keys.Right: - if (_tiles.IndexInRange(_selectedTile.Index + 1)) - { - SelectedIndex = _selectedTile.Index + 1; - return true; - } - break; + SelectedIndex = _selectedTile.Index + 1; + return true; case Keys.Up: - if (_tiles.IndexInRange(_selectedTile.Index - _rowCount)) - { - SelectedIndex = _selectedTile.Index - _rowCount; - return true; - } - break; - + SelectedIndex = _selectedTile.Index - _rowCount; + return true; case Keys.Down: - if (_tiles.IndexInRange(_selectedTile.Index + _rowCount)) - { - SelectedIndex = _selectedTile.Index + _rowCount; - return true; - } - break; + SelectedIndex = _selectedTile.Index + _rowCount; + return true; } return false; @@ -381,9 +489,11 @@ namespace PckStudio.Forms.Editor if (e.Button != MouseButtons.Left) return; + ActiveControl = null; + int index = GetSelectedImageIndex( originalPictureBox.Size, - originalPictureBox.Image.Size, + _workingTexture.Size, _areaSize, e.Location, originalPictureBox.SizeMode, @@ -444,7 +554,7 @@ namespace PckStudio.Forms.Editor }; if (saveFileDialog.ShowDialog() == DialogResult.OK) { - selectTilePictureBox.Image.Save(saveFileDialog.FileName, ImageFormat.Png); + dataTile.Texture.Save(saveFileDialog.FileName, ImageFormat.Png); } } @@ -474,5 +584,57 @@ namespace PckStudio.Forms.Editor if (selectTilePictureBox.IsPlaying) selectTilePictureBox.Stop(); } + + private void setColorButton_Click(object sender, EventArgs e) + { + ColorDialog colorPick = new ColorDialog(); + colorPick.AllowFullOpen = true; + colorPick.AnyColor = true; + colorPick.SolidColorOnly = true; + + // custom colors are read as BGR for some reason, so hex values are "backwards" + // values below are the default Minecraft dyed leather armor values for convenience + + colorPick.CustomColors = new int[] { + 0xfefff9, // White + 0x1d80f9, // Orange + 0xbd4ec7, // Magenta + 0xdab33a, // Light Blue + 0x3dd8fe, // Yellow + 0x1fc780, // Lime + 0xaa8bf3, // Pink + 0x524f47, // Gray + 0x979d9d, // Light Gray + 0x9c9c16, // Cyan + 0xb83289, // Purple + 0xaa443c, // Blue + 0x325483, // Brown + 0x167c5e, // Green + 0x262eb0, // Red + 0x211d1d // Black + }; + + if (colorPick.ShowDialog() != DialogResult.OK) return; + + selectTilePictureBox.BlendColor = colorPick.Color; + selectTilePictureBox.Image = dataTile.Texture; + variantComboBox.Enabled = false; + clearColorButton.Enabled = true; + } + + private void clearColorButton_Click(object sender, EventArgs e) + { + variantComboBox.Enabled = true; + + variantComboBox_SelectedIndexChanged(sender, e); + + clearColorButton.Enabled = false; + } + + private void colorSlider_ValueChanged(object sender, EventArgs e) + { + selectTilePictureBox.BlendColor = GetBlendColor(); + selectTilePictureBox.Image = dataTile.Texture; + } } } \ No newline at end of file diff --git a/PCK-Studio/Internal/ApplicationScope.cs b/PCK-Studio/Internal/ApplicationScope.cs index 361ad2e4..e3812620 100644 --- a/PCK-Studio/Internal/ApplicationScope.cs +++ b/PCK-Studio/Internal/ApplicationScope.cs @@ -21,11 +21,24 @@ namespace PckStudio.Internal { Profiler.Start(); { - _entityImages ??= Resources.entities_sheet.SplitHorizontal(32).ToArray(); + _entityImages ??= Resources.entities_atlas.SplitHorizontal(32).ToArray(); DataCacher ??= new FileCacher(Program.AppDataCache); - _ = Tiles.JsonTileData; - _ = Tiles.ItemImageList; + _ = Tiles.JsonBlockData; + _ = Tiles.JsonItemData; + _ = Tiles.JsonParticleData; + _ = Tiles.JsonMoonPhaseData; + _ = Tiles.JsonExplosionData; + _ = Tiles.JsonMapIconData; + _ = Tiles.JsonExperienceOrbData; + _ = Tiles.JsonPaintingData; _ = Tiles.BlockImageList; + _ = Tiles.ItemImageList; + _ = Tiles.ParticleImageList; + _ = Tiles.ExplosionImageList; + _ = Tiles.MapIconImageList; + _ = Tiles.ExperienceOrbImageList; + _ = Tiles.MoonPhaseImageList; + _ = Tiles.PaintingImageList; SettingsManager.Initialize(); CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; } diff --git a/PCK-Studio/Internal/Json/ColorEntry.cs b/PCK-Studio/Internal/Json/ColorEntry.cs index 8523a311..39390d81 100644 --- a/PCK-Studio/Internal/Json/ColorEntry.cs +++ b/PCK-Studio/Internal/Json/ColorEntry.cs @@ -15,6 +15,9 @@ namespace PckStudio.Internal.Json [JsonProperty("isWaterColour", DefaultValueHandling = DefaultValueHandling.Populate)] public bool IsWaterColour { get; set; } + [JsonProperty("hasCustomColour", DefaultValueHandling = DefaultValueHandling.Populate)] + public bool HasCustomColour { get; set; } + [JsonProperty("variants", DefaultValueHandling = DefaultValueHandling.Populate)] public string[] Variants { get; set; } } diff --git a/PCK-Studio/Internal/Json/TileInfo.cs b/PCK-Studio/Internal/Json/TileInfo.cs index 1ff8b0f0..54e27d2f 100644 --- a/PCK-Studio/Internal/Json/TileInfo.cs +++ b/PCK-Studio/Internal/Json/TileInfo.cs @@ -15,6 +15,12 @@ namespace PckStudio.Internal.Json [JsonProperty("internalName")] public string InternalName { get; set; } + [JsonProperty("width")] + public int Width { get; set; } = 1; + + [JsonProperty("height")] + public int Height { get; set; } = 1; + [JsonProperty("hasColourEntry", DefaultValueHandling = DefaultValueHandling.Populate)] public bool HasColourEntry { get; set; } diff --git a/PCK-Studio/Internal/Json/Tiles.cs b/PCK-Studio/Internal/Json/Tiles.cs index b6e7942c..921407a2 100644 --- a/PCK-Studio/Internal/Json/Tiles.cs +++ b/PCK-Studio/Internal/Json/Tiles.cs @@ -13,55 +13,108 @@ namespace PckStudio.Internal.Json { internal class JsonTiles { - [JsonProperty("blocks")] - public List Blocks { get; set; } - [JsonProperty("items")] - public List Items { get; set; } + [JsonProperty("entries")] + public List Entries { get; set; } + + [JsonProperty("additional_entries")] + public List AdditionalEntries { get; set; } } internal static class Tiles { - private static JsonTiles _jsonData; - internal static JsonTiles JsonTileData => _jsonData ??= JsonConvert.DeserializeObject(Resources.tileData); + private static JsonTiles + _jsonBlockData, _jsonItemData, + _jsonParticleData, _jsonMoonPhaseData, + _jsonMapIconData, _jsonExplosionData, + _jsonExperienceOrbData, _jsonPaintingData, _jsonBannerData; + internal static JsonTiles JsonBlockData => _jsonBlockData ??= JsonConvert.DeserializeObject(Resources.blockData); + internal static JsonTiles JsonItemData => _jsonItemData ??= JsonConvert.DeserializeObject(Resources.itemData); + internal static JsonTiles JsonParticleData => _jsonParticleData ??= JsonConvert.DeserializeObject(Resources.particleData); + internal static JsonTiles JsonMoonPhaseData => _jsonMoonPhaseData ??= JsonConvert.DeserializeObject(Resources.moonPhaseData); + internal static JsonTiles JsonMapIconData => _jsonMapIconData ??= JsonConvert.DeserializeObject(Resources.mapIconData); + internal static JsonTiles JsonExplosionData => _jsonExplosionData ??= JsonConvert.DeserializeObject(Resources.explosionData); + internal static JsonTiles JsonExperienceOrbData => _jsonExperienceOrbData ??= JsonConvert.DeserializeObject(Resources.experienceOrbData); + internal static JsonTiles JsonPaintingData => _jsonPaintingData ??= JsonConvert.DeserializeObject(Resources.paintingData); + internal static JsonTiles JsonBannerData => _jsonBannerData ??= JsonConvert.DeserializeObject(Resources.bannerData); - internal static List ItemTileInfos => JsonTileData.Items; - - internal static List BlockTileInfos => JsonTileData.Blocks; + internal static List ItemTileInfos => JsonItemData.Entries; + internal static List BlockTileInfos => JsonBlockData.Entries; + internal static List ParticleTileInfos => JsonParticleData.Entries; + internal static List MoonPhaseTileInfos => JsonMoonPhaseData.Entries; + internal static List MapIconTileInfos => JsonMapIconData.Entries; + internal static List AdditionalMapIconTileInfos => JsonMapIconData.AdditionalEntries; + internal static List ExperienceOrbTileInfos => JsonExperienceOrbData.Entries; + internal static List ExplosionTileInfos => JsonExplosionData.Entries; + internal static List PaintingTileInfos => JsonPaintingData.Entries; + internal static List BannerTileInfos => JsonBannerData.Entries; private static Image[] _itemImages; - public static Image[] ItemImages => _itemImages ??= Resources.items_sheet.SplitHorizontal(16).ToArray(); + public static Image[] ItemImages => _itemImages ??= Resources.items_atlas.SplitHorizontal(16).ToArray(); private static Image[] _blockImages; - public static Image[] BlockImages => _blockImages ??= Resources.terrain_sheet.SplitHorizontal(16).ToArray(); + public static Image[] BlockImages => _blockImages ??= Resources.terrain_atlas.SplitHorizontal(16).ToArray(); - private static ImageList _itemImageList; - public static ImageList ItemImageList + private static Image[] _particleImages; + public static Image[] ParticleImages => _particleImages ??= Resources.particles_atlas.SplitHorizontal(16).ToArray(); + + private static Image[] _moonPhaseImages; + public static Image[] MoonPhaseImages => _moonPhaseImages ??= Resources.moon_phases_atlas.SplitHorizontal(4).ToArray(); + + private static Image[] _mapIconImages; + public static Image[] MapIconImages => _mapIconImages ??= Resources.map_icons_atlas.SplitHorizontal(4).ToArray(); + + private static Image[] _additionalMapIconImages; + public static Image[] AdditionalMapIconImages => _additionalMapIconImages ??= Resources.additional_map_icons_atlas.SplitHorizontal(4).ToArray(); + + private static Image[] _experienceOrbIconImages; + public static Image[] ExperienceOrbImages => _experienceOrbIconImages ??= Resources.experience_orbs_atlas.SplitHorizontal(4).ToArray(); + + private static Image[] _explosionImages; + public static Image[] ExplosionImages => _explosionImages ??= Resources.explosions_atlas.SplitHorizontal(4).ToArray(); + + private static Image[] _paintingImages; + public static Image[] PaintingImages => _paintingImages ??= Resources.paintings_atlas.SplitHorizontal(16).ToArray(); + + private static Image[] _bannerImages; + public static Image[] BannerImages => _bannerImages ??= Resources.banners_atlas.SplitHorizontal(6).ToArray(); + + private static ImageList GetImageList(Image[] images) { - get - { - if (_itemImageList is null) - { - _itemImageList = new ImageList(); - _itemImageList.ColorDepth = ColorDepth.Depth32Bit; - _itemImageList.Images.AddRange(ItemImages); - } - return _itemImageList; - } + ImageList _imageList = new ImageList(); + _imageList.ColorDepth = ColorDepth.Depth32Bit; + _imageList.Images.AddRange(images); + + return _imageList; } - private static ImageList _blockImageList; - public static ImageList BlockImageList - { - get - { - if (_blockImageList is null) - { - _blockImageList = new ImageList(); - _blockImageList.ColorDepth = ColorDepth.Depth32Bit; - _blockImageList.Images.AddRange(BlockImages); - } - return _blockImageList; - } - } + private static ImageList _blockImageList = GetImageList(BlockImages); + public static ImageList BlockImageList { get { return _blockImageList; } } + + private static ImageList _itemImageList = GetImageList(ItemImages); + public static ImageList ItemImageList { get { return _itemImageList; } } + + private static ImageList _particleImageList = GetImageList(ParticleImages); + public static ImageList ParticleImageList { get { return _particleImageList; } } + + private static ImageList _moonPhaseImageList = GetImageList(MoonPhaseImages); + public static ImageList MoonPhaseImageList { get { return _moonPhaseImageList; } } + + private static ImageList _mapIconImageList = GetImageList(MapIconImages); + public static ImageList MapIconImageList { get { return _mapIconImageList; } } + + private static ImageList _additionalMapIconImageList = GetImageList(AdditionalMapIconImages); + public static ImageList AdditionalMapIconImageList { get { return _additionalMapIconImageList; } } + + private static ImageList _experienceOrbsImageList = GetImageList(ExperienceOrbImages); + public static ImageList ExperienceOrbImageList { get { return _experienceOrbsImageList; } } + + private static ImageList _explosionImageList = GetImageList(ExplosionImages); + public static ImageList ExplosionImageList { get { return _explosionImageList; } } + + private static ImageList _paintingImageList = GetImageList(PaintingImages); + public static ImageList PaintingImageList { get { return _paintingImageList; } } + + private static ImageList _bannerImageList = GetImageList(BannerImages); + public static ImageList BannerImageList { get { return _bannerImageList; } } } } diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 290b5c01..ebf74bfc 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -392,15 +392,72 @@ namespace PckStudio return; } - if (file.Filename == "res/terrain.png" || file.Filename == "res/items.png") + bool isTerrain = file.Filename == "res/terrain.png"; + bool isItems = file.Filename == "res/items.png"; + bool isParticles = file.Filename == "res/particles.png"; + bool isMoonPhases = file.Filename == "res/terrain/moon_phases.png"; + bool isMapIcons = file.Filename == "res/misc/mapicons.png"; + bool isAdditionalMapIcons = file.Filename == "res/misc/additionalmapicons.png"; + bool isXPOrbs = file.Filename == "res/item/xporb.png"; + bool isExplosions = file.Filename == "res/misc/explosion.png"; + bool isPaintings = file.Filename == "res/art/kz.png"; + bool isBanners = file.Filename == "res/item/banner/Banner_Atlas.png"; + + if ( + isTerrain || isItems || isParticles || isMoonPhases || isPaintings || + isMapIcons || isAdditionalMapIcons || isXPOrbs || isExplosions || isBanners + ) { var img = file.GetTexture(); - var res = img.Width / 16; // texture count on X axes - var size = new Size(res, res); - var viewer = new TextureAtlasEditor(currentPCK, file.Filename, img, size); + var tile_size = new Size(); + + var banner_scale = img.Width / Resources.banners_atlas.Width; + + if (isBanners) + { + // The banner atlas has extra space on it that has to be truncated for the editor + img = img.GetArea(new Rectangle(0, 0, img.Width - (4 * banner_scale), img.Height - (1 * banner_scale))); + + // banners are 42x41 because of course they are + tile_size = new Size(42 * banner_scale, 41 * banner_scale); + } + + // most atlases have 4 columns + var columnCount = isBanners ? 6 : 4; + + if (isTerrain || isItems || isParticles || isPaintings) columnCount = 16; + + if (!isBanners) + { + var resolution = img.Width / columnCount; + tile_size = new Size(resolution, resolution); + } + + var viewer = new TextureAtlasEditor(currentPCK, file.Filename, img, tile_size); if (viewer.ShowDialog() == DialogResult.OK) { - file.SetData(viewer.FinalTexture, ImageFormat.Png); + var texture = viewer.FinalTexture; + if(isBanners) + { + var graphicsConfig = new GraphicsConfig() + { + InterpolationMode = InterpolationMode.NearestNeighbor, + PixelOffsetMode = PixelOffsetMode.HighQuality + }; + + var _img = new Bitmap((Resources.banners_atlas.Width + 4) * banner_scale, + (Resources.banners_atlas.Height + 1) * banner_scale); + + using (var g = Graphics.FromImage(_img)) + { + g.ApplyConfig(graphicsConfig); + g.DrawImage(texture, 0, 0, texture.Width, texture.Height); + } + + texture = _img; + } + + file.SetData(texture, ImageFormat.Png); wasModified = true; BuildMainTreeView(); } diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 2d1966d1..112dceb3 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -140,6 +140,11 @@ + + True + True + Resources.resx + Component @@ -614,11 +619,6 @@ SettingsSingleFileGenerator Settings.Designer.cs - - True - True - Resources.resx - True Settings.settings @@ -629,7 +629,16 @@ - + + + + + + + + + + @@ -645,16 +654,13 @@ - - - @@ -680,7 +686,17 @@ - + + + + + + + + + + + diff --git a/PCK-Studio/Properties/Resources.Designer.cs b/PCK-Studio/Properties/Resources.Designer.cs index 88909123..f5d3c9f8 100644 --- a/PCK-Studio/Properties/Resources.Designer.cs +++ b/PCK-Studio/Properties/Resources.Designer.cs @@ -70,6 +70,16 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap additional_map_icons_atlas { + get { + object obj = ResourceManager.GetObject("additional_map_icons_atlas", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -90,6 +100,53 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized string similar to { + /// "COMMENT_1": "JSON by MattNL", + /// "banners": [ + /// { + /// "internalName": "base", + /// "displayName": "Base" + /// }, + /// { + /// "internalName": "border", + /// "displayName": "Bordure" + /// }, + /// { + /// "internalName": "bricks", + /// "displayName": "Field Masoned" + /// }, + /// { + /// "internalName": "circle", + /// "displayName": "Roundel" + /// }, + /// { + /// "internalName": "creeper", + /// "displayName": "Creeper Charge" + /// }, + /// { + /// "internalName": "cross", + /// "displayName": "Saltire" + /// }, + /// { + /// "internalName": "curly_bo [rest of string was truncated]";. + /// + public static string bannerData { + get { + return ResourceManager.GetString("bannerData", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap banners_atlas { + get { + object obj = ResourceManager.GetObject("banners_atlas", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -140,6 +197,38 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized string similar to { + /// "COMMENT_1": "Tile data research by MattNL", + /// "COMMENT_2": "JSON by PhoenixARC, MattNL, and NessieHax (Miku-666)", + /// "blocks": [ + /// { + /// "internalName": "grass_top", + /// "displayName": "Grass Block (Top)", + /// "hasColourEntry": true, + /// "colourEntry": { + /// "defaultName": "Grass_Common", + /// "variants": [ + /// "Grass_Common", + /// "Grass_Mesa", + /// "Grass_Swamp1", + /// "Grass_Swamp2" + /// ] + /// } + /// }, + /// { + /// "internalName": "stone", + /// "displayName": "Stone" + /// }, + /// { + /// "internalName": [rest of string was truncated]";. + /// + public static string blockData { + get { + return ResourceManager.GetString("blockData", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -235,9 +324,9 @@ namespace PckStudio.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap entities_sheet { + public static System.Drawing.Bitmap entities_atlas { get { - object obj = ResourceManager.GetObject("entities_sheet", resourceCulture); + object obj = ResourceManager.GetObject("entities_atlas", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -284,6 +373,87 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap experience_orbs_atlas { + get { + object obj = ResourceManager.GetObject("experience_orbs_atlas", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized string similar to { + /// "COMMENT_1": "JSON by MattNL", + /// "experience_orbs": [ + /// { + /// "internalName": "experience_orb_0", + /// "displayName": "Experience Orb (Size 1)", + /// "hasColourEntry": true, + /// "colourEntry": { + /// "defaultName": "experience_orb", + /// "variants": ["experience_orb"] + /// } + /// }, + /// { + /// "internalName": "experience_orb_1", + /// "displayName": "Experience Orb (Size 2)", + /// "hasColourEntry": true, + /// "colourEntry": { + /// "defaultName": "experience_orb", + /// "variants": ["experience_orb"] + /// } + /// }, + /// [rest of string was truncated]";. + /// + public static string experienceOrbData { + get { + return ResourceManager.GetString("experienceOrbData", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to { + /// "COMMENT_1": "JSON by MattNL", + /// "explosions": [ + /// { + /// "internalName": "explosion_0", + /// "displayName": "Explosion (Stage 1)", + /// "hasColourEntry": true, + /// "colourEntry": { + /// "defaultName": "Particle_Explode", + /// "variants": [ + /// "Particle_Explode", + /// "Particle_HugeExplosion" + /// ] + /// } + /// }, + /// { + /// "internalName": "explosion_1", + /// "displayName": "Explosion (Stage 2)", + /// "hasColourEntry": true, + /// "colourEntry": { + /// "defaultName": "Particle_Explode", + /// "variants": [ + /// [rest of string was truncated]";. + /// + public static string explosionData { + get { + return ResourceManager.GetString("explosionData", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap explosions_atlas { + get { + object obj = ResourceManager.GetObject("explosions_atlas", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -384,12 +554,40 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized string similar to { + /// "COMMENT_1": "Tile data research by MattNL", + /// "COMMENT_2": "JSON by PhoenixARC, MattNL, and NessieHax (Miku-666)", + /// "items": [ + /// { + /// "internalName": "helmetCloth", + /// "displayName": "Leather Cap", + /// "hasColourEntry": true, + /// "colourEntry": { + /// "hasCustomColour": true, + /// "defaultName": "Armour_Default_Leather_Colour", + /// "variants": [ "Armour_Default_Leather_Colour" ] + /// } + /// }, + /// { + /// "internalName": "helmetChain", + /// "displayName": "Chain Helmet" + /// }, + /// { + /// "internalName": "he [rest of string was truncated]";. + /// + public static string itemData { + get { + return ResourceManager.GetString("itemData", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap items_sheet { + public static System.Drawing.Bitmap items_atlas { get { - object obj = ResourceManager.GetObject("items_sheet", resourceCulture); + object obj = ResourceManager.GetObject("items_atlas", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -404,6 +602,53 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap map_icons_atlas { + get { + object obj = ResourceManager.GetObject("map_icons_atlas", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized string similar to { + /// "COMMENT_1": "JSON by MattNL", + /// "map_icons": [ + /// { + /// "internalName": "player_1", + /// "displayName": "Player 1" + /// }, + /// { + /// "internalName": "player_2", + /// "displayName": "Player 2" + /// }, + /// { + /// "internalName": "player_3", + /// "displayName": "Player 3" + /// }, + /// { + /// "internalName": "player_4", + /// "displayName": "Player 4" + /// }, + /// { + /// "internalName": "target_x", + /// "displayName": "Unused" + /// }, + /// { + /// "internalName": "target_point", + /// "displayName": "Target Point (Unused)" + /// }, + /// { + /// [rest of string was truncated]";. + /// + public static string mapIconData { + get { + return ResourceManager.GetString("mapIconData", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -414,6 +659,50 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap moon_phases_atlas { + get { + object obj = ResourceManager.GetObject("moon_phases_atlas", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized string similar to { + /// "COMMENT_1": "JSON by MattNL", + /// "moon_phases": [ + /// { + /// "internalName": "moon_phase_0", + /// "displayName": "Full Moon" + /// }, + /// { + /// "internalName": "moon_phase_1", + /// "displayName": "Waning Gibbous" + /// }, + /// { + /// "internalName": "moon_phase_2", + /// "displayName": "Last Quarter" + /// }, + /// { + /// "internalName": "moon_phase_3", + /// "displayName": "Waning Crescent" + /// }, + /// { + /// "internalName": "moon_phase_4", + /// "displayName": "New Moon" + /// }, + /// { + /// "internalName": "moon_phase_5", + /// "displayNa [rest of string was truncated]";. + /// + public static string moonPhaseData { + get { + return ResourceManager.GetString("moonPhaseData", resourceCulture); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// @@ -454,6 +743,87 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized string similar to { + /// "COMMENT_1": "JSON by MattNL", + /// "paintings": [ + /// { + /// "internalName": "Kebab", + /// "displayName": "\"Kebab med tre pepperoni\" by Kristoffer Zetterstrand" + /// }, + /// { + /// "internalName": "Aztec", + /// "displayName": "\"de_aztec\" by Kristoffer Zetterstrand" + /// }, + /// { + /// "internalName": "Alban", + /// "displayName": "\"Albanian\" by Kristoffer Zetterstrand" + /// }, + /// { + /// "internalName": "Aztec2", + /// "displayName": "\"de_aztec\" by Kristoffer Zetterstrand" + /// }, + /// { + /// "internalName": "Bomb", + /// "di [rest of string was truncated]";. + /// + public static string paintingData { + get { + return ResourceManager.GetString("paintingData", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap paintings_atlas { + get { + object obj = ResourceManager.GetObject("paintings_atlas", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized string similar to { + /// "COMMENT_1": "JSON by MattNL", + /// "particles": [ + /// { + /// "internalName": "generic_0", + /// "displayName": "Generic (Stage 1)", + /// "hasColourEntry": true, + /// "colourEntry": { + /// "defaultName": "None", + /// "variants": [ + /// "None", + /// "Particle_Smoke", + /// "Particle_NetherPortal", + /// "Particle_EnderPortal", + /// "Particle_Ender", + /// "Particle_DragonBreathMin", + /// "Particle_DragonBreathMax" + /// ] + /// } + /// }, + /// { + /// "internalName": "generic_1", + /// "displayName": "Generic (Stage 2)", [rest of string was truncated]";. + /// + public static string particleData { + get { + return ResourceManager.GetString("particleData", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap particles_atlas { + get { + object obj = ResourceManager.GetObject("particles_atlas", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -587,9 +957,9 @@ namespace PckStudio.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - public static System.Drawing.Bitmap terrain_sheet { + public static System.Drawing.Bitmap terrain_atlas { get { - object obj = ResourceManager.GetObject("terrain_sheet", resourceCulture); + object obj = ResourceManager.GetObject("terrain_atlas", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -614,40 +984,6 @@ namespace PckStudio.Properties { } } - /// - /// Looks up a localized string similar to { - /// "COMMENT_1": "Tile data research by MattNL", - /// "COMMENT_2": "JSON conversion by PhoenixARC", - /// "blocks": [ - /// { - /// "internalName": "grass_top", - /// "displayName": "Grass Block (Top)" - /// }, - /// { - /// "internalName": "stone", - /// "displayName": "Stone" - /// }, - /// { - /// "internalName": "dirt", - /// "displayName": "Dirt" - /// }, - /// { - /// "internalName": "grass_side", - /// "displayName": "Grass Block (Side)" - /// }, - /// { - /// "internalName": "planks_oak", - /// "displayName": "Oak Planks" - /// }, - /// { - /// "internalName": [rest of string was truncated]";. - /// - public static string tileData { - get { - return ResourceManager.GetString("tileData", resourceCulture); - } - } - /// /// Looks up a localized resource of type System.Byte[]. /// diff --git a/PCK-Studio/Properties/Resources.resx b/PCK-Studio/Properties/Resources.resx index 58f5451c..52fb4d8c 100644 --- a/PCK-Studio/Properties/Resources.resx +++ b/PCK-Studio/Properties/Resources.resx @@ -172,9 +172,6 @@ ..\Resources\iconImageList\GRH ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\tileData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - ..\Resources\pckClosed.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -226,8 +223,8 @@ ..\Resources\iconImageList\INFO ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\terrain.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\terrain.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\fileTemplates\tu53colours.col;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -235,8 +232,8 @@ ..\Resources\icons\clock.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\items.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\items.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\..\CHANGELOG.md;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 @@ -280,11 +277,11 @@ ..\Resources\iconImageList\blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\entities.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\entities.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\entityData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + ..\Resources\atlases\entityData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 ..\Resources\icons\file_delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -328,4 +325,55 @@ ..\..\ProjectLogo.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\moon_phases.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\additional_mapicons.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\map_icons.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\experience_orbs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\blockData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\experienceOrbData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\explosionData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\explosion.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\itemData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\mapIconData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\moonPhaseData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\particleData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\particles.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\bannerData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Resources\atlases\banners.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\paintingData.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + + + ..\Resources\atlases\paintings.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/PCK-Studio/Resources/atlases/additional_mapicons.png b/PCK-Studio/Resources/atlases/additional_mapicons.png new file mode 100644 index 00000000..11b7256a Binary files /dev/null and b/PCK-Studio/Resources/atlases/additional_mapicons.png differ diff --git a/PCK-Studio/Resources/atlases/bannerData.json b/PCK-Studio/Resources/atlases/bannerData.json new file mode 100644 index 00000000..f5f347a8 --- /dev/null +++ b/PCK-Studio/Resources/atlases/bannerData.json @@ -0,0 +1,1031 @@ +{ + "COMMENT_1": "JSON by MattNL", + "entries": [ + { + "internalName": "base", + "displayName": "Base", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "border", + "displayName": "Bordure", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "bricks", + "displayName": "Field Masoned", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "circle", + "displayName": "Roundel", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "creeper", + "displayName": "Creeper Charge", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "cross", + "displayName": "Saltire", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "curly_border", + "displayName": "Bordure Indented", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "diagonal_left", + "displayName": "Per Bend Sinister", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "diagonal_right", + "displayName": "Per Bend", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "diagonal_up_left", + "displayName": "Per Bend Inverted", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "diagonal_up_right", + "displayName": "Per Bend Sinister Inverted", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "flower", + "displayName": "Flower Charge", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "gradient", + "displayName": "Gradient", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "gradient_up", + "displayName": "Base Gradient", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "half_horizontal", + "displayName": "Per Fess", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "half_horizontal_bottom", + "displayName": "Per Fess Inverted", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "half_vertical", + "displayName": "Per Pale", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "half_vertical_right", + "displayName": "Per Pale Inverted", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "mojang", + "displayName": "Thing", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "rhombus", + "displayName": "Lozenge", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "skull", + "displayName": "Skull Charge", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "small_stripes", + "displayName": "Paly", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "square_bottom_left", + "displayName": "Base Dexter Canton", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "square_bottom_right", + "displayName": "Base Sinister Canton", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "square_top_left", + "displayName": "Chief Dexter Canton", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "square_top_right", + "displayName": "Chief Sinister Canton", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "straight_cross", + "displayName": "Cross", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "stripe_bottom", + "displayName": "Base Fess", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "stripe_center", + "displayName": "Pale", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "strip_downleft", + "displayName": "Bend Sinister", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "stripe_downright", + "displayName": "Bend", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "stripe_left", + "displayName": "Pale Dexter", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "stripe_middle", + "displayName": "Fess", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "stripe_right", + "displayName": "Pale Sinister", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "stripe_top", + "displayName": "Chief Fess", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "triangle_bottom", + "displayName": "Chevron", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "triangle_top", + "displayName": "Inverted Chevron", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "triangles_bottom", + "displayName": "Base Indented", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "triangles_top", + "displayName": "Chief Indented", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Banner_White", + "variants": [ + "Banner_Black", + "Banner_Blue", + "Banner_Brown", + "Banner_Cyan", + "Banner_Gray", + "Banner_Green", + "Banner_Light_Blue", + "Banner_Lime", + "Banner_Magenta", + "Banner_Orange", + "Banner_Pink", + "Banner_Purple", + "Banner_Red", + "Banner_Silver", + "Banner_White", + "Banner_Yellow" + ] + } + }, + { + "internalName": "mask", + "displayName": "Mask" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + } + ] +} diff --git a/PCK-Studio/Resources/atlases/banners.png b/PCK-Studio/Resources/atlases/banners.png new file mode 100644 index 00000000..38c8d9aa Binary files /dev/null and b/PCK-Studio/Resources/atlases/banners.png differ diff --git a/PCK-Studio/Resources/tileData.json b/PCK-Studio/Resources/atlases/blockData.json similarity index 71% rename from PCK-Studio/Resources/tileData.json rename to PCK-Studio/Resources/atlases/blockData.json index d617d7a5..c2cb1b8f 100644 --- a/PCK-Studio/Resources/tileData.json +++ b/PCK-Studio/Resources/atlases/blockData.json @@ -1,13 +1,12 @@ { "COMMENT_1": "Tile data research by MattNL", "COMMENT_2": "JSON by PhoenixARC, MattNL, and NessieHax (Miku-666)", - "blocks": [ + "entries": [ { "internalName": "grass_top", "displayName": "Grass Block (Top)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Grass_Common", "variants": [ "Grass_Common", @@ -170,7 +169,6 @@ "displayName": "Grass Side (Overlay)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Grass_Common", "variants": [ "Grass_Common", @@ -185,7 +183,6 @@ "displayName": "Tall Grass", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Grass_Common", "variants": [ "Grass_Common", @@ -248,7 +245,6 @@ "displayName": "Oak Leaves", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Default", "variants": [ "Foliage_Default", @@ -264,7 +260,6 @@ "displayName": "Oak Leaves (Opaque)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Default", "variants": [ "Foliage_Default", @@ -288,7 +283,6 @@ "displayName": "Fern", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Grass_Common", "variants": [ "Grass_Common", @@ -524,7 +518,6 @@ "displayName": "Stem", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Tile_StemMin", "variants": [ "Tile_StemMin", @@ -597,7 +590,6 @@ "displayName": "Stem (Attached)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Tile_StemMin", "variants": [ "Tile_StemMin", @@ -626,7 +618,6 @@ "displayName": "Spruce Leaves", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Evergreen", "variants": [ "Foliage_Default", @@ -642,7 +633,6 @@ "displayName": "Spruce Leaves (Opaque)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Evergreen", "variants": [ "Foliage_Default", @@ -694,7 +684,6 @@ "displayName": "Vines", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Default", "variants": [ "Foliage_Default", @@ -790,7 +779,6 @@ "displayName": "Redstone Dust (Cross)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Tile_RedstoneDust", "variants": [ "Tile_RedstoneDust", @@ -805,7 +793,6 @@ "displayName": "Redstone Dust (Line)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Tile_RedstoneDust", "variants": [ "Tile_RedstoneDust", @@ -940,7 +927,6 @@ "displayName": "Jungle Leaves", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Default", "variants": [ "Foliage_Default", @@ -956,7 +942,6 @@ "displayName": "Jungle Leaves (Opaque)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Default", "variants": [ "Foliage_Default", @@ -1050,6 +1035,8 @@ "internalName": "water_flow", "displayName": "Flowing Water", "hasColourEntry": true, + "width": 2, + "height": 2, "colourEntry": { "isWaterColour": true, "defaultName": "Water_Plains", @@ -1223,7 +1210,9 @@ }, { "internalName": "lava_flow", - "displayName": "Flowing Lava" + "displayName": "Flowing Lava", + "width": 2, + "height": 2 }, { "internalName": "lava_flow", @@ -1554,7 +1543,6 @@ "displayName": "Large Fern (Top)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Grass_Common", "variants": [ "Grass_Common", @@ -1569,7 +1557,6 @@ "displayName": "Double Tall Grass (Top)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Grass_Common", "variants": [ "Grass_Common", @@ -1620,7 +1607,6 @@ "displayName": "Acacia Leaves", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Default", "variants": [ "Foliage_Default", @@ -1636,7 +1622,6 @@ "displayName": "Acacia Leaves (Opaque)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Default", "variants": [ "Foliage_Default", @@ -1664,7 +1649,6 @@ "displayName": "Large Fern (Bottom)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Grass_Common", "variants": [ "Grass_Common", @@ -1679,7 +1663,6 @@ "displayName": "Double Tall Grass (Bottom)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Grass_Common", "variants": [ "Grass_Common", @@ -1730,7 +1713,6 @@ "displayName": "Dark Oak Leaves", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Default", "variants": [ "Foliage_Default", @@ -1746,7 +1728,6 @@ "displayName": "Dark Oak Leaves (Opaque)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Default", "variants": [ "Foliage_Default", @@ -1818,7 +1799,6 @@ "displayName": "Birch Leaves", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Birch", "variants": [ "Foliage_Default", @@ -1834,7 +1814,6 @@ "displayName": "Birch Leaves (Opaque)", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, "defaultName": "Foliage_Birch", "variants": [ "Foliage_Default", @@ -2307,18 +2286,40 @@ }, { "internalName": "shulker_top", - "displayName": "Shulker Box (Break Particles)" + "displayName": "Shulker Box (Break Particles)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Shulker_Box_Purple", + "variants": [ + "Shulker_Box_Black", + "Shulker_Box_Blue", + "Shulker_Box_Brown", + "Shulker_Box_Cyan", + "Shulker_Box_Grey", + "Shulker_Box_Green", + "Shulker_Box_Light_Blue", + "Shulker_Box_Light_Green", + "Shulker_Box_Magenta", + "Shulker_Box_Orange", + "Shulker_Box_Pink", + "Shulker_Box_Purple", + "Shulker_Box_Red", + "Shulker_Box_Silver", + "Shulker_Box_White", + "Shulker_Box_Yellow" + ] + } }, { - "internalName": "", - "displayName": "" + "internalName": "shulker_top_overlay", + "displayName": "Shulker Box (Break Particles) (Overlay) (Unused)" }, { "internalName": "cauldron_water", "displayName": "Cauldron Water", "hasColourEntry": true, "colourEntry": { - "isWaterColour": false, + "hasCustomColour": true, "defaultName": "Cauldron_Water", "variants": [ "Cauldron_Water", @@ -2917,1248 +2918,5 @@ "internalName": "", "displayName": "" } - ], - "items": [ - { - "internalName": "helmetCloth", - "displayName": "Leather Cap", - "hasColourEntry": true, - "colourEntry": { - "isWaterColour": false, - "defaultName": "Armour_Default_Leather_Colour", - "variants": [ "Armour_Default_Leather_Colour" ] - } - }, - { - "internalName": "helmetChain", - "displayName": "Chain Helmet" - }, - { - "internalName": "helmetIron", - "displayName": "Iron Helmet" - }, - { - "internalName": "helmetDiamond", - "displayName": "Diamond Helmet" - }, - { - "internalName": "helmetGold", - "displayName": "Golden Helmet" - }, - { - "internalName": "flintAndSteel", - "displayName": "Flint and Steel" - }, - { - "internalName": "flint", - "displayName": "Flint" - }, - { - "internalName": "coal", - "displayName": "Coal" - }, - { - "internalName": "string", - "displayName": "String" - }, - { - "internalName": "seeds", - "displayName": "Seeds" - }, - { - "internalName": "apple", - "displayName": "Apple" - }, - { - "internalName": "appleGold", - "displayName": "Golden Apple" - }, - { - "internalName": "egg", - "displayName": "Egg" - }, - { - "internalName": "sugar", - "displayName": "Sugar" - }, - { - "internalName": "snowball", - "displayName": "Snowball" - }, - { - "internalName": "elytra", - "displayName": "Elytra" - }, - { - "internalName": "chestplateCloth", - "displayName": "Leather Tunic", - "hasColourEntry": true, - "colourEntry": { - "isWaterColour": false, - "defaultName": "Armour_Default_Leather_Colour", - "variants": [ "Armour_Default_Leather_Colour" ] - } - }, - { - "internalName": "chestplateChain", - "displayName": "Chain Chestplate" - }, - { - "internalName": "chestplateIron", - "displayName": "Iron Chestplate" - }, - { - "internalName": "chestplateDiamond", - "displayName": "Diamond Chestplate" - }, - { - "internalName": "chestplateGold", - "displayName": "Golden Chestplate" - }, - { - "internalName": "bow", - "displayName": "Bow" - }, - { - "internalName": "brick", - "displayName": "Brick" - }, - { - "internalName": "ingotIron", - "displayName": "Iron Ingot" - }, - { - "internalName": "feather", - "displayName": "Feather" - }, - { - "internalName": "wheat", - "displayName": "Wheat" - }, - { - "internalName": "painting", - "displayName": "Painting" - }, - { - "internalName": "reeds", - "displayName": "Sugar Canes" - }, - { - "internalName": "bone", - "displayName": "Bone" - }, - { - "internalName": "cake", - "displayName": "Cake" - }, - { - "internalName": "slimeball", - "displayName": "Slimeball" - }, - { - "internalName": "broken_elytra", - "displayName": "Elytra (Broken)" - }, - { - "internalName": "leggingsCloth", - "displayName": "Leather Pants", - "hasColourEntry": true, - "colourEntry": { - "isWaterColour": false, - "defaultName": "Armour_Default_Leather_Colour", - "variants": [ "Armour_Default_Leather_Colour" ] - } - }, - { - "internalName": "leggingsChain", - "displayName": "Chain Leggings" - }, - { - "internalName": "leggingsIron", - "displayName": "Iron Leggings" - }, - { - "internalName": "leggingsDiamond", - "displayName": "Diamond Leggings" - }, - { - "internalName": "leggingsGold", - "displayName": "Golden Leggings" - }, - { - "internalName": "arrow", - "displayName": "Arrow" - }, - { - "internalName": "end_crystal", - "displayName": "End Crystal" - }, - { - "internalName": "ingotGold", - "displayName": "Gold Ingot" - }, - { - "internalName": "sulphur", - "displayName": "Gunpowder" - }, - { - "internalName": "bread", - "displayName": "Bread" - }, - { - "internalName": "sign", - "displayName": "Oak Sign" - }, - { - "internalName": "doorWood", - "displayName": "Oak Door" - }, - { - "internalName": "doorIron", - "displayName": "Iron Door" - }, - { - "internalName": "bed", - "displayName": "Bed" - }, - { - "internalName": "fireball", - "displayName": "Fire Charge" - }, - { - "internalName": "chorus_fruit", - "displayName": "Chorus Fruit" - }, - { - "internalName": "bootsCloth", - "displayName": "Leather Boots", - "hasColourEntry": true, - "colourEntry": { - "isWaterColour": false, - "defaultName": "Armour_Default_Leather_Colour", - "variants": [ "Armour_Default_Leather_Colour" ] - } - }, - { - "internalName": "bootsChain", - "displayName": "Chain Boots" - }, - { - "internalName": "bootsIron", - "displayName": "Iron Boots" - }, - { - "internalName": "bootsDiamond", - "displayName": "Diamond Boots" - }, - { - "internalName": "bootsGold", - "displayName": "Golden Boots" - }, - { - "internalName": "stick", - "displayName": "Stick" - }, - { - "internalName": "compass", - "displayName": "Compass" - }, - { - "internalName": "diamond", - "displayName": "Diamond" - }, - { - "internalName": "redstone", - "displayName": "Redstone" - }, - { - "internalName": "clay", - "displayName": "Clay" - }, - { - "internalName": "paper", - "displayName": "Paper" - }, - { - "internalName": "book", - "displayName": "Book" - }, - { - "internalName": "map", - "displayName": "Map" - }, - { - "internalName": "seeds_pumpkin", - "displayName": "Pumpkin Seeds" - }, - { - "internalName": "seeds_melon", - "displayName": "Melon Seeds" - }, - { - "internalName": "chorus_fruit_popped", - "displayName": "Popped Chorus Fruit" - }, - { - "internalName": "swordWood", - "displayName": "Wooden Sword" - }, - { - "internalName": "swordStone", - "displayName": "Stone Sword" - }, - { - "internalName": "swordIron", - "displayName": "Iron Sword" - }, - { - "internalName": "swordDiamond", - "displayName": "Diamond Sword" - }, - { - "internalName": "swordGold", - "displayName": "Golden Sword" - }, - { - "internalName": "fishingRod_uncast", - "displayName": "Fishing Rod" - }, - { - "internalName": "clock", - "displayName": "Clock" - }, - { - "internalName": "bowl", - "displayName": "Bowl" - }, - { - "internalName": "mushroomStew", - "displayName": "Mushroom Stew" - }, - { - "internalName": "yellowDust", - "displayName": "Glowstone Dust" - }, - { - "internalName": "bucket", - "displayName": "Bucket" - }, - { - "internalName": "bucketWater", - "displayName": "Water Bucket" - }, - { - "internalName": "bucketLava", - "displayName": "Lava Bucket" - }, - { - "internalName": "milk", - "displayName": "Milk Bucket" - }, - { - "internalName": "dyePowder_black", - "displayName": "Ink Sac" - }, - { - "internalName": "dyePowder_gray", - "displayName": "Gray Dye" - }, - { - "internalName": "shovelWood", - "displayName": "Wooden Shovel" - }, - { - "internalName": "shovelStone", - "displayName": "Stone Shovel" - }, - { - "internalName": "shovelIron", - "displayName": "Iron Shovel" - }, - { - "internalName": "shovelDiamond", - "displayName": "Diamond Shovel" - }, - { - "internalName": "shovelGold", - "displayName": "Golden Shovel" - }, - { - "internalName": "fishingRod_cast", - "displayName": "Fishing Rod (Cast)" - }, - { - "internalName": "diode", - "displayName": "Redstone Repeater" - }, - { - "internalName": "porkchopRaw", - "displayName": "Raw Porkchop" - }, - { - "internalName": "porkchopCooked", - "displayName": "Cooked Porkchop" - }, - { - "internalName": "fishRaw", - "displayName": "Raw Cod" - }, - { - "internalName": "fishCooked", - "displayName": "Cooked Cod" - }, - { - "internalName": "rottenFlesh", - "displayName": "Rotten Flesh" - }, - { - "internalName": "cookie", - "displayName": "Cookie" - }, - { - "internalName": "shears", - "displayName": "Shears" - }, - { - "internalName": "dyePowder_red", - "displayName": "Rose Red" - }, - { - "internalName": "dyePowder_pink", - "displayName": "Pink Dye" - }, - { - "internalName": "pickaxeWood", - "displayName": "Wooden Pickaxe" - }, - { - "internalName": "pickaxeStone", - "displayName": "Stone Pickaxe" - }, - { - "internalName": "pickaxeIron", - "displayName": "Iron Pickaxe" - }, - { - "internalName": "pickaxeDiamond", - "displayName": "Diamond Pickaxe" - }, - { - "internalName": "pickaxeGold", - "displayName": "Golden Pickaxe" - }, - { - "internalName": "bow_pull_0", - "displayName": "Bow (Pulling Stage 1)" - }, - { - "internalName": "carrotOnAStick", - "displayName": "Carrot on a Stick" - }, - { - "internalName": "leather", - "displayName": "Leather" - }, - { - "internalName": "saddle", - "displayName": "Saddle" - }, - { - "internalName": "beefRaw", - "displayName": "Raw Beef" - }, - { - "internalName": "beefCooked", - "displayName": "Steak" - }, - { - "internalName": "enderPearl", - "displayName": "Ender Pearl" - }, - { - "internalName": "blazeRod", - "displayName": "Blaze Rod" - }, - { - "internalName": "melon", - "displayName": "Melon Slice" - }, - { - "internalName": "dyePowder_green", - "displayName": "Cactus Green" - }, - { - "internalName": "dyePowder_lime", - "displayName": "Lime Dye" - }, - { - "internalName": "hatchetWood", - "displayName": "Wooden Axe" - }, - { - "internalName": "hatchetStone", - "displayName": "Stone Axe" - }, - { - "internalName": "hatchetIron", - "displayName": "Iron Axe" - }, - { - "internalName": "hatchetDiamond", - "displayName": "Diamond Axe" - }, - { - "internalName": "hatchetGold", - "displayName": "Golden Axe" - }, - { - "internalName": "bow_pull_1", - "displayName": "Bow (Pulling Stage 2)" - }, - { - "internalName": "potatoBaked", - "displayName": "Baked Potato" - }, - { - "internalName": "potato", - "displayName": "Potato" - }, - { - "internalName": "carrots", - "displayName": "Carrot" - }, - { - "internalName": "chickenRaw", - "displayName": "Raw Chicken" - }, - { - "internalName": "chickenCooked", - "displayName": "Cooked Chicken" - }, - { - "internalName": "ghastTear", - "displayName": "Ghast Tear" - }, - { - "internalName": "goldNugget", - "displayName": "Gold Nugget" - }, - { - "internalName": "netherStalkSeeds", - "displayName": "Nether Wart" - }, - { - "internalName": "dyePowder_brown", - "displayName": "Cocoa Beans" - }, - { - "internalName": "dyePowder_yellow", - "displayName": "Dandelion Yellow" - }, - { - "internalName": "hoeWood", - "displayName": "Wooden Hoe" - }, - { - "internalName": "hoeStone", - "displayName": "Stone Hoe" - }, - { - "internalName": "hoeIron", - "displayName": "Iron Hoe" - }, - { - "internalName": "hoeDiamond", - "displayName": "Diamond Hoe" - }, - { - "internalName": "hoeGold", - "displayName": "Golden Hoe" - }, - { - "internalName": "bow_pull_2", - "displayName": "Bow (Pulling Stage 3)" - }, - { - "internalName": "potatoPoisonous", - "displayName": "Poisonous Potato" - }, - { - "internalName": "minecart", - "displayName": "Minecart" - }, - { - "internalName": "boat", - "displayName": "Oak Boat" - }, - { - "internalName": "speckledMelon", - "displayName": "Glistering Melon" - }, - { - "internalName": "fermentedSpiderEye", - "displayName": "Fermented Spider Eye" - }, - { - "internalName": "spiderEye", - "displayName": "Spider Eye" - }, - { - "internalName": "glassBottle", - "displayName": "Glass Bottle" - }, - { - "internalName": "potion_contents", - "displayName": "Potion (Overlay)", - "hasColourEntry": true, - "colourEntry": { - "isWaterColour": false, - "defaultName": "Potion_BaseColour", - "variants": [ - "Potion_BaseColour", - "Effect_MovementSpeed", - "Effect_MovementSlowDown", - "Effect_DigSpeed", - "Effect_DigSlowdown", - "Effect_DamageBoost", - "Effect_Heal", - "Effect_Harm", - "Effect_Jump", - "Effect_Confusion", - "Effect_Regeneration", - "Effect_DamageResistance", - "Effect_FireResistance", - "Effect_WaterBreathing", - "Effect_Invisibility", - "Effect_Blindness", - "Effect_NightVision", - "Effect_Hunger", - "Effect_Weakness", - "Effect_Poison", - "Effect_Wither", - "Effect_HealthBoost", - "Effect_Absorption", - "Effect_Saturation", - "Effect_Levitation", - "Effect_Luck", - "Effect_BadLuck", - "Effect_TurtleMaster", - "Effect_SlowFall" - ] - } - }, - { - "internalName": "dyePowder_blue", - "displayName": "Lapis Lazuli" - }, - { - "internalName": "dyePowder_light_blue", - "displayName": "Light Blue Dye" - }, - { - "internalName": "helmetCloth_overlay", - "displayName": "Leather Cap (Overlay)" - }, - { - "internalName": "spectral_arrow", - "displayName": "Spectral Arrow" - }, - { - "internalName": "iron_horse_armor", - "displayName": "Iron Horse Armor" - }, - { - "internalName": "diamond_horse_armor", - "displayName": "Diamond Horse Armor" - }, - { - "internalName": "gold_horse_armor", - "displayName": "Gold Horse Armor" - }, - { - "internalName": "comparator", - "displayName": "Redstone Comparator" - }, - { - "internalName": "carrotGolden", - "displayName": "Golden Carrot" - }, - { - "internalName": "minecart_chest", - "displayName": "Minecart with Chest" - }, - { - "internalName": "pumpkinPie", - "displayName": "Pumpkin Pie" - }, - { - "internalName": "monsterPlacer", - "displayName": "Spawn Egg" - }, - { - "internalName": "potion_splash", - "displayName": "Splash Potion" - }, - { - "internalName": "eyeOfEnder", - "displayName": "Eye of Ender" - }, - { - "internalName": "cauldron", - "displayName": "Cauldron" - }, - { - "internalName": "blazePowder", - "displayName": "Blaze Powder" - }, - { - "internalName": "dyePowder_purple", - "displayName": "Purple Dye" - }, - { - "internalName": "dyePowder_magenta", - "displayName": "Magenta Dye" - }, - { - "internalName": "chestplateCloth_overlay", - "displayName": "Leather Tunic (Overlay)" - }, - { - "internalName": "tipped_arrow_base", - "displayName": "Tipped Arrow" - }, - { - "internalName": "dragon_breath", - "displayName": "Dragon's Breath" - }, - { - "internalName": "name_tag", - "displayName": "Name Tag" - }, - { - "internalName": "lead", - "displayName": "Lead" - }, - { - "internalName": "netherbrick", - "displayName": "Nether Brick" - }, - { - "internalName": "fish_clownfish_raw", - "displayName": "Tropical Fish" - }, - { - "internalName": "minecart_furnace", - "displayName": "Minecart with Furnace" - }, - { - "internalName": "charcoal", - "displayName": "Charcoal" - }, - { - "internalName": "monsterPlacer_overlay", - "displayName": "Spawn Egg (Overlay)" - }, - { - "internalName": "bed_overlay", - "displayName": "Bed (Overlay)", - "hasColourEntry": true, - "colourEntry": { - "isWaterColour": false, - "defaultName": "Bed_White", - "variants": [ - "Bed_Black", - "Bed_Blue", - "Bed_Brown", - "Bed_Cyan", - "Bed_Grey", - "Bed_Green", - "Bed_Light_Blue", - "Bed_Lime", - "Bed_Magenta", - "Bed_Orange", - "Bed_Pink", - "Bed_Purple", - "Bed_Red", - "Bed_Silver", - "Bed_White", - "Bed_Yellow" - ] - } - }, - { - "internalName": "expBottle", - "displayName": "Bottle o'Enchanting" - }, - { - "internalName": "brewingStand", - "displayName": "Brewing Stand" - }, - { - "internalName": "magmaCream", - "displayName": "Magma Cream" - }, - { - "internalName": "dyePowder_cyan", - "displayName": "Cyan Dye" - }, - { - "internalName": "dyePowder_orange", - "displayName": "Orange Dye" - }, - { - "internalName": "leggingsCloth_overlay", - "displayName": "Leather Pants (Overlay)" - }, - { - "internalName": "tipped_arrow_head", - "displayName": "Tipped Arrow (Overlay)" - }, - { - "internalName": "potion_bottle_lingering", - "displayName": "Lingering Potion" - }, - { - "internalName": "barrier", - "displayName": "debug_fourj_item" - }, - { - "internalName": "mutton_raw", - "displayName": "Raw Mutton" - }, - { - "internalName": "rabbit_raw", - "displayName": "Raw Rabbit" - }, - { - "internalName": "fish_pufferfish_raw", - "displayName": "Pufferfish" - }, - { - "internalName": "minecart_hopper", - "displayName": "Minecart with Hopper" - }, - { - "internalName": "hopper", - "displayName": "Hopper" - }, - { - "internalName": "nether_star", - "displayName": "Nether Star" - }, - { - "internalName": "emerald", - "displayName": "Emerald" - }, - { - "internalName": "writingBook", - "displayName": "Book and Quill" - }, - { - "internalName": "writtenBook", - "displayName": "Written Book" - }, - { - "internalName": "flowerPot", - "displayName": "Flower Pot" - }, - { - "internalName": "dyePowder_silver", - "displayName": "Light Gray Dye" - }, - { - "internalName": "dyePowder_white", - "displayName": "Bone Meal" - }, - { - "internalName": "bootsCloth_overlay", - "displayName": "Leather Boots (Overlay)" - }, - { - "internalName": "beetroot", - "displayName": "Beetroot" - }, - { - "internalName": "beetroot_seeds", - "displayName": "Beetroot Seeds" - }, - { - "internalName": "beetroot_soup", - "displayName": "Beetroot Soup" - }, - { - "internalName": "mutton_cooked", - "displayName": "Cooked Mutton" - }, - { - "internalName": "rabbit_cooked", - "displayName": "Cooked Rabbit" - }, - { - "internalName": "fish_salmon_raw", - "displayName": "Raw Salmon" - }, - { - "internalName": "minecart_tnt", - "displayName": "Minecart with TNT" - }, - { - "internalName": "wooden_armorstand", - "displayName": "Armor Stand" - }, - { - "internalName": "fireworks", - "displayName": "Firework Rocket" - }, - { - "internalName": "fireworks_charge", - "displayName": "Firework Star" - }, - { - "internalName": "fireworks_charge_overlay", - "displayName": "Firework Star (Overlay)" - }, - { - "internalName": "netherquartz", - "displayName": "Nether Quartz" - }, - { - "internalName": "map_empty", - "displayName": "Empty Map" - }, - { - "internalName": "frame", - "displayName": "Item Frame" - }, - { - "internalName": "enchantedBook", - "displayName": "Enchanted Book" - }, - { - "internalName": "door_acacia", - "displayName": "Acacia Door" - }, - { - "internalName": "door_birch", - "displayName": "Birch Door" - }, - { - "internalName": "door_dark_oak", - "displayName": "Dark Oak Door" - }, - { - "internalName": "door_jungle", - "displayName": "Jungle Door" - }, - { - "internalName": "door_spruce", - "displayName": "Spruce Door" - }, - { - "internalName": "rabbit_stew", - "displayName": "Rabbit Stew" - }, - { - "internalName": "fish_salmon_cooked", - "displayName": "Cooked Salmon" - }, - { - "internalName": "minecart_command_block", - "displayName": "Minecart with Command Block" - }, - { - "internalName": "acacia_boat", - "displayName": "Acacia Boat" - }, - { - "internalName": "birch_boat", - "displayName": "Birch Boat" - }, - { - "internalName": "dark_oak_boat", - "displayName": "Dark Oak Boat" - }, - { - "internalName": "jungle_boat", - "displayName": "Jungle Boat" - }, - { - "internalName": "spruce_boat", - "displayName": "Spruce Boat" - }, - { - "internalName": "prismarine_shard", - "displayName": "Prismarine Shard" - }, - { - "internalName": "prismarine_crystals", - "displayName": "Prismarine Crystals" - }, - { - "internalName": "leather_horse_armor_base", - "displayName": "Leather Horse Armor", - "hasColourEntry": true, - "colourEntry": { - "isWaterColour": false, - "defaultName": "Armour_Default_Leather_Colour", - "variants": [ "Armour_Default_Leather_Colour" ] - } - }, - { - "internalName": "structure_void", - "displayName": "Structure Void" - }, - { - "internalName": "map_filled_markings", - "displayName": "Filled Map (Overlay)" - }, - { - "internalName": "totem", - "displayName": "Totem of Undying" - }, - { - "internalName": "shulker_shell", - "displayName": "Shulker Shell" - }, - { - "internalName": "iron_nugget", - "displayName": "Iron Nugget" - }, - { - "internalName": "rabbit_foot", - "displayName": "Rabbit's Foot" - }, - { - "internalName": "rabbit_hide", - "displayName": "Rabbit Hide" - }, - { - "internalName": "compass", - "displayName": "Compass" - }, - { - "internalName": "", - "displayName": "" - }, - { - "internalName": "", - "displayName": "" - }, - { - "internalName": "", - "displayName": "" - }, - { - "internalName": "clock", - "displayName": "Clock" - }, - { - "internalName": "", - "displayName": "" - }, - { - "internalName": "", - "displayName": "" - }, - { - "internalName": "", - "displayName": "" - }, - { - "internalName": "dragonFireball", - "displayName": "Dragon Fireball" - }, - { - "internalName": "record_13", - "displayName": "Music Disc (C418 - 13)" - }, - { - "internalName": "record_cat", - "displayName": "Music Disc (C418 - cat)" - }, - { - "internalName": "record_blocks", - "displayName": "Music Disc (C418 - blocks)" - }, - { - "internalName": "record_chirp", - "displayName": "Music Disc (C418 - chirp)" - }, - { - "internalName": "record_far", - "displayName": "Music Disc (C418 - far)" - }, - { - "internalName": "record_mall", - "displayName": "Music Disc (C418 - mall)" - }, - { - "internalName": "record_mellohi", - "displayName": "Music Disc (C418 - mellohi)" - }, - { - "internalName": "record_stal", - "displayName": "Music Disc (C418 - stal)" - }, - { - "internalName": "record_strad", - "displayName": "Music Disc (C418 - strad)" - }, - { - "internalName": "record_ward", - "displayName": "Music Disc (C418 - ward)" - }, - { - "internalName": "record_11", - "displayName": "Music Disc (C418 - 11)" - }, - { - "internalName": "record_where are we now", - "displayName": "Music Disc (C418 - wait)" - }, - { - "internalName": "bucketFish", - "displayName": "Bucket of Cod" - }, - { - "internalName": "bucketSalmon", - "displayName": "Bucket of Salmon" - }, - { - "internalName": "bucketPuffer", - "displayName": "Bucket of Pufferfish" - }, - { - "internalName": "bucketTropical", - "displayName": "Bucket of Tropical Fish" - }, - { - "internalName": "leather_horse_armor_detail", - "displayName": "Leather Horse Armor (Overlay)" - }, - { - "internalName": "dyePowder_black1", - "displayName": "Black Dye [PS4 ONLY]" - }, - { - "internalName": "dyePowder_blue1", - "displayName": "Blue Dye [PS4 ONLY]" - }, - { - "internalName": "dyePowder_brown1", - "displayName": "Brown Dye [PS4 ONLY]" - }, - { - "internalName": "dyePowder_white1", - "displayName": "White Dye [PS4 ONLY]" - }, - { - "internalName": "bamboo", - "displayName": "Bamboo [PS4 ONLY]" - }, - { - "internalName": "lantern_carried", - "displayName": "Lantern [PS4 ONLY]" - }, - { - "internalName": "kelp", - "displayName": "Kelp" - }, - { - "internalName": "dried_kelp", - "displayName": "Dried Kelp" - }, - { - "internalName": "sea_pickle", - "displayName": "Sea Pickle" - }, - { - "internalName": "nautilus", - "displayName": "Nautilus Shell" - }, - { - "internalName": "nautilus_core", - "displayName": "Heart of the Sea" - }, - { - "internalName": "turtle_helmet", - "displayName": "Turtle Shell" - }, - { - "internalName": "turtle_shell_piece", - "displayName": "Scute" - }, - { - "internalName": "trident", - "displayName": "Trident" - }, - { - "internalName": "phantom_membrane", - "displayName": "Phantom Membrane" - }, - { - "internalName": "acacia_sign", - "displayName": "Acacia Sign [PS4 ONLY]" - }, - { - "internalName": "birch_sign", - "displayName": "Birch Sign [PS4 ONLY]" - }, - { - "internalName": "dark_oak_sign", - "displayName": "Dark Oak Sign [PS4 ONLY]" - }, - { - "internalName": "jungle_sign", - "displayName": "Jungle Sign [PS4 ONLY]" - }, - { - "internalName": "spruce_sign", - "displayName": "Spruce Sign [PS4 ONLY]" - }, - { - "internalName": "crossbow", - "displayName": "Crossbow [PS4 ONLY]" - }, - { - "internalName": "crossbow_pull_0", - "displayName": "Crossbow (Pulling Stage 1) [PS4 ONLY]" - }, - { - "internalName": "crossbow_pull_1", - "displayName": "Crossbow (Pulling Stage 2) [PS4 ONLY]" - }, - { - "internalName": "crossbow_pull_2", - "displayName": "Crossbow (Pulling Stage 3) [PS4 ONLY]" - }, - { - "internalName": "crossbow_arrow", - "displayName": "Crossbow (Loaded) [PS4 ONLY]" - }, - { - "internalName": "crossbow_firework", - "displayName": "Crossbow (Loaded) (Firework) [PS4 ONLY]" - }, - { - "internalName": "sweet_berries", - "displayName": "Sweet Berries [PS4 ONLY]" - }, - { - "internalName": "banner_pattern", - "displayName": "Banner Pattern [PS4 ONLY]" - }, - { - "internalName": "bell", - "displayName": "Bell [PS4 ONLY]" - }, - { - "internalName": "campfire_carried", - "displayName": "Campfire [PS4 ONLY]" - }, - { - "internalName": "", - "displayName": "" - } ] } diff --git a/PCK-Studio/Resources/entities.png b/PCK-Studio/Resources/atlases/entities.png similarity index 100% rename from PCK-Studio/Resources/entities.png rename to PCK-Studio/Resources/atlases/entities.png diff --git a/PCK-Studio/Resources/entityData.json b/PCK-Studio/Resources/atlases/entityData.json similarity index 100% rename from PCK-Studio/Resources/entityData.json rename to PCK-Studio/Resources/atlases/entityData.json diff --git a/PCK-Studio/Resources/atlases/experienceOrbData.json b/PCK-Studio/Resources/atlases/experienceOrbData.json new file mode 100644 index 00000000..f83a7ab3 --- /dev/null +++ b/PCK-Studio/Resources/atlases/experienceOrbData.json @@ -0,0 +1,124 @@ +{ + "COMMENT_1": "JSON by MattNL", + "entries": [ + { + "internalName": "experience_orb_0", + "displayName": "Experience Orb (Size 1)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "experience_orb_1", + "displayName": "Experience Orb (Size 2)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "experience_orb_2", + "displayName": "Experience Orb (Size 3)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "experience_orb_3", + "displayName": "Experience Orb (Size 4)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "experience_orb_4", + "displayName": "Experience Orb (Size 5)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "experience_orb_5", + "displayName": "Experience Orb (Size 6)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "experience_orb_6", + "displayName": "Experience Orb (Size 7)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "experience_orb_7", + "displayName": "Experience Orb (Size 8)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "experience_orb_8", + "displayName": "Experience Orb (Size 9)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "experience_orb_9", + "displayName": "Experience Orb (Size 10)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "experience_orb_10", + "displayName": "Experience Orb (Size 11)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "experience_orb", + "variants": ["experience_orb"] + } + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + } + ] +} \ No newline at end of file diff --git a/PCK-Studio/Resources/atlases/experience_orbs.png b/PCK-Studio/Resources/atlases/experience_orbs.png new file mode 100644 index 00000000..1a2d58a3 Binary files /dev/null and b/PCK-Studio/Resources/atlases/experience_orbs.png differ diff --git a/PCK-Studio/Resources/atlases/explosion.png b/PCK-Studio/Resources/atlases/explosion.png new file mode 100644 index 00000000..242d9115 Binary files /dev/null and b/PCK-Studio/Resources/atlases/explosion.png differ diff --git a/PCK-Studio/Resources/atlases/explosionData.json b/PCK-Studio/Resources/atlases/explosionData.json new file mode 100644 index 00000000..f9845f7e --- /dev/null +++ b/PCK-Studio/Resources/atlases/explosionData.json @@ -0,0 +1,197 @@ +{ + "COMMENT_1": "JSON by MattNL", + "entries": [ + { + "internalName": "explosion_0", + "displayName": "Explosion (Stage 1)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_1", + "displayName": "Explosion (Stage 2)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_2", + "displayName": "Explosion (Stage 3)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_3", + "displayName": "Explosion (Stage 4)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_4", + "displayName": "Explosion (Stage 5)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_5", + "displayName": "Explosion (Stage 6)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_6", + "displayName": "Explosion (Stage 7)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_7", + "displayName": "Explosion (Stage 8)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_8", + "displayName": "Explosion (Stage 9)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_9", + "displayName": "Explosion (Stage 10)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_10", + "displayName": "Explosion (Stage 11)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_11", + "displayName": "Explosion (Stage 12)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_12", + "displayName": "Explosion (Stage 13)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_13", + "displayName": "Explosion (Stage 14)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_14", + "displayName": "Explosion (Stage 15)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_15", + "displayName": "Explosion (Stage 16)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + } + ] +} \ No newline at end of file diff --git a/PCK-Studio/Resources/atlases/itemData.json b/PCK-Studio/Resources/atlases/itemData.json new file mode 100644 index 00000000..0c49ee02 --- /dev/null +++ b/PCK-Studio/Resources/atlases/itemData.json @@ -0,0 +1,1366 @@ +{ + "COMMENT_1": "Tile data research by MattNL", + "COMMENT_2": "JSON by PhoenixARC, MattNL, and NessieHax (Miku-666)", + "entries": [ + { + "internalName": "helmetCloth", + "displayName": "Leather Cap", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "Armour_Default_Leather_Colour", + "variants": [ "Armour_Default_Leather_Colour" ] + } + }, + { + "internalName": "helmetChain", + "displayName": "Chain Helmet" + }, + { + "internalName": "helmetIron", + "displayName": "Iron Helmet" + }, + { + "internalName": "helmetDiamond", + "displayName": "Diamond Helmet" + }, + { + "internalName": "helmetGold", + "displayName": "Golden Helmet" + }, + { + "internalName": "flintAndSteel", + "displayName": "Flint and Steel" + }, + { + "internalName": "flint", + "displayName": "Flint" + }, + { + "internalName": "coal", + "displayName": "Coal" + }, + { + "internalName": "string", + "displayName": "String" + }, + { + "internalName": "seeds", + "displayName": "Seeds" + }, + { + "internalName": "apple", + "displayName": "Apple" + }, + { + "internalName": "appleGold", + "displayName": "Golden Apple" + }, + { + "internalName": "egg", + "displayName": "Egg" + }, + { + "internalName": "sugar", + "displayName": "Sugar" + }, + { + "internalName": "snowball", + "displayName": "Snowball" + }, + { + "internalName": "elytra", + "displayName": "Elytra" + }, + { + "internalName": "chestplateCloth", + "displayName": "Leather Tunic", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "Armour_Default_Leather_Colour", + "variants": [ "Armour_Default_Leather_Colour" ] + } + }, + { + "internalName": "chestplateChain", + "displayName": "Chain Chestplate" + }, + { + "internalName": "chestplateIron", + "displayName": "Iron Chestplate" + }, + { + "internalName": "chestplateDiamond", + "displayName": "Diamond Chestplate" + }, + { + "internalName": "chestplateGold", + "displayName": "Golden Chestplate" + }, + { + "internalName": "bow", + "displayName": "Bow" + }, + { + "internalName": "brick", + "displayName": "Brick" + }, + { + "internalName": "ingotIron", + "displayName": "Iron Ingot" + }, + { + "internalName": "feather", + "displayName": "Feather" + }, + { + "internalName": "wheat", + "displayName": "Wheat" + }, + { + "internalName": "painting", + "displayName": "Painting" + }, + { + "internalName": "reeds", + "displayName": "Sugar Canes" + }, + { + "internalName": "bone", + "displayName": "Bone" + }, + { + "internalName": "cake", + "displayName": "Cake" + }, + { + "internalName": "slimeball", + "displayName": "Slimeball" + }, + { + "internalName": "broken_elytra", + "displayName": "Elytra (Broken)" + }, + { + "internalName": "leggingsCloth", + "displayName": "Leather Pants", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "Armour_Default_Leather_Colour", + "variants": [ "Armour_Default_Leather_Colour" ] + } + }, + { + "internalName": "leggingsChain", + "displayName": "Chain Leggings" + }, + { + "internalName": "leggingsIron", + "displayName": "Iron Leggings" + }, + { + "internalName": "leggingsDiamond", + "displayName": "Diamond Leggings" + }, + { + "internalName": "leggingsGold", + "displayName": "Golden Leggings" + }, + { + "internalName": "arrow", + "displayName": "Arrow" + }, + { + "internalName": "end_crystal", + "displayName": "End Crystal" + }, + { + "internalName": "ingotGold", + "displayName": "Gold Ingot" + }, + { + "internalName": "sulphur", + "displayName": "Gunpowder" + }, + { + "internalName": "bread", + "displayName": "Bread" + }, + { + "internalName": "sign", + "displayName": "Oak Sign" + }, + { + "internalName": "doorWood", + "displayName": "Oak Door" + }, + { + "internalName": "doorIron", + "displayName": "Iron Door" + }, + { + "internalName": "bed", + "displayName": "Bed" + }, + { + "internalName": "fireball", + "displayName": "Fire Charge" + }, + { + "internalName": "chorus_fruit", + "displayName": "Chorus Fruit" + }, + { + "internalName": "bootsCloth", + "displayName": "Leather Boots", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "Armour_Default_Leather_Colour", + "variants": [ "Armour_Default_Leather_Colour" ] + } + }, + { + "internalName": "bootsChain", + "displayName": "Chain Boots" + }, + { + "internalName": "bootsIron", + "displayName": "Iron Boots" + }, + { + "internalName": "bootsDiamond", + "displayName": "Diamond Boots" + }, + { + "internalName": "bootsGold", + "displayName": "Golden Boots" + }, + { + "internalName": "stick", + "displayName": "Stick" + }, + { + "internalName": "compass", + "displayName": "Compass" + }, + { + "internalName": "diamond", + "displayName": "Diamond" + }, + { + "internalName": "redstone", + "displayName": "Redstone" + }, + { + "internalName": "clay", + "displayName": "Clay" + }, + { + "internalName": "paper", + "displayName": "Paper" + }, + { + "internalName": "book", + "displayName": "Book" + }, + { + "internalName": "map", + "displayName": "Map" + }, + { + "internalName": "seeds_pumpkin", + "displayName": "Pumpkin Seeds" + }, + { + "internalName": "seeds_melon", + "displayName": "Melon Seeds" + }, + { + "internalName": "chorus_fruit_popped", + "displayName": "Popped Chorus Fruit" + }, + { + "internalName": "swordWood", + "displayName": "Wooden Sword" + }, + { + "internalName": "swordStone", + "displayName": "Stone Sword" + }, + { + "internalName": "swordIron", + "displayName": "Iron Sword" + }, + { + "internalName": "swordDiamond", + "displayName": "Diamond Sword" + }, + { + "internalName": "swordGold", + "displayName": "Golden Sword" + }, + { + "internalName": "fishingRod_uncast", + "displayName": "Fishing Rod" + }, + { + "internalName": "clock", + "displayName": "Clock" + }, + { + "internalName": "bowl", + "displayName": "Bowl" + }, + { + "internalName": "mushroomStew", + "displayName": "Mushroom Stew" + }, + { + "internalName": "yellowDust", + "displayName": "Glowstone Dust" + }, + { + "internalName": "bucket", + "displayName": "Bucket" + }, + { + "internalName": "bucketWater", + "displayName": "Water Bucket" + }, + { + "internalName": "bucketLava", + "displayName": "Lava Bucket" + }, + { + "internalName": "milk", + "displayName": "Milk Bucket" + }, + { + "internalName": "dyePowder_black", + "displayName": "Ink Sac" + }, + { + "internalName": "dyePowder_gray", + "displayName": "Gray Dye" + }, + { + "internalName": "shovelWood", + "displayName": "Wooden Shovel" + }, + { + "internalName": "shovelStone", + "displayName": "Stone Shovel" + }, + { + "internalName": "shovelIron", + "displayName": "Iron Shovel" + }, + { + "internalName": "shovelDiamond", + "displayName": "Diamond Shovel" + }, + { + "internalName": "shovelGold", + "displayName": "Golden Shovel" + }, + { + "internalName": "fishingRod_cast", + "displayName": "Fishing Rod (Cast)" + }, + { + "internalName": "diode", + "displayName": "Redstone Repeater" + }, + { + "internalName": "porkchopRaw", + "displayName": "Raw Porkchop" + }, + { + "internalName": "porkchopCooked", + "displayName": "Cooked Porkchop" + }, + { + "internalName": "fishRaw", + "displayName": "Raw Cod" + }, + { + "internalName": "fishCooked", + "displayName": "Cooked Cod" + }, + { + "internalName": "rottenFlesh", + "displayName": "Rotten Flesh" + }, + { + "internalName": "cookie", + "displayName": "Cookie" + }, + { + "internalName": "shears", + "displayName": "Shears" + }, + { + "internalName": "dyePowder_red", + "displayName": "Rose Red" + }, + { + "internalName": "dyePowder_pink", + "displayName": "Pink Dye" + }, + { + "internalName": "pickaxeWood", + "displayName": "Wooden Pickaxe" + }, + { + "internalName": "pickaxeStone", + "displayName": "Stone Pickaxe" + }, + { + "internalName": "pickaxeIron", + "displayName": "Iron Pickaxe" + }, + { + "internalName": "pickaxeDiamond", + "displayName": "Diamond Pickaxe" + }, + { + "internalName": "pickaxeGold", + "displayName": "Golden Pickaxe" + }, + { + "internalName": "bow_pull_0", + "displayName": "Bow (Pulling Stage 1)" + }, + { + "internalName": "carrotOnAStick", + "displayName": "Carrot on a Stick" + }, + { + "internalName": "leather", + "displayName": "Leather" + }, + { + "internalName": "saddle", + "displayName": "Saddle" + }, + { + "internalName": "beefRaw", + "displayName": "Raw Beef" + }, + { + "internalName": "beefCooked", + "displayName": "Steak" + }, + { + "internalName": "enderPearl", + "displayName": "Ender Pearl" + }, + { + "internalName": "blazeRod", + "displayName": "Blaze Rod" + }, + { + "internalName": "melon", + "displayName": "Melon Slice" + }, + { + "internalName": "dyePowder_green", + "displayName": "Cactus Green" + }, + { + "internalName": "dyePowder_lime", + "displayName": "Lime Dye" + }, + { + "internalName": "hatchetWood", + "displayName": "Wooden Axe" + }, + { + "internalName": "hatchetStone", + "displayName": "Stone Axe" + }, + { + "internalName": "hatchetIron", + "displayName": "Iron Axe" + }, + { + "internalName": "hatchetDiamond", + "displayName": "Diamond Axe" + }, + { + "internalName": "hatchetGold", + "displayName": "Golden Axe" + }, + { + "internalName": "bow_pull_1", + "displayName": "Bow (Pulling Stage 2)" + }, + { + "internalName": "potatoBaked", + "displayName": "Baked Potato" + }, + { + "internalName": "potato", + "displayName": "Potato" + }, + { + "internalName": "carrots", + "displayName": "Carrot" + }, + { + "internalName": "chickenRaw", + "displayName": "Raw Chicken" + }, + { + "internalName": "chickenCooked", + "displayName": "Cooked Chicken" + }, + { + "internalName": "ghastTear", + "displayName": "Ghast Tear" + }, + { + "internalName": "goldNugget", + "displayName": "Gold Nugget" + }, + { + "internalName": "netherStalkSeeds", + "displayName": "Nether Wart" + }, + { + "internalName": "dyePowder_brown", + "displayName": "Cocoa Beans" + }, + { + "internalName": "dyePowder_yellow", + "displayName": "Dandelion Yellow" + }, + { + "internalName": "hoeWood", + "displayName": "Wooden Hoe" + }, + { + "internalName": "hoeStone", + "displayName": "Stone Hoe" + }, + { + "internalName": "hoeIron", + "displayName": "Iron Hoe" + }, + { + "internalName": "hoeDiamond", + "displayName": "Diamond Hoe" + }, + { + "internalName": "hoeGold", + "displayName": "Golden Hoe" + }, + { + "internalName": "bow_pull_2", + "displayName": "Bow (Pulling Stage 3)" + }, + { + "internalName": "potatoPoisonous", + "displayName": "Poisonous Potato" + }, + { + "internalName": "minecart", + "displayName": "Minecart" + }, + { + "internalName": "boat", + "displayName": "Oak Boat" + }, + { + "internalName": "speckledMelon", + "displayName": "Glistering Melon" + }, + { + "internalName": "fermentedSpiderEye", + "displayName": "Fermented Spider Eye" + }, + { + "internalName": "spiderEye", + "displayName": "Spider Eye" + }, + { + "internalName": "glassBottle", + "displayName": "Glass Bottle" + }, + { + "internalName": "potion_contents", + "displayName": "Potion (Overlay)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "dyePowder_blue", + "displayName": "Lapis Lazuli" + }, + { + "internalName": "dyePowder_light_blue", + "displayName": "Light Blue Dye" + }, + { + "internalName": "helmetCloth_overlay", + "displayName": "Leather Cap (Overlay)" + }, + { + "internalName": "spectral_arrow", + "displayName": "Spectral Arrow" + }, + { + "internalName": "iron_horse_armor", + "displayName": "Iron Horse Armor" + }, + { + "internalName": "diamond_horse_armor", + "displayName": "Diamond Horse Armor" + }, + { + "internalName": "gold_horse_armor", + "displayName": "Gold Horse Armor" + }, + { + "internalName": "comparator", + "displayName": "Redstone Comparator" + }, + { + "internalName": "carrotGolden", + "displayName": "Golden Carrot" + }, + { + "internalName": "minecart_chest", + "displayName": "Minecart with Chest" + }, + { + "internalName": "pumpkinPie", + "displayName": "Pumpkin Pie" + }, + { + "internalName": "monsterPlacer", + "displayName": "Spawn Egg", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Mob_Creeper_Colour1", + "variants": [ + "Mob_Creeper_Colour1", + "Mob_Skeleton_Colour1", + "Mob_Spider_Colour1", + "Mob_Zombie_Colour1", + "Mob_Slime_Colour1", + "Mob_Ghast_Colour1", + "Mob_PigZombie_Colour1", + "Mob_Enderman_Colour1", + "Mob_CaveSpider_Colour1", + "Mob_Silverfish_Colour1", + "Mob_Blaze_Colour1", + "Mob_LavaSlime_Colour1", + "Mob_Pig_Colour1", + "Mob_Sheep_Colour1", + "Mob_Cow_Colour1", + "Mob_Chicken_Colour1", + "Mob_Squid_Colour1", + "Mob_Wolf_Colour1", + "Mob_MushroomCow_Colour1", + "Mob_Ocelot_Colour1", + "Mob_Villager_Colour1", + "Mob_Bat_Colour1", + "Mob_Witch_Colour1", + "Mob_Horse_Colour1", + "Mob_Endermite_Color1", + "Mob_Guardian_Color1", + "Mob_Rabbit_Colour1", + "Mob_PolarBear_Colour1", + "Mob_Shulker_Colour1", + "Mob_Elder_Guardian_Colour1", + "Mob_Evocation_Illager_Colour1", + "Mob_Llama_Colour1", + "Mob_Donkey_Colour1", + "Mob_Skeleton_Horse_Colour1", + "Mob_Zombie_Horse_Colour1", + "Mob_Mule_Colour1", + "Mob_Stray_Colour1", + "Mob_Husk_Colour1", + "Mob_Vex_Colour1", + "Mob_Vindication_Illager_Colour1", + "Mob_Zombie_Villager_Colour1", + "Mob_Parrot_Colour1", + "Mob_Wither_Skeleton_Colour1", + "Mob_Turtle_Colour1", + "Mob_Tropical_Colour1", + "Mob_Cod_Colour1", + "Mob_Pufferfish_Colour1", + "Mob_Salmon_Colour1", + "Mob_Drowned_Colour1", + "Mob_Dolphin_Colour1", + "Mob_Phantom_Colour1" + ] + } + }, + { + "internalName": "potion_splash", + "displayName": "Splash Potion" + }, + { + "internalName": "eyeOfEnder", + "displayName": "Eye of Ender" + }, + { + "internalName": "cauldron", + "displayName": "Cauldron" + }, + { + "internalName": "blazePowder", + "displayName": "Blaze Powder" + }, + { + "internalName": "dyePowder_purple", + "displayName": "Purple Dye" + }, + { + "internalName": "dyePowder_magenta", + "displayName": "Magenta Dye" + }, + { + "internalName": "chestplateCloth_overlay", + "displayName": "Leather Tunic (Overlay)" + }, + { + "internalName": "tipped_arrow_base", + "displayName": "Tipped Arrow" + }, + { + "internalName": "dragon_breath", + "displayName": "Dragon's Breath" + }, + { + "internalName": "name_tag", + "displayName": "Name Tag" + }, + { + "internalName": "lead", + "displayName": "Lead" + }, + { + "internalName": "netherbrick", + "displayName": "Nether Brick" + }, + { + "internalName": "fish_clownfish_raw", + "displayName": "Tropical Fish" + }, + { + "internalName": "minecart_furnace", + "displayName": "Minecart with Furnace" + }, + { + "internalName": "charcoal", + "displayName": "Charcoal" + }, + { + "internalName": "monsterPlacer_overlay", + "displayName": "Spawn Egg (Overlay)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Mob_Creeper_Colour2", + "variants": [ + "Mob_Creeper_Colour2", + "Mob_Skeleton_Colour2", + "Mob_Spider_Colour2", + "Mob_Zombie_Colour2", + "Mob_Slime_Colour2", + "Mob_Ghast_Colour2", + "Mob_PigZombie_Colour2", + "Mob_Enderman_Colour2", + "Mob_CaveSpider_Colour2", + "Mob_Silverfish_Colour2", + "Mob_Blaze_Colour2", + "Mob_LavaSlime_Colour2", + "Mob_Pig_Colour2", + "Mob_Sheep_Colour2", + "Mob_Cow_Colour2", + "Mob_Chicken_Colour2", + "Mob_Squid_Colour2", + "Mob_Wolf_Colour2", + "Mob_MushroomCow_Colour2", + "Mob_Ocelot_Colour2", + "Mob_Villager_Colour2", + "Mob_Bat_Colour2", + "Mob_Witch_Colour2", + "Mob_Horse_Colour2", + "Mob_Endermite_Color2", + "Mob_Guardian_Color2", + "Mob_Rabbit_Colour2", + "Mob_PolarBear_Colour2", + "Mob_Shulker_Colour2", + "Mob_Elder_Guardian_Colour2", + "Mob_Evocation_Illager_Colour2", + "Mob_Llama_Colour2", + "Mob_Donkey_Colour2", + "Mob_Skeleton_Horse_Colour2", + "Mob_Zombie_Horse_Colour2", + "Mob_Mule_Colour2", + "Mob_Stray_Colour2", + "Mob_Husk_Colour2", + "Mob_Vex_Colour2", + "Mob_Vindication_Illager_Colour2", + "Mob_Zombie_Villager_Colour2", + "Mob_Parrot_Colour2", + "Mob_Wither_Skeleton_Colour2", + "Mob_Turtle_Colour2", + "Mob_Tropical_Colour2", + "Mob_Cod_Colour2", + "Mob_Pufferfish_Colour2", + "Mob_Salmon_Colour2", + "Mob_Drowned_Colour2", + "Mob_Dolphin_Colour2", + "Mob_Phantom_Colour2" + ] + } + }, + { + "internalName": "bed_overlay", + "displayName": "Bed (Overlay)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Bed_White", + "variants": [ + "Bed_Black", + "Bed_Blue", + "Bed_Brown", + "Bed_Cyan", + "Bed_Grey", + "Bed_Green", + "Bed_Light_Blue", + "Bed_Lime", + "Bed_Magenta", + "Bed_Orange", + "Bed_Pink", + "Bed_Purple", + "Bed_Red", + "Bed_Silver", + "Bed_White", + "Bed_Yellow" + ] + } + }, + { + "internalName": "expBottle", + "displayName": "Bottle o'Enchanting" + }, + { + "internalName": "brewingStand", + "displayName": "Brewing Stand" + }, + { + "internalName": "magmaCream", + "displayName": "Magma Cream" + }, + { + "internalName": "dyePowder_cyan", + "displayName": "Cyan Dye" + }, + { + "internalName": "dyePowder_orange", + "displayName": "Orange Dye" + }, + { + "internalName": "leggingsCloth_overlay", + "displayName": "Leather Pants (Overlay)" + }, + { + "internalName": "tipped_arrow_head", + "displayName": "Tipped Arrow (Overlay)" + }, + { + "internalName": "potion_bottle_lingering", + "displayName": "Lingering Potion" + }, + { + "internalName": "barrier", + "displayName": "debug_fourj_item" + }, + { + "internalName": "mutton_raw", + "displayName": "Raw Mutton" + }, + { + "internalName": "rabbit_raw", + "displayName": "Raw Rabbit" + }, + { + "internalName": "fish_pufferfish_raw", + "displayName": "Pufferfish" + }, + { + "internalName": "minecart_hopper", + "displayName": "Minecart with Hopper" + }, + { + "internalName": "hopper", + "displayName": "Hopper" + }, + { + "internalName": "nether_star", + "displayName": "Nether Star" + }, + { + "internalName": "emerald", + "displayName": "Emerald" + }, + { + "internalName": "writingBook", + "displayName": "Book and Quill" + }, + { + "internalName": "writtenBook", + "displayName": "Written Book" + }, + { + "internalName": "flowerPot", + "displayName": "Flower Pot" + }, + { + "internalName": "dyePowder_silver", + "displayName": "Light Gray Dye" + }, + { + "internalName": "dyePowder_white", + "displayName": "Bone Meal" + }, + { + "internalName": "bootsCloth_overlay", + "displayName": "Leather Boots (Overlay)" + }, + { + "internalName": "beetroot", + "displayName": "Beetroot" + }, + { + "internalName": "beetroot_seeds", + "displayName": "Beetroot Seeds" + }, + { + "internalName": "beetroot_soup", + "displayName": "Beetroot Soup" + }, + { + "internalName": "mutton_cooked", + "displayName": "Cooked Mutton" + }, + { + "internalName": "rabbit_cooked", + "displayName": "Cooked Rabbit" + }, + { + "internalName": "fish_salmon_raw", + "displayName": "Raw Salmon" + }, + { + "internalName": "minecart_tnt", + "displayName": "Minecart with TNT" + }, + { + "internalName": "wooden_armorstand", + "displayName": "Armor Stand" + }, + { + "internalName": "fireworks", + "displayName": "Firework Rocket" + }, + { + "internalName": "fireworks_charge", + "displayName": "Firework Star" + }, + { + "internalName": "fireworks_charge_overlay", + "displayName": "Firework Star (Overlay)", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "", + "variants": [""] + } + }, + { + "internalName": "netherquartz", + "displayName": "Nether Quartz" + }, + { + "internalName": "map_empty", + "displayName": "Empty Map" + }, + { + "internalName": "frame", + "displayName": "Item Frame" + }, + { + "internalName": "enchantedBook", + "displayName": "Enchanted Book" + }, + { + "internalName": "door_acacia", + "displayName": "Acacia Door" + }, + { + "internalName": "door_birch", + "displayName": "Birch Door" + }, + { + "internalName": "door_dark_oak", + "displayName": "Dark Oak Door" + }, + { + "internalName": "door_jungle", + "displayName": "Jungle Door" + }, + { + "internalName": "door_spruce", + "displayName": "Spruce Door" + }, + { + "internalName": "rabbit_stew", + "displayName": "Rabbit Stew" + }, + { + "internalName": "fish_salmon_cooked", + "displayName": "Cooked Salmon" + }, + { + "internalName": "minecart_command_block", + "displayName": "Minecart with Command Block" + }, + { + "internalName": "acacia_boat", + "displayName": "Acacia Boat" + }, + { + "internalName": "birch_boat", + "displayName": "Birch Boat" + }, + { + "internalName": "dark_oak_boat", + "displayName": "Dark Oak Boat" + }, + { + "internalName": "jungle_boat", + "displayName": "Jungle Boat" + }, + { + "internalName": "spruce_boat", + "displayName": "Spruce Boat" + }, + { + "internalName": "prismarine_shard", + "displayName": "Prismarine Shard" + }, + { + "internalName": "prismarine_crystals", + "displayName": "Prismarine Crystals" + }, + { + "internalName": "leather_horse_armor_base", + "displayName": "Leather Horse Armor", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "Armour_Default_Leather_Colour", + "variants": [ "Armour_Default_Leather_Colour" ] + } + }, + { + "internalName": "structure_void", + "displayName": "Structure Void" + }, + { + "internalName": "map_filled_markings", + "displayName": "Filled Map (Overlay)" + }, + { + "internalName": "totem", + "displayName": "Totem of Undying" + }, + { + "internalName": "shulker_shell", + "displayName": "Shulker Shell" + }, + { + "internalName": "iron_nugget", + "displayName": "Iron Nugget" + }, + { + "internalName": "rabbit_foot", + "displayName": "Rabbit's Foot" + }, + { + "internalName": "rabbit_hide", + "displayName": "Rabbit Hide" + }, + { + "internalName": "compass", + "displayName": "" + }, + { + "internalName": "compass", + "displayName": "" + }, + { + "internalName": "compass", + "displayName": "" + }, + { + "internalName": "compass", + "displayName": "" + }, + { + "internalName": "clock", + "displayName": "" + }, + { + "internalName": "clock", + "displayName": "" + }, + { + "internalName": "clock", + "displayName": "" + }, + { + "internalName": "clock", + "displayName": "" + }, + { + "internalName": "dragonFireball", + "displayName": "Dragon Fireball" + }, + { + "internalName": "record_13", + "displayName": "Music Disc (C418 - 13)" + }, + { + "internalName": "record_cat", + "displayName": "Music Disc (C418 - cat)" + }, + { + "internalName": "record_blocks", + "displayName": "Music Disc (C418 - blocks)" + }, + { + "internalName": "record_chirp", + "displayName": "Music Disc (C418 - chirp)" + }, + { + "internalName": "record_far", + "displayName": "Music Disc (C418 - far)" + }, + { + "internalName": "record_mall", + "displayName": "Music Disc (C418 - mall)" + }, + { + "internalName": "record_mellohi", + "displayName": "Music Disc (C418 - mellohi)" + }, + { + "internalName": "record_stal", + "displayName": "Music Disc (C418 - stal)" + }, + { + "internalName": "record_strad", + "displayName": "Music Disc (C418 - strad)" + }, + { + "internalName": "record_ward", + "displayName": "Music Disc (C418 - ward)" + }, + { + "internalName": "record_11", + "displayName": "Music Disc (C418 - 11)" + }, + { + "internalName": "record_where are we now", + "displayName": "Music Disc (C418 - wait)" + }, + { + "internalName": "bucketFish", + "displayName": "Bucket of Cod" + }, + { + "internalName": "bucketSalmon", + "displayName": "Bucket of Salmon" + }, + { + "internalName": "bucketPuffer", + "displayName": "Bucket of Pufferfish" + }, + { + "internalName": "bucketTropical", + "displayName": "Bucket of Tropical Fish" + }, + { + "internalName": "leather_horse_armor_detail", + "displayName": "Leather Horse Armor (Overlay)" + }, + { + "internalName": "dyePowder_black1", + "displayName": "Black Dye [PS4 ONLY]" + }, + { + "internalName": "dyePowder_blue1", + "displayName": "Blue Dye [PS4 ONLY]" + }, + { + "internalName": "dyePowder_brown1", + "displayName": "Brown Dye [PS4 ONLY]" + }, + { + "internalName": "dyePowder_white1", + "displayName": "White Dye [PS4 ONLY]" + }, + { + "internalName": "bamboo", + "displayName": "Bamboo [PS4 ONLY]" + }, + { + "internalName": "lantern_carried", + "displayName": "Lantern [PS4 ONLY]" + }, + { + "internalName": "kelp", + "displayName": "Kelp" + }, + { + "internalName": "dried_kelp", + "displayName": "Dried Kelp" + }, + { + "internalName": "sea_pickle", + "displayName": "Sea Pickle" + }, + { + "internalName": "nautilus", + "displayName": "Nautilus Shell" + }, + { + "internalName": "nautilus_core", + "displayName": "Heart of the Sea" + }, + { + "internalName": "turtle_helmet", + "displayName": "Turtle Shell" + }, + { + "internalName": "turtle_shell_piece", + "displayName": "Scute" + }, + { + "internalName": "trident", + "displayName": "Trident" + }, + { + "internalName": "phantom_membrane", + "displayName": "Phantom Membrane" + }, + { + "internalName": "acacia_sign", + "displayName": "Acacia Sign [PS4 ONLY]" + }, + { + "internalName": "birch_sign", + "displayName": "Birch Sign [PS4 ONLY]" + }, + { + "internalName": "dark_oak_sign", + "displayName": "Dark Oak Sign [PS4 ONLY]" + }, + { + "internalName": "jungle_sign", + "displayName": "Jungle Sign [PS4 ONLY]" + }, + { + "internalName": "spruce_sign", + "displayName": "Spruce Sign [PS4 ONLY]" + }, + { + "internalName": "crossbow", + "displayName": "Crossbow [PS4 ONLY]" + }, + { + "internalName": "crossbow_pull_0", + "displayName": "Crossbow (Pulling Stage 1) [PS4 ONLY]" + }, + { + "internalName": "crossbow_pull_1", + "displayName": "Crossbow (Pulling Stage 2) [PS4 ONLY]" + }, + { + "internalName": "crossbow_pull_2", + "displayName": "Crossbow (Pulling Stage 3) [PS4 ONLY]" + }, + { + "internalName": "crossbow_arrow", + "displayName": "Crossbow (Loaded) [PS4 ONLY]" + }, + { + "internalName": "crossbow_firework", + "displayName": "Crossbow (Loaded) (Firework) [PS4 ONLY]" + }, + { + "internalName": "sweet_berries", + "displayName": "Sweet Berries [PS4 ONLY]" + }, + { + "internalName": "banner_pattern", + "displayName": "Banner Pattern [PS4 ONLY]" + }, + { + "internalName": "bell", + "displayName": "Bell [PS4 ONLY]" + }, + { + "internalName": "campfire_carried", + "displayName": "Campfire [PS4 ONLY]" + }, + { + "internalName": "", + "displayName": "" + } + ] +} diff --git a/PCK-Studio/Resources/items.png b/PCK-Studio/Resources/atlases/items.png similarity index 100% rename from PCK-Studio/Resources/items.png rename to PCK-Studio/Resources/atlases/items.png diff --git a/PCK-Studio/Resources/atlases/mapIconData.json b/PCK-Studio/Resources/atlases/mapIconData.json new file mode 100644 index 00000000..8e1273f2 --- /dev/null +++ b/PCK-Studio/Resources/atlases/mapIconData.json @@ -0,0 +1,135 @@ +{ + "COMMENT_1": "JSON by MattNL", + "entries": [ + { + "internalName": "player_1", + "displayName": "Player 1" + }, + { + "internalName": "player_2", + "displayName": "Player 2" + }, + { + "internalName": "player_3", + "displayName": "Player 3" + }, + { + "internalName": "player_4", + "displayName": "Player 4" + }, + { + "internalName": "target_x", + "displayName": "Unused" + }, + { + "internalName": "target_point", + "displayName": "Target Point (Unused)" + }, + { + "internalName": "player_off_map", + "displayName": "Player (Off Map) (Unused)" + }, + { + "internalName": "frame", + "displayName": "Item Frame" + }, + { + "internalName": "player_5", + "displayName": "Player 5" + }, + { + "internalName": "player_6", + "displayName": "Player 6" + }, + { + "internalName": "player_7", + "displayName": "Player 7" + }, + { + "internalName": "player_8", + "displayName": "Player 8" + }, + { + "internalName": "structure", + "displayName": "Structure (Explorer Map)" + }, + { + "internalName": "player_off_limits", + "displayName": "Player (Off Limits) (Unused)" + }, + { + "internalName": "mansion", + "displayName": "Woodland Mansion (Explorer Map)" + }, + { + "internalName": "monument", + "displayName": "Ocean Monument (Explorer Map)" + } + ], + "additional_entries": [ + { + "internalName": "player_1_off_map", + "displayName": "Player 1 (Off Map)" + }, + { + "internalName": "player_2_off_map", + "displayName": "Player 2 (Off Map)" + }, + { + "internalName": "player_3_off_map", + "displayName": "Player 3 (Off Map)" + }, + { + "internalName": "player_4_off_map", + "displayName": "Player 4 (Off Map)" + }, + { + "internalName": "treasure", + "displayName": "Buried Treasure" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "player_5_off_map", + "displayName": "Player 5 (Off Map)" + }, + { + "internalName": "player_6_off_map", + "displayName": "Player 6 (Off Map)" + }, + { + "internalName": "player_7_off_map", + "displayName": "Player 7 (Off Map)" + }, + { + "internalName": "player_8_off_map", + "displayName": "Player 8 (Off Map)" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + } + ] +} diff --git a/PCK-Studio/Resources/atlases/map_icons.png b/PCK-Studio/Resources/atlases/map_icons.png new file mode 100644 index 00000000..7b6ecd13 Binary files /dev/null and b/PCK-Studio/Resources/atlases/map_icons.png differ diff --git a/PCK-Studio/Resources/atlases/moonPhaseData.json b/PCK-Studio/Resources/atlases/moonPhaseData.json new file mode 100644 index 00000000..506e7f6f --- /dev/null +++ b/PCK-Studio/Resources/atlases/moonPhaseData.json @@ -0,0 +1,37 @@ +{ + "COMMENT_1": "JSON by MattNL", + "entries": [ + { + "internalName": "moon_phase_0", + "displayName": "Full Moon" + }, + { + "internalName": "moon_phase_1", + "displayName": "Waning Gibbous" + }, + { + "internalName": "moon_phase_2", + "displayName": "Last Quarter" + }, + { + "internalName": "moon_phase_3", + "displayName": "Waning Crescent" + }, + { + "internalName": "moon_phase_4", + "displayName": "New Moon" + }, + { + "internalName": "moon_phase_5", + "displayName": "Waxing Crescent" + }, + { + "internalName": "moon_phase_6", + "displayName": "First Quarter" + }, + { + "internalName": "moon_phase_7", + "displayName": "Waxing Gibbous" + } + ] +} diff --git a/PCK-Studio/Resources/atlases/moon_phases.png b/PCK-Studio/Resources/atlases/moon_phases.png new file mode 100644 index 00000000..ce239ea7 Binary files /dev/null and b/PCK-Studio/Resources/atlases/moon_phases.png differ diff --git a/PCK-Studio/Resources/atlases/paintingData.json b/PCK-Studio/Resources/atlases/paintingData.json new file mode 100644 index 00000000..5b5b0ef9 --- /dev/null +++ b/PCK-Studio/Resources/atlases/paintingData.json @@ -0,0 +1,1062 @@ +{ + "COMMENT_1": "JSON by MattNL", + "entries": [ + { + "internalName": "Kebab", + "displayName": "\"Kebab med tre pepperoni\" by Kristoffer Zetterstrand" + }, + { + "internalName": "Aztec", + "displayName": "\"de_aztec\" by Kristoffer Zetterstrand" + }, + { + "internalName": "Alban", + "displayName": "\"Albanian\" by Kristoffer Zetterstrand" + }, + { + "internalName": "Aztec2", + "displayName": "\"de_aztec\" by Kristoffer Zetterstrand" + }, + { + "internalName": "Bomb", + "displayName": "\"Target Successfully Bombed\" by Kristoffer Zetterstrand" + }, + { + "internalName": "Plant", + "displayName": "\"Paradisträd\" by Kristoffer Zetterstrand" + }, + { + "internalName": "Wasteland", + "displayName": "\"Wasteland\" by Kristoffer Zetterstrand" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "Back", + "displayName": "Back Texture", + "width": 4, + "height": 4 + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "1x1E1", + "displayName": "Extra Painting 1" + }, + { + "internalName": "1x1E2", + "displayName": "Extra Painting 2" + }, + { + "internalName": "1x1E3", + "displayName": "Extra Painting 3" + }, + { + "internalName": "1x1E4", + "displayName": "Extra Painting 4" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "Back", + "displayName": "" + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "Pool", + "displayName": "\"The Pool\" by Kristoffer Zetterstrand", + "width": 2 + }, + { + "internalName": "Pool", + "displayName": "" + }, + { + "internalName": "Courbet", + "displayName": "\"Bonjour Monsieur Courbet\" by Kristoffer Zetterstrand", + "width": 2 + }, + { + "internalName": "Courbet", + "displayName": "" + }, + { + "internalName": "Sea", + "displayName": "\"Seaside\" by Kristoffer Zetterstrand", + "width": 2 + }, + { + "internalName": "Sea", + "displayName": "" + }, + { + "internalName": "Sunset", + "displayName": "\"sunset_dense\" by Kristoffer Zetterstrand", + "width": 2 + }, + { + "internalName": "Sunset", + "displayName": "" + }, + { + "internalName": "Creebet", + "displayName": "\"Creebet\" by Kristoffer Zetterstrand", + "width": 2 + }, + { + "internalName": "Creebet", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "Back", + "displayName": "" + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "Back", + "displayName": "" + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "Back", + "displayName": "", + }, + { + "internalName": "Wanderer", + "displayName": "\"Wanderer\" by Kristoffer Zetterstrand", + "height": 2 + }, + { + "internalName": "Graham", + "displayName": "\"Graham\" by Kristoffer Zetterstrand", + "height": 2 + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "Skeleton", + "displayName": "\"Mortal Coil\" by Kristoffer Zetterstrand", + "width": 4, + "height": 3 + }, + { + "internalName": "Skeleton", + "displayName": "", + }, + { + "internalName": "Skeleton", + "displayName": "", + }, + { + "internalName": "Skeleton", + "displayName": "", + }, + { + "internalName": "Wanderer", + "displayName": "" + }, + { + "internalName": "Graham", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "Skeleton", + "displayName": "", + }, + { + "internalName": "Skeleton", + "displayName": "", + }, + { + "internalName": "Skeleton", + "displayName": "", + }, + { + "internalName": "Skeleton", + "displayName": "", + }, + { + "internalName": "Fighters", + "displayName": "\"Fighters\" by Kristoffer Zetterstrand", + "width": 4, + "height": 2 + }, + { + "internalName": "Fighters", + "displayName": "" + }, + { + "internalName": "Fighters", + "displayName": "" + }, + { + "internalName": "Fighters", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "Skeleton", + "displayName": "" + }, + { + "internalName": "Skeleton", + "displayName": "" + }, + { + "internalName": "Skeleton", + "displayName": "" + }, + { + "internalName": "Skeleton", + "displayName": "" + }, + { + "internalName": "Fighters", + "displayName": "" + }, + { + "internalName": "Fighters", + "displayName": "" + }, + { + "internalName": "Fighters", + "displayName": "" + }, + { + "internalName": "Fighters", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "DonkeyKong", + "displayName": "\"Kong\" by Kristoffer Zetterstrand", + "width": 4, + "height": 3 + }, + { + "internalName": "DonkeyKong", + "displayName": "" + }, + { + "internalName": "DonkeyKong", + "displayName": "" + }, + { + "internalName": "DonkeyKong", + "displayName": "" + }, + { + "internalName": "Match", + "displayName": "\"Match\" by Kristoffer Zetterstrand", + "width": 2, + "height": 2 + }, + { + "internalName": "Match", + "displayName": "" + }, + { + "internalName": "Bust", + "displayName": "\"Bust\" by Kristoffer Zetterstrand", + "width": 2, + "height": 2 + }, + { + "internalName": "Bust", + "displayName": "" + }, + { + "internalName": "Stage", + "displayName": "\"The stage is set\" by Kristoffer Zetterstrand", + "width": 2, + "height": 2 + }, + { + "internalName": "Stage", + "displayName": "" + }, + { + "internalName": "Void", + "displayName": "\"The Void\" by Kristoffer Zetterstrand", + "width": 2, + "height": 2 + }, + { + "internalName": "Void", + "displayName": "" + }, + { + "internalName": "SkullAndRoses", + "displayName": "\"Skull and Roses\" by Kristoffer Zetterstrand", + "width": 2, + "height": 2 + }, + { + "internalName": "SkullAndRoses", + "displayName": "" + }, + { + "internalName": "Wither", + "displayName": "\"Wither\" by Jens Bergensten", + "width": 2, + "height": 2 + }, + { + "internalName": "Wither", + "displayName": "" + }, + { + "internalName": "DonkeyKong", + "displayName": "" + }, + { + "internalName": "DonkeyKong", + "displayName": "" + }, + { + "internalName": "DonkeyKong", + "displayName": "" + }, + { + "internalName": "DonkeyKong", + "displayName": "" + }, + { + "internalName": "Match", + "displayName": "" + }, + { + "internalName": "Match", + "displayName": "" + }, + { + "internalName": "Bust", + "displayName": "" + }, + { + "internalName": "Bust", + "displayName": "" + }, + { + "internalName": "Stage", + "displayName": "" + }, + { + "internalName": "Stage", + "displayName": "" + }, + { + "internalName": "Void", + "displayName": "" + }, + { + "internalName": "Void", + "displayName": "" + }, + { + "internalName": "SkullAndRoses", + "displayName": "" + }, + { + "internalName": "SkullAndRoses", + "displayName": "" + }, + { + "internalName": "Wither", + "displayName": "" + }, + { + "internalName": "Wither", + "displayName": "" + }, + { + "internalName": "DonkeyKong", + "displayName": "", + }, + { + "internalName": "DonkeyKong", + "displayName": "", + }, + { + "internalName": "DonkeyKong", + "displayName": "", + }, + { + "internalName": "DonkeyKong", + "displayName": "", + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "Pointer", + "displayName": "\"Pointer\" by Kristoffer Zetterstrand", + "width": 4, + "height": 4 + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "\"Pigscene\" by Kristoffer Zetterstrand", + "width": 4, + "height": 4 + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "\"Skull On Fire\" by Kristoffer Zetterstrand", + "width": 4, + "height": 4 + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "Pointer", + "displayName": "", + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "", + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "", + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "Pointer", + "displayName": "", + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pointer", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "", + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "Pigscene", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "", + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "BurningSkull", + "displayName": "" + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + }, + { + "internalName": "", + "displayName": "", + } + ] +} diff --git a/PCK-Studio/Resources/atlases/paintings.png b/PCK-Studio/Resources/atlases/paintings.png new file mode 100644 index 00000000..b8bc84fe Binary files /dev/null and b/PCK-Studio/Resources/atlases/paintings.png differ diff --git a/PCK-Studio/Resources/atlases/particleData.json b/PCK-Studio/Resources/atlases/particleData.json new file mode 100644 index 00000000..e89bcf85 --- /dev/null +++ b/PCK-Studio/Resources/atlases/particleData.json @@ -0,0 +1,2112 @@ +{ + "COMMENT_1": "JSON by MattNL", + "entries": [ + { + "internalName": "generic_0", + "displayName": "Generic (Stage 1)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "None", + "variants": [ + "None", + "Particle_Smoke", + "Particle_NetherPortal", + "Particle_EnderPortal", + "Particle_Ender", + "Particle_DragonBreathMin", + "Particle_DragonBreathMax" + ] + } + }, + { + "internalName": "generic_1", + "displayName": "Generic (Stage 2)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "None", + "variants": [ + "None", + "Particle_Smoke", + "Particle_NetherPortal", + "Particle_EnderPortal", + "Particle_Ender", + "Particle_DragonBreathMin", + "Particle_DragonBreathMax" + ] + } + }, + { + "internalName": "generic_2", + "displayName": "Generic (Stage 3)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "None", + "variants": [ + "None", + "Particle_Smoke", + "Particle_NetherPortal", + "Particle_EnderPortal", + "Particle_Ender", + "Particle_DragonBreathMin", + "Particle_DragonBreathMax" + ] + } + }, + { + "internalName": "generic_3", + "displayName": "Generic (Stage 4)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "None", + "variants": [ + "None", + "Particle_Smoke", + "Particle_NetherPortal", + "Particle_EnderPortal", + "Particle_Ender", + "Particle_DragonBreathMin", + "Particle_DragonBreathMax" + ] + } + }, + { + "internalName": "generic_4", + "displayName": "Generic (Stage 5)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "None", + "variants": [ + "None", + "Particle_Smoke", + "Particle_NetherPortal", + "Particle_EnderPortal", + "Particle_Ender", + "Particle_DragonBreathMin", + "Particle_DragonBreathMax" + ] + } + }, + { + "internalName": "generic_5", + "displayName": "Generic (Stage 6)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "None", + "variants": [ + "None", + "Particle_Smoke", + "Particle_NetherPortal", + "Particle_EnderPortal", + "Particle_Ender", + "Particle_DragonBreathMin", + "Particle_DragonBreathMax" + ] + } + }, + { + "internalName": "generic_6", + "displayName": "Generic (Stage 7)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "None", + "variants": [ + "None", + "Particle_Smoke", + "Particle_NetherPortal", + "Particle_EnderPortal", + "Particle_Ender", + "Particle_DragonBreathMin", + "Particle_DragonBreathMax" + ] + } + }, + { + "internalName": "generic_7", + "displayName": "Generic (Stage 8)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "None", + "variants": [ + "None", + "Particle_Smoke", + "Particle_NetherPortal", + "Particle_EnderPortal", + "Particle_Ender", + "Particle_DragonBreathMin", + "Particle_DragonBreathMax" + ] + } + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "unused_splash_0", + "displayName": "Splash (Stage 1) (Unused)" + }, + { + "internalName": "unused_splash_1", + "displayName": "Splash (Stage 2) (Unused)" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "splash_0", + "displayName": "Splash (Stage 1)" + }, + { + "internalName": "splash_1", + "displayName": "Splash (Stage 2)" + }, + { + "internalName": "splash_2", + "displayName": "Splash (Stage 3)" + }, + { + "internalName": "splash_3", + "displayName": "Splash (Stage 4)" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "classic_bubble", + "displayName": "Bubble (Unused)" + }, + { + "internalName": "bobber", + "displayName": "Fishing Bobber" + }, + { + "internalName": "bubble", + "displayName": "Bubble", + "hasColourEntry": true, + "colourEntry": { + "isWaterColour": true, + "defaultName": "Water_Plains", + "variants": [ + "Water_Ocean", + "Water_Plains", + "Water_Desert", + "Water_ExtremeHills", + "Water_Forest", + "Water_Taiga", + "Water_Swampland", + "Water_River", + "Water_Hell", + "Water_Sky", + "Water_FrozenOcean", + "Water_FrozenRiver", + "Water_IcePlains", + "Water_IceMountains", + "Water_MushroomIsland", + "Water_MushroomIslandShore", + "Water_Beach", + "Water_DesertHills", + "Water_ForestHills", + "Water_TaigaHills", + "Water_ExtremeHillsEdge", + "Water_Jungle", + "Water_JungleHills", + "Water_JungleEdge", + "Water_DeepOcean", + "Water_StoneBeach", + "Water_ColdBeach", + "Water_BirchForest", + "Water_BirchForestHills", + "Water_RoofedForest", + "Water_ColdTaiga", + "Water_ColdTaigaHills", + "Water_MegaTaiga", + "Water_MegaTaigaHills", + "Water_ExtremeHillsPlus", + "Water_Savanna", + "Water_SavannaPlateau", + "Water_Mesa", + "Water_MesaPlateauF", + "Water_MesaPlateau" + ] + } + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "Firework Flash", + "width": 4, + "height": 4, + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "", + "variants": [""] + } + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "flame", + "displayName": "Flame" + }, + { + "internalName": "lava", + "displayName": "Lava" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "note", + "displayName": "Noteblock Note", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Note_00", + "variants": [ + "Particle_Note_00", + "Particle_Note_01", + "Particle_Note_02", + "Particle_Note_03", + "Particle_Note_04", + "Particle_Note_05", + "Particle_Note_06", + "Particle_Note_07", + "Particle_Note_08", + "Particle_Note_09", + "Particle_Note_10", + "Particle_Note_11", + "Particle_Note_12", + "Particle_Note_13", + "Particle_Note_14", + "Particle_Note_15", + "Particle_Note_16", + "Particle_Note_17", + "Particle_Note_18", + "Particle_Note_19", + "Particle_Note_20", + "Particle_Note_21", + "Particle_Note_22", + "Particle_Note_23", + "Particle_Note_24", + ] + } + }, + { + "internalName": "critical_hit", + "displayName": "Critical Hit", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "critical_hit", + "variants": [ "critical_hit" ] + } + }, + { + "internalName": "enchanted_hit", + "displayName": "Enchanted Hit", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "critical_hit", + "variants": [ "critical_hit" ] + } + }, + { + "internalName": "damage", + "displayName": "Damage Indicator" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "heart", + "displayName": "Heart" + }, + { + "internalName": "angry", + "displayName": "Angry" + }, + { + "internalName": "glint", + "displayName": "Glint" + }, + { + "internalName": "angry_villager", + "displayName": "Angry Villager (Unused)" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "flash", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "water_0", + "displayName": "Water (Stage 1) (Unused)" + }, + { + "internalName": "water_1", + "displayName": "Water (Stage 2) (Unused)" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "bubble_pop_0", + "displayName": "Bubble Pop (Stage 1) (Unused)", + "width": 2, + "height": 2 + }, + { + "internalName": "bubble_pop_0", + "displayName": "" + }, + { + "internalName": "bubble_pop_1", + "displayName": "Bubble Pop (Stage 2) (Unused)", + "width": 2, + "height": 2 + }, + { + "internalName": "bubble_pop_1", + "displayName": "" + }, + { + "internalName": "bubble_pop_2", + "displayName": "Bubble Pop (Stage 3) (Unused)", + "width": 2, + "height": 2 + }, + { + "internalName": "bubble_pop_2", + "displayName": "" + }, + { + "internalName": "bubble_pop_3", + "displayName": "Bubble Pop (Stage 4) (Unused)", + "width": 2, + "height": 2 + }, + { + "internalName": "bubble_pop_3", + "displayName": "" + }, + { + "internalName": "bubble_pop_4", + "displayName": "Bubble Pop (Stage 5) (Unused)", + "width": 2, + "height": 2 + }, + { + "internalName": "bubble_pop_4", + "displayName": "" + }, + { + "internalName": "drip_hang", + "displayName": "Drip (Hang)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_DripWater", + "variants": [ + "Particle_DripWater", + "Particle_DripLavaStart", + "Particle_DripLavaEnd" + ] + } + }, + { + "internalName": "drip_fall", + "displayName": "Drip (Fall)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_DripWater", + "variants": [ + "Particle_DripWater", + "Particle_DripLavaStart", + "Particle_DripLavaEnd" + ] + } + }, + { + "internalName": "drip_land", + "displayName": "Drip (Land)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_DripWater", + "variants": [ + "Particle_DripWater", + "Particle_DripLavaStart", + "Particle_DripLavaEnd" + ] + } + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "bubble_pop_0", + "displayName": "" + }, + { + "internalName": "bubble_pop_0", + "displayName": "" + }, + { + "internalName": "bubble_pop_1", + "displayName": "" + }, + { + "internalName": "bubble_pop_1", + "displayName": "" + }, + { + "internalName": "bubble_pop_2", + "displayName": "" + }, + { + "internalName": "bubble_pop_2", + "displayName": "" + }, + { + "internalName": "bubble_pop_3", + "displayName": "" + }, + { + "internalName": "bubble_pop_3", + "displayName": "" + }, + { + "internalName": "bubble_pop_4", + "displayName": "" + }, + { + "internalName": "bubble_pop_4", + "displayName": "" + }, + { + "internalName": "effect_0", + "displayName": "Effect (Stage 1)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "effect_1", + "displayName": "Effect (Stage 2)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "effect_2", + "displayName": "Effect (Stage 3)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "effect_3", + "displayName": "Effect (Stage 4)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "effect_4", + "displayName": "Effect (Stage 5)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "effect_5", + "displayName": "Effect (Stage 6)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "effect_6", + "displayName": "Effect (Stage 7)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "effect_7", + "displayName": "Effect (Stage 8)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "spell_0", + "displayName": "Splash Effect (Stage 1)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "spell_1", + "displayName": "Splash Effect (Stage 2)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "spell_2", + "displayName": "Splash Effect (Stage 3)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "spell_3", + "displayName": "Splash Effect (Stage 4)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "spell_4", + "displayName": "Splash Effect (Stage 5)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "spell_5", + "displayName": "Splash Effect (Stage 6)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "spell_6", + "displayName": "Splash Effect (Stage 7)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "spell_7", + "displayName": "Splash Effect (Stage 8)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Potion_BaseColour", + "hasCustomColour": true, + "variants": [ + "Potion_BaseColour", + "Effect_MovementSpeed", + "Effect_MovementSlowDown", + "Effect_DigSpeed", + "Effect_DigSlowdown", + "Effect_DamageBoost", + "Effect_Heal", + "Effect_Harm", + "Effect_Jump", + "Effect_Confusion", + "Effect_Regeneration", + "Effect_DamageResistance", + "Effect_FireResistance", + "Effect_WaterBreathing", + "Effect_Invisibility", + "Effect_Blindness", + "Effect_NightVision", + "Effect_Hunger", + "Effect_Weakness", + "Effect_Poison", + "Effect_Wither", + "Effect_HealthBoost", + "Effect_Absorption", + "Effect_Saturation", + "Effect_Levitation", + "Effect_Luck", + "Effect_BadLuck", + "Effect_TurtleMaster", + "Effect_SlowFall" + ] + } + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "spark_0", + "displayName": "Firework Spark (Stage 1)", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "None", + "variants": [ + "None", + "Particle_ScoreRing_Small", + "Particle_ScoreRing_Medium", + "Particle_ScoreRing_Large" + ] + } + }, + { + "internalName": "spark_1", + "displayName": "Firework Spark (Stage 2)", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "None", + "variants": [ + "None", + "Particle_ScoreRing_Small", + "Particle_ScoreRing_Medium", + "Particle_ScoreRing_Large" + ] + } + }, + { + "internalName": "spark_2", + "displayName": "Firework Spark (Stage 3)", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "None", + "variants": [ + "None", + "Particle_ScoreRing_Small", + "Particle_ScoreRing_Medium", + "Particle_ScoreRing_Large" + ] + } + }, + { + "internalName": "spark_3", + "displayName": "Firework Spark (Stage 4)", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "None", + "variants": [ + "None", + "Particle_ScoreRing_Small", + "Particle_ScoreRing_Medium", + "Particle_ScoreRing_Large" + ] + } + }, + { + "internalName": "spark_4", + "displayName": "Firework Spark (Stage 5)", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "None", + "variants": [ + "None", + "Particle_ScoreRing_Small", + "Particle_ScoreRing_Medium", + "Particle_ScoreRing_Large" + ] + } + }, + { + "internalName": "spark_5", + "displayName": "Firework Spark (Stage 6)", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "None", + "variants": [ + "None", + "Particle_ScoreRing_Small", + "Particle_ScoreRing_Medium", + "Particle_ScoreRing_Large" + ] + } + }, + { + "internalName": "spark_6", + "displayName": "Firework Spark (Stage 7)", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "None", + "variants": [ + "None", + "Particle_ScoreRing_Small", + "Particle_ScoreRing_Medium", + "Particle_ScoreRing_Large" + ] + } + }, + { + "internalName": "spark_7", + "displayName": "Firework Spark (Stage 8)", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "None", + "variants": [ + "None", + "Particle_ScoreRing_Small", + "Particle_ScoreRing_Medium", + "Particle_ScoreRing_Large" + ] + } + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "glitter_0", + "displayName": "Shulker/End Rod Glitter (Stage 1)" + }, + { + "internalName": "glitter_1", + "displayName": "Shulker/End Rod Glitter (Stage 2)" + }, + { + "internalName": "glitter_2", + "displayName": "Shulker/End Rod Glitter (Stage 3)" + }, + { + "internalName": "glitter_3", + "displayName": "Shulker/End Rod Glitter (Stage 4)" + }, + { + "internalName": "glitter_4", + "displayName": "Shulker/End Rod Glitter (Stage 5)" + }, + { + "internalName": "glitter_5", + "displayName": "Shulker/End Rod Glitter (Stage 6)" + }, + { + "internalName": "glitter_6", + "displayName": "Shulker/End Rod Glitter (Stage 7)" + }, + { + "internalName": "glitter_7", + "displayName": "Shulker/End Rod Glitter (Stage 8)" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "camera_shoot_explosion_0", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 1)" + }, + { + "internalName": "camera_shoot_explosion_1", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 2)" + }, + { + "internalName": "camera_shoot_explosion_2", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 3)" + }, + { + "internalName": "camera_shoot_explosion_3", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 4)" + }, + { + "internalName": "camera_shoot_explosion_4", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 5)" + }, + { + "internalName": "camera_shoot_explosion_5", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 6)" + }, + { + "internalName": "camera_shoot_explosion_6", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 7)" + }, + { + "internalName": "camera_shoot_explosion_7", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 8)" + }, + { + "internalName": "camera_shoot_explosion_8", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 9)" + }, + { + "internalName": "camera_shoot_explosion_9", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 10)" + }, + { + "internalName": "camera_shoot_explosion_10", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 11)" + }, + { + "internalName": "camera_shoot_explosion_11", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 12)" + }, + { + "internalName": "camera_shoot_explosion_12", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 13)" + }, + { + "internalName": "camera_shoot_explosion_13", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 14)" + }, + { + "internalName": "camera_shoot_explosion_14", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 15)" + }, + { + "internalName": "camera_shoot_explosion_15", + "displayName": "Bedrock Edition Explosion (Unused) (Stage 16)" + }, + { + "internalName": "conduit_0", + "displayName": "Conduit (Stage 1)" + }, + { + "internalName": "conduit_1", + "displayName": "Conduit (Stage 2)" + }, + { + "internalName": "conduit_2", + "displayName": "Conduit (Stage 3)" + }, + { + "internalName": "conduit_3", + "displayName": "Conduit (Stage 4)" + }, + { + "internalName": "conduit_4", + "displayName": "Conduit (Stage 5)" + }, + { + "internalName": "conduit_5", + "displayName": "Conduit (Stage 6)" + }, + { + "internalName": "conduit_6", + "displayName": "Conduit (Stage 7)" + }, + { + "internalName": "conduit_7", + "displayName": "Conduit (Stage 8)" + }, + { + "internalName": "conduit_8", + "displayName": "Conduit (Stage 9)" + }, + { + "internalName": "conduit_9", + "displayName": "Conduit (Stage 10)" + }, + { + "internalName": "conduit_10", + "displayName": "Conduit (Stage 11)" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "sga_a", + "displayName": "Standard Galactic Language (A)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_b", + "displayName": "Standard Galactic Language (B)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_c", + "displayName": "Standard Galactic Language (C)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_d", + "displayName": "Standard Galactic Language (D)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_e", + "displayName": "Standard Galactic Language (E)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_f", + "displayName": "Standard Galactic Language (F)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_g", + "displayName": "Standard Galactic Language (G)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_h", + "displayName": "Standard Galactic Language (H)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_i", + "displayName": "Standard Galactic Language (I)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_j", + "displayName": "Standard Galactic Language (J)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_k", + "displayName": "Standard Galactic Language (K)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_l", + "displayName": "Standard Galactic Language (L)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_m", + "displayName": "Standard Galactic Language (M)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_n", + "displayName": "Standard Galactic Language (N)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_o", + "displayName": "Standard Galactic Language (O)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_p", + "displayName": "Standard Galactic Language (P)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_q", + "displayName": "Standard Galactic Language (Q)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_r", + "displayName": "Standard Galactic Language (R)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_s", + "displayName": "Standard Galactic Language (S)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_t", + "displayName": "Standard Galactic Language (T)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_u", + "displayName": "Standard Galactic Language (U)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_v", + "displayName": "Standard Galactic Language (V)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_w", + "displayName": "Standard Galactic Language (W)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_x", + "displayName": "Standard Galactic Language (X)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_y", + "displayName": "Standard Galactic Language (Y)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "sga_z", + "displayName": "Standard Galactic Language (Z)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_EnchantmentTable", + "variants": [ + "Particle_EnchantmentTable" + ] + } + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + { + "internalName": "", + "displayName": "" + }, + ] +} \ No newline at end of file diff --git a/PCK-Studio/Resources/atlases/particles.png b/PCK-Studio/Resources/atlases/particles.png new file mode 100644 index 00000000..b4f1e1f6 Binary files /dev/null and b/PCK-Studio/Resources/atlases/particles.png differ diff --git a/PCK-Studio/Resources/terrain.png b/PCK-Studio/Resources/atlases/terrain.png similarity index 100% rename from PCK-Studio/Resources/terrain.png rename to PCK-Studio/Resources/atlases/terrain.png