diff --git a/.gitignore b/.gitignore index 2cffed9..11a29d2 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,9 @@ __pycache__/ .venv/ venv/ .pre-commit-cache/ + +# Local test server (world saves, player data) - not source +minecraft-test/ + +# Generated world-gen output samples +world-generator/outputs/ diff --git a/Docs/Features.md b/Docs/Features.md new file mode 100644 index 0000000..05fb229 --- /dev/null +++ b/Docs/Features.md @@ -0,0 +1,13 @@ +speedrun challenge (spawn -> kill ender dragon) in various difficulties: + +- keep inventory, unlimited deaths +- lose inventory, unlimited deaths +- lose inventory, unlimited deaths, shared inventory +- hardcore, health can refill +- hardcore, health does not refill +- hardcore, health does not refill, shared inventory +- hardcore, everyone shares the same health +- hardcore, everyone shares the same health and does not refill +- hardcore, everyone shares the same health, does not refill, and shared inventory +- hardcore, everyone shares the same health, does not refill, and gradually decreasing inventory ( <= 5 slots) +- hardcore, everyone shares the same health, does not refill, gradually decreasing inventory ( <= 5 slots), and initial half-heart diff --git a/Docs/HolographicChunkPreviewPlan.md b/Docs/HolographicChunkPreviewPlan.md new file mode 100644 index 0000000..49a81c3 --- /dev/null +++ b/Docs/HolographicChunkPreviewPlan.md @@ -0,0 +1,218 @@ +# Holographic Chunk Preview Plan + +## Objective + +Create a holographic 3D terrain preview above a pedestal in the prep area using display entities, so players can preview a randomized speedrun start terrain before the challenge begins. + +## Core Experience Requirements + +- Players join directly into the limbo world by default. +- Limbo acts as a proper lobby with a central pedestal. +- The pedestal shows a holographic preview of the generated run world spawn surface. +- Preview can either rotate slowly or remain static, controlled by config. +- Players can regenerate the run world from lobby controls, and the pedestal preview must immediately refresh to match the new spawn surface. +- Countdown does not begin until all active players are marked ready. +- The ready book is removed only once all players are ready and countdown begins. + +## Scope (Phase 1) + +- Render a 16 x 16 spawn-surface preview (with optional depth layers for richer 3D effect). +- Build preview from generated world data tied to a selected/random seed. +- Show preview in limbo lobby during PREP and COUNTDOWN phases. +- Add lobby/prep action to regenerate preview with a new random seed. +- Cleanly remove all preview entities when challenge starts, resets, or plugin disables. + +## Non-Goals (Phase 1) + +- Full biome visualization beyond block identity. +- Animated terrain transitions. +- Multi-chunk or zoomable map views. +- Persistent previews across server restarts. + +## Technical Direction + +Use Paper display entities (BlockDisplay) as the primary rendering path. + +Why this approach: + +- Purpose-built for visual block rendering without world block edits. +- Easy cleanup (track spawned entities and remove). +- Allows transform/scaling if we want compact presentation later. + +Fallback strategy: + +- If Display entities are unavailable in the running server API, skip preview generation and show a clear admin warning in logs. + +## Proposed Components + +### 1) Preview data extraction service + +Responsibilities: + +- Generate or load temporary terrain context for a seed. +- Read block states for region 16 x 16 x 5. +- Return a compact block-state matrix. + +Suggested class: + +- TerrainPreviewSampler + +Key API: + +- sample(seed, originX, originZ, yStart, yLayers) -> PreviewVolume + +### 2) Hologram rendering service + +Responsibilities: + +- Convert PreviewVolume blocks to BlockDisplay entities. +- Place them relative to a pedestal anchor location. +- Track spawned entity UUIDs by session. +- Remove/rebuild hologram on demand. + +Suggested class: + +- HolographicPreviewRenderer + +Key API: + +- render(volume, anchor) +- clear() +- rebuild(volume, anchor) + +### 3) Session integration + +Responsibilities: + +- Route all joining players into limbo lobby by default. +- Trigger first preview creation on prep start (or immediately after world regeneration in lobby). +- Regenerate when user clicks prep/lobby action, then rebuild preview from the new world spawn surface. +- Keep ready workflow active in limbo. +- Start countdown only when all active players are ready. +- Remove ready book only at countdown start. +- Clear preview on challenge start/end/reset. + +Suggested touchpoints: + +- ChallengeSessionManager phase transitions +- Prep GUI click handler + +### 4) Seed management + +Responsibilities: + +- Keep current preview seed in session state. +- Generate cryptographically reasonable random long when regenerating. +- Optionally display seed in action bar/chat for transparency. + +Suggested touchpoints: + +- ChallengeSessionManager session fields + +## Coordinate and Layout Plan + +- Input region: local chunk coordinates x:[0..15], z:[0..15] around spawnpoint. +- Surface mode (default): sample the topmost solid/terrain block per x/z column. +- Depth mode (optional): include N layers below sampled surface for stronger 3D readability. +- Anchor: pedestal top center in limbo/prep world. +- Placement: map each sample block to anchor + (x, y, z). +- Optional compact mode (future): apply display scale (e.g. 0.5) and spacing transforms. +- Rotation mode: if enabled, rotate display root slowly around Y axis at configurable speed. + +## Performance Budget and Safeguards + +- Max displays per render: 1280 (16*16*5). +- Skip AIR blocks to reduce entities (expected significant reduction). +- Hard cap: if non-air display count exceeds configured threshold, abort render and log warning. +- Build hologram in small scheduled batches (e.g. 100-200 entities per tick) to avoid tick spikes. +- Clear previous render before creating a new one. + +## Config Additions + +Add under challenge config: + +- preview_hologram_enabled: true +- preview_hologram_surface_mode: true +- preview_hologram_layers: 1 +- preview_hologram_base_y_offset: 0 +- preview_hologram_max_entities: 1500 +- preview_hologram_batch_size: 150 +- preview_hologram_spin_enabled: true +- preview_hologram_spin_degrees_per_second: 8.0 +- lobby_spawn_in_limbo_by_default: true +- countdown_requires_all_ready: true +- remove_ready_book_on_countdown_start: true + +## Failure Handling + +- If terrain sampling fails: notify operator, keep session functional, disable only preview feature for that run. +- If rendering partially fails: clear spawned entities for that render attempt and retry once. +- If world/chunk unavailable: queue retry after short delay during prep. + +## Testing Plan + +### Unit-ish logic tests (where practical) + +- Matrix bounds and coordinate mapping validation. +- AIR filtering logic and entity-count cap logic. +- Seed regeneration changes value and updates state. + +### In-server verification + +- Join server: player lands in limbo lobby by default. +- Start prep/lobby idle: preview appears above pedestal. +- Click regenerate: old hologram removed, new one appears matching new spawnpoint surface. +- Spin enabled: preview rotates slowly. +- Spin disabled: preview remains fixed. +- Mark players ready: countdown starts only when all active players are ready. +- Countdown start: ready book is removed at this point (not earlier). +- Start run: preview removed immediately. +- Reset run: preview can be generated again. +- Multiple players online: same shared preview visibility. +- Performance check: no major lag spike during render batches. + +## Milestone Breakdown + +1. Scaffolding + +- Add plan classes and session state hooks. +- Add config keys with defaults. + +2. Sampling + +- Implement PreviewVolume and sampler for 16 x 16 x 5. +- Validate sampled block counts and bounds. + +3. Rendering + +- Implement BlockDisplay spawning, tracking, and cleanup. +- Add batch rendering and caps. +- Add optional spin scheduler/transform updates. + +4. Integration + +- Wire into limbo join/prep/regenerate/start-run/reset lifecycle. +- Add prep/lobby control for regenerate. +- Enforce all-ready gate before countdown. +- Remove ready book exactly on countdown start. + +5. Verification + +- Run gradle tests. +- Manual server test pass using minecraft-test instance. + +## Open Decisions + +- Exact pedestal anchor location in prep world. +- Whether to include transparent blocks (water/leaves) in Phase 1 surface sampling. +- Whether seed should be shown to players or admins only. +- Whether preview should be per-team or global shared. +- What counts as active players for all-ready gating (online only vs participants only). + +## Definition of Done + +- A visible 3D holographic terrain preview appears in prep. +- Regenerate action replaces it with a seed-different preview. +- Preview is always cleaned up at run start/reset/disable. +- Feature can be disabled via config. +- Build/tests pass and manual in-server checks succeed. diff --git a/Docs/Refactoring-Roadmap.md b/Docs/Refactoring-Roadmap.md new file mode 100644 index 0000000..30adad8 --- /dev/null +++ b/Docs/Refactoring-Roadmap.md @@ -0,0 +1,191 @@ +# DeepCore Refactoring Roadmap + +## Goal + +Reduce complexity in challenge orchestration code, improve readability, and make behavior safer to change with smaller, focused classes. + +## Current baseline + +- Core orchestration is still concentrated in ChallengeSessionManager. +- Good progress already exists via extracted services: + - SharedInventorySyncService + - SharedVitalsService + - DegradingInventoryService + - PrepGuiRenderer + - PrepCountdownService + - PausedRunStateService + - LobbySidebarService + +## Priority order + +1. Extract the largest remaining domains from ChallengeSessionManager. +2. Reduce event-handler noise by routing events through feature-specific listener classes. +3. Introduce explicit state objects for run lifecycle and preview lifecycle. +4. Centralize config keys and remove string duplication. +5. Add targeted tests for each extracted behavior boundary. + +## Refactor backlog + +### P0: High impact cleanup + +1. Extract Preview/Hologram domain into PreviewOrchestratorService. + +- Move preview build, destroy, spin, seed reveal, and display-entity lifecycle logic. +- Move related fields from manager into a single PreviewState object. +- Keep manager responsible only for calling high-level preview actions. + +2. Extract Portal and dimension routing into PortalRoutingService. + +- Move methods that resolve linked worlds, end platform creation, and portal transit targets. +- Keep all cross-world mapping and cooldown checks in one place. + +3. Extract RunProgressService. + +- Move world progression markers (nether reached, blaze objective, end reached, dragon killed). +- Move objective text and split calculation support. +- Expose immutable snapshot API for sidebar/action bar rendering. + +4. Extract ActionBarTickerService. + +- Move task scheduling for run status/action bar updates. +- Keep the manager free of repeating timer mechanics. + +5. Extract RespawnRoutingService. + +- Move pending respawn world tracking and run/lobby respawn resolution. +- Keep death/respawn event handlers small and declarative. + +6. Split event handlers into dedicated listeners. + +- Create one listener per domain: + - SessionLifecycleListener + - InventoryMechanicsListener + - SharedVitalsListener + - PortalTransitListener + - PreviewListener +- Keep ChallengeSessionManager as coordinator only. + +### P1: Readability and maintainability + +7. Replace scattered config path constants with typed config accessor. + +- Create ChallengeConfigView with methods like previewEnabled(), countdownSeconds(), degradingMinSlots(). +- Remove direct string-path lookups from hot paths. + +8. Introduce SessionState aggregate. + +- Group run timestamps, phase, paused timings, and elimination sets. +- Reduce constructor and field sprawl in manager. + +9. Introduce immutable value objects for repeated concepts. + +- SplitTimes +- RunProgressSnapshot +- SidebarModel +- PreviewAnchorConfig + +10. Normalize scheduler lifecycle handling. + +- Replace repeated cancelTask patterns with TaskGroup helper. +- One place to register, cancel, and clear all per-phase tasks. + +11. Reduce repeated online participant scans. + +- Introduce ParticipantsView with filtered views: + - onlineParticipants() + - activeParticipants() + - sharedVitalsParticipants() + +12. Move prep border logic into PrepAreaService. + +- Keep border apply, clamp, and area checks together. + +13. Move prep book operations into PrepBookService. + +- Keep key creation, item construction, detection, and give/remove logic in one class. + +14. Consolidate world naming and limbo checks. + +- Create WorldClassificationService for limbo, lobby, active run world classification. + +15. Eliminate direct static Bukkit calls in deeper services where possible. + +- Pass small interfaces or adapters to improve testability. + +### P2: Design consistency and polish + +16. Standardize naming and intent. + +- Use names that indicate side effects, for example: + - scheduleSharedInventorySync -> requestSharedInventorySync + - maybeStartCountdown -> tryStartCountdown + +17. Flatten long methods into command-style steps. + +- Example for startRun: + - validateStartPreconditions + - transitionToRunningPhase + - prepareParticipantsForRun + - launchRunTasks + +18. Replace magic numbers with grouped constants objects. + +- Example groups: + - PreviewTuning + - SidebarLayout + - EndPlatformLayout + +19. Move record formatting to dedicated formatter classes. + +- RunRecordFormatter for timestamp, split display, participant list display. + +20. Add package-level architecture notes. + +- Explain class responsibilities and dependency direction in challenge package docs. + +## Completed package moves + +- `dev.deepcore.records` → `dev.deepcore.challenge.records` (RunRecord, RunRecordsService + tests) +- `dev.deepcore.challenge.{ChallengeCommand,LobbyCommand,ChallengeCoreCommandHandler,ChallengeLogsCommandHandler,ChallengeAdminFacade}` → `dev.deepcore.challenge.command` (+ tests) +- `dev.deepcore.challenge.PrepGuiPage` → `dev.deepcore.challenge.ui.PrepGuiPage` + +## Suggested target package layout + +- dev.deepcore.challenge.session +- dev.deepcore.challenge.events +- dev.deepcore.challenge.inventory +- dev.deepcore.challenge.vitals +- dev.deepcore.challenge.preview +- dev.deepcore.challenge.portal +- dev.deepcore.challenge.ui +- dev.deepcore.challenge.world +- dev.deepcore.challenge.config +- dev.deepcore.challenge.records +- dev.deepcore.challenge.command + +## Safe execution sequence + +1. PreviewOrchestratorService extraction. +2. PortalRoutingService extraction. +3. RunProgressService extraction. +4. ActionBarTickerService extraction. +5. RespawnRoutingService extraction. +6. Listener split by domain. +7. SessionState and ChallengeConfigView introduction. +8. Remaining P1 and P2 cleanup. + +## Definition of done for each extraction + +- Build passes with gradlew classes. +- No behavior drift in manual smoke tests: + - prep flow and ready countdown + - shared inventory and shared vitals + - portal travel and respawn routing + - preview build/destroy animations + - sidebar and action bar updates +- Manager class size and field count both decrease after each slice. +- New code has clear responsibility boundaries and minimal cross-service leakage. + +## Suggested first implementation slice + +Extract PreviewOrchestratorService first. It has the highest complexity concentration and gives the largest readability gain with minimal functional risk if done incrementally. diff --git a/Docs/ResolvedTicketSummaries.md b/Docs/ResolvedTicketSummaries.md new file mode 100644 index 0000000..eac94e9 --- /dev/null +++ b/Docs/ResolvedTicketSummaries.md @@ -0,0 +1,81 @@ +# Resolved Ticket Summaries + +--- + +## Difficulty Setting + +### Summary: + +Add an Easy, Normal, and Hard difficulty selector to the challenge preparation screen, persist the chosen difficulty when a run is recorded, and display it alongside each entry in the completed runs history. + +### Description: + +The preparation screen had no way to set the world difficulty before starting a run. Players needed a visible, toggleable selector that cycled through Easy, Normal, and Hard on click. The selected difficulty needed to carry through to the actual Minecraft world when the run started — not just exist as a label — and be saved permanently with each completed run record so past runs could be reviewed with their difficulty context intact. Existing run history required a non-destructive migration so old records were preserved without difficulty data rather than wiped. + +--- + +**Estimated Ideal Time:** 5 hours + +--- + +## Shared Inventory & Armor Sync Bugs + +### Summary: + +Fix a set of bugs in the shared inventory system where equipping or un-equipping armor corrupted other players' inventory views, item movement between slots lagged by one interaction for other players, and placing a boat caused it to briefly reappear in the placer's inventory. + +### Description: + +The shared inventory mechanic, which keeps all participants' inventories synchronised in real time, exhibited three distinct failure modes under normal gameplay. First, equipping a piece of armor removed the equivalent armor piece from other players who already had something in that slot, destroying items that should have been untouched. Second, moving an item between inventory slots (for example picking up dirt and placing it elsewhere) caused other players to see the item disappear then reappear one interaction later, creating a persistent one-event lag in their view. Third, placing a boat consumed it from the hand correctly on the placer's side but briefly re-showed it in the placer's inventory before disappearing, which also created a desync for other participants. Each bug had a distinct cause related to when the sync read inventory state relative to when Bukkit actually applied the mutation. + +--- + +**Estimated Ideal Time:** 6 hours + +--- + +## Completed Run Mechanics Display + +### Summary: + +Show the full list of enabled challenge mechanics for each completed speedrun in the run history screen, so players can see exactly which modifiers were active during any past attempt. + +### Description: + +The completed runs history screen showed split times and participant names but gave no indication of which challenge mechanics (shared inventory, shared health, degrading inventory, etc.) were active during that run. Players had no way to compare runs across different configurations or understand the context of a past record. The feature needed to capture the active mechanics at the moment the dragon was killed and attach them permanently to the run record. Runs completed before this feature was added needed to display gracefully with a neutral label rather than showing blank or broken data. + +--- + +**Estimated Ideal Time:** 2 hours + +--- + +## Configurable Test Database + +### Summary: + +Allow the run-records database filename to be set in the server configuration so a separate development database can be used without touching production run history. + +### Description: + +Testing the completed runs screen or trialling new run configurations required either risking pollution of the live run history or manually moving database files. There was no way to point the plugin at a separate database for development or QA purposes. The feature needed to let server operators specify a different database filename in the configuration file, have that database created and fully migrated on startup if it did not exist, and revert to the production database with a one-line config change. The default behaviour needed to remain unchanged for servers that did not set the option. + +--- + +**Estimated Ideal Time:** 1 hour + +--- + +## Persistent Speedrun Save and Restore + +### Summary: + +Allow participants to unanimously vote to save the current run state to disk, pause the session, and later restore it exactly — including player positions, inventories, health, and timer state — via an admin command. + +### Description: + +The existing pause and resume system kept run state only in memory, meaning a server restart or unexpected shutdown lost all run progress. There was no way to save a run mid-session and return to it later. The feature required a unanimous vote system where every online participant had to agree before the save occurred, ensuring no single player could unilaterally pause the run. The saved state needed to capture enough information to reconstruct the run exactly: where each player was, what they were carrying, their health and status effects, the elapsed timer, and which milestones (Nether, Blaze, End) had already been reached. When restored, the run timer needed to account for however long the team spent in the lobby between saving and restoring, so that lobby time was not counted against the final run time. Restore was intentionally restricted to an admin-only command with no in-game GUI item, to prevent accidental or unauthorised restores. + +--- + +**Estimated Ideal Time:** 10 hours diff --git a/Docs/SpeedrunProgression.md b/Docs/SpeedrunProgression.md new file mode 100644 index 0000000..5477bd1 --- /dev/null +++ b/Docs/SpeedrunProgression.md @@ -0,0 +1,259 @@ +# DeepCore Speedrun Difficulty Progression + +Objective: spawn → kill the Ender Dragon. + +Each tier adds one or more mechanics that compound on the previous ones. Configurations are ordered from least punishing to most punishing. Every configuration is a valid preset in the system (`ChallengeMode` key listed for reference). + +--- + +## Mechanics Reference + +| Mechanic | OFF means | ON means | +|---|---|---| +| **Keep Inventory** | Items drop on death | Items are kept on death | +| **Hardcore** | Unlimited deaths | Run ends on first death | +| **Health Refill** | No natural regen (potions/beacons still heal) | Passive regen from full hunger bar | +| **Shared Inventory** | Each player has independent items | All players draw from and deposit into a single shared pool | +| **Shared Health** | Each player has independent HP | All players share one HP pool; any hit on anyone damages everyone | +| **Degrading Inventory** | Inventory slots are fixed | Available slots shrink over time, eventually capping at 5 | +| **Initial Half Heart** | Run starts at full HP | Run starts at 0.5 HP per life (mutually exclusive with Health Refill) | + +> **Note on Health Refill OFF:** only passive saturation-based regen is blocked. Regeneration status effects (potions, beacons, golden apples) still apply and are the primary healing source once natural regen is disabled. + +--- + +## Tier 1 — Practice Mode + +**Mode key:** `keep_inventory_non_hardcore` + +| Mechanic | State | +|---|---| +| Keep Inventory | ON | +| Hardcore | OFF | +| Health Refill | ON | +| Shared Inventory | OFF | +| Shared Health | OFF | +| Degrading Inventory | OFF | +| Initial Half Heart | OFF | + +**What this feels like:** Pure execution practice. Items are kept on every death, health refills naturally, and deaths have no run-ending consequence. Best used for learning routes, practicing combat, or familiarising with the plugin's mechanics before attempting a real run. + +**Key pressure:** None. This is a training configuration. + +--- + +## Tier 2 — Standard + +**Mode key:** `lose_inventory_non_hardcore` + +| Mechanic | State | +|---|---| +| Keep Inventory | OFF | +| Hardcore | OFF | +| Health Refill | ON | +| Shared Inventory | OFF | +| Shared Health | OFF | +| Degrading Inventory | OFF | +| Initial Half Heart | OFF | + +**What this feels like:** Classical Minecraft. Dying loses all carried items, but the run continues. Health refills naturally between fights. The main risk is losing a critical item (sword, pearls, blaze rods) on a bad death and spending time recovering. + +**Step up from Tier 1:** Item loss on death makes every fight consequential without ending the run outright. + +--- + +## Tier 3 — Standard with Shared Inventory + +**Mode key:** `lose_inventory_non_hardcore_shared_inventory` + +| Mechanic | State | +|---|---| +| Keep Inventory | OFF | +| Hardcore | OFF | +| Health Refill | ON | +| Shared Inventory | ON | +| Shared Health | OFF | +| Degrading Inventory | OFF | +| Initial Half Heart | OFF | + +**What this feels like:** Tier 2 but the team operates from a single item pool. One player picking up iron is iron available to everyone; one player dying drops the shared supply. Team coordination and awareness of who is carrying what becomes essential. A careless death can strip the team of critical crafting materials mid-run. + +**Step up from Tier 2:** Inventory is no longer isolated per player. A bad death from one member affects everyone's resource availability. + +--- + +## Tier 4 — Hardcore Classic + +**Mode key:** `hardcore_health_refill` + +| Mechanic | State | +|---|---| +| Keep Inventory | OFF | +| Hardcore | ON | +| Health Refill | ON | +| Shared Inventory | OFF | +| Shared Health | OFF | +| Degrading Inventory | OFF | +| Initial Half Heart | OFF | + +**What this feels like:** One life. Health still refills naturally, so the pacing feels similar to standard Minecraft, but every mistake carries the possibility of ending the run entirely. Fights that were previously recoverable (gravel fall, creeper, skeleton barrage) now require full attention. + +**Step up from Tier 3:** Introducing the concept of a finite run. Any death ends it. Health regen provides a safety buffer between engagements. + +--- + +## Tier 5 — Hardcore, No Natural Regen + +**Mode key:** `hardcore_no_refill` + +| Mechanic | State | +|---|---| +| Keep Inventory | OFF | +| Hardcore | ON | +| Health Refill | OFF | +| Shared Inventory | OFF | +| Shared Health | OFF | +| Degrading Inventory | OFF | +| Initial Half Heart | OFF | + +**What this feels like:** One life, and health does not recover on its own. Every heart of damage taken is permanent unless actively healed with a regeneration potion, golden apple, or beacon. Resource management shifts significantly: healing items become as important as weapons and food. Players must route around obtaining healing supplies while maintaining speed. + +**Step up from Tier 4:** Damage is now a resource. Taking a hit in the Nether is a choice that costs healing materials, not just time. + +--- + +## Tier 6 — Hardcore, No Regen, Shared Inventory + +**Mode key:** `hardcore_no_refill_shared_inventory` + +| Mechanic | State | +|---|---| +| Keep Inventory | OFF | +| Hardcore | ON | +| Health Refill | OFF | +| Shared Inventory | ON | +| Shared Health | OFF | +| Degrading Inventory | OFF | +| Initial Half Heart | OFF | + +**What this feels like:** Tier 5 but the healing resource pool is now shared. One player burning through golden apples forces every other player to operate on a thinner supply. Potions brewed by one player are available to all, which rewards splitting roles (one player prioritising Nether Wart and Blaze Powder while others gather materials), but punishes uncoordinated consumption. + +**Step up from Tier 5:** Healing supplies and all other items are shared across the team. Wasteful play by any one member degrades everyone's safety margin. + +--- + +## Tier 7 — Shared Health, Natural Regen + +**Mode key:** `hardcore_shared_health` + +| Mechanic | State | +|---|---| +| Keep Inventory | OFF | +| Hardcore | ON | +| Health Refill | ON | +| Shared Inventory | OFF | +| Shared Health | ON | +| Degrading Inventory | OFF | +| Initial Half Heart | OFF | + +**What this feels like:** All players draw from the same health pool. A skeleton hitting Player A also drains health from Player B. The effective HP ceiling is 20 (not 20 per player), so the team must behave like a single entity in combat. Natural regen provides recovery between engagements, which provides some breathing room, but simultaneous combat across multiple players can overwhelm the pool faster than it refills. + +**Step up from Tier 6:** Combat decisions by one player directly and immediately affect every other player's survivability. Splitting up to fight separate enemies simultaneously is now extremely dangerous. + +--- + +## Tier 8 — Shared Health, No Regen + +**Mode key:** `hardcore_shared_health_no_refill` + +| Mechanic | State | +|---|---| +| Keep Inventory | OFF | +| Hardcore | ON | +| Health Refill | OFF | +| Shared Inventory | OFF | +| Shared Health | ON | +| Degrading Inventory | OFF | +| Initial Half Heart | OFF | + +**What this feels like:** Tier 7 without the safety net of natural regen. Every hit to any player is permanent until actively healed. The shared pool means a careless moment anywhere on the map — a mob while mining, an unexpected creeper in the Nether — drains everyone. Healing resources must be actively manufactured and rationed. + +**Step up from Tier 7:** Damage is permanent and shared. Combat avoidance and passive regen from food is no longer an option. Every engagement must be considered against the cost of the shared HP it will consume. + +--- + +## Tier 9 — Shared Health, No Regen, Shared Inventory + +**Mode key:** `hardcore_shared_health_no_refill_shared_inventory` + +| Mechanic | State | +|---|---| +| Keep Inventory | OFF | +| Hardcore | ON | +| Health Refill | OFF | +| Shared Inventory | ON | +| Shared Health | ON | +| Degrading Inventory | OFF | +| Initial Half Heart | OFF | + +**What this feels like:** The full co-op pressure configuration. HP is shared and permanent; all items including healing materials are in one pool. Every potion, every golden apple, and every food item is a shared resource competing between immediate healing need and future combat. One person pulling pork chops from the shared pool while another is desperately low on health can cost the run. Role specialisation (combat, supply, logistics) becomes almost mandatory. + +**Step up from Tier 8:** Combines the shared HP pressure with shared supply pressure. Every system the team relies on (health, items, crafting materials) is communal and finite. + +--- + +## Tier 10 — Shared Health, No Regen, Degrading Inventory + +**Mode key:** `hardcore_shared_health_no_refill_degrading_inventory` + +| Mechanic | State | +|---|---| +| Keep Inventory | OFF | +| Hardcore | ON | +| Health Refill | OFF | +| Shared Inventory | OFF | +| Shared Health | ON | +| Degrading Inventory | ON | +| Initial Half Heart | OFF | + +**What this feels like:** Tier 8 with an added clock. As time passes, each player's available inventory slots shrink, eventually capping at 5 slots. Items in locked slots are lost. Slower runs are self-penalising: the team that takes an hour collecting iron will reach the End with far less carrying capacity than a team that pushes efficiently. Speed is no longer just about the timer — it is a survival mechanic. + +**Step up from Tier 9:** Introduces a hard time pressure that compounds every other constraint. Taking longer to complete the run actively degrades the team's ability to carry the resources needed to finish it. + +--- + +## Tier 11 — Full DeepCore (Maximum Difficulty) + +**Mode key:** `hardcore_shared_health_no_refill_degrading_inventory_initial_half_heart` + +| Mechanic | State | +|---|---| +| Keep Inventory | OFF | +| Hardcore | ON | +| Health Refill | OFF | +| Shared Inventory | OFF | +| Shared Health | ON | +| Degrading Inventory | ON | +| Initial Half Heart | ON | + +**What this feels like:** Everything at once. The run begins with the shared HP pool at 0.5 HP. A single arrow, fall, or contact with fire ends the run before any gear is obtained. The opening minutes require playing at near-zero health while gathering enough materials to begin healing — in a world where healing is non-trivial and inventory space is already counting down. Every subsequent mechanic from every previous tier stacks simultaneously. + +**Why this is the hardest:** The vulnerability of the initial half-heart creates an extremely fragile opening that cannot be skipped or prepared for. Surviving the first few minutes requires near-perfect play under conditions that would end most runs at Tier 4 or below. If the team survives that window, they then face the full weight of permanent shared damage, no passive recovery, and a shrinking inventory with a hard deadline. + +--- + +## Progression Summary + +| Tier | Name | Deaths | Items on Death | Regen | Shared Inv | Shared HP | Degrading Inv | Half Heart | +|---|---|---|---|---|---|---|---|---| +| 1 | Practice | Unlimited | Kept | Natural | — | — | — | — | +| 2 | Standard | Unlimited | Lost | Natural | — | — | — | — | +| 3 | Standard + Shared Inv | Unlimited | Lost | Natural | Shared | — | — | — | +| 4 | Hardcore Classic | 1 life | Lost | Natural | — | — | — | — | +| 5 | Hardcore No Regen | 1 life | Lost | Potions only | — | — | — | — | +| 6 | Hardcore No Regen + Shared Inv | 1 life | Lost | Potions only | Shared | — | — | — | +| 7 | Shared Health + Regen | 1 life | Lost | Natural | — | Shared | — | — | +| 8 | Shared Health No Regen | 1 life | Lost | Potions only | — | Shared | — | — | +| 9 | Shared Health + Shared Inv | 1 life | Lost | Potions only | Shared | Shared | — | — | +| 10 | Degrading Inventory | 1 life | Lost | Potions only | — | Shared | Shrinking | — | +| 11 | Full DeepCore | 1 life | Lost | Potions only | — | Shared | Shrinking | 0.5 HP | diff --git a/Docs/Ticket-Progress/ONGOING-simple-voice-chat-challenge.txt b/Docs/Ticket-Progress/ONGOING-simple-voice-chat-challenge.txt new file mode 100644 index 0000000..739ca46 --- /dev/null +++ b/Docs/Ticket-Progress/ONGOING-simple-voice-chat-challenge.txt @@ -0,0 +1,161 @@ +TICKET: ONGOING-simple-voice-chat-challenge +STATUS: Active — design phase, no implementation started + +============================================================== +OVERVIEW + +A challenge mode where each participant is assigned a sensory restriction role. +The three core roles are Blind, Mute, and Deaf. At least three players are +required. Additional players each receive a randomly selected role from those +three. All text chat is disabled for every participant while the mode is active, +forcing all communication exclusively through Simple Voice Chat — which is then +selectively restricted per role. + +Requires the Simple Voice Chat (henkelmax) plugin to be installed on the server. + +============================================================== +ROLES + + BLIND + - Continuous Darkness status effect (amplifier 1, refreshed every few ticks) + - No helmet slot impact; armor slot remains free + - Can still speak and hear via SVC + - Cannot read text chat (screen is blacked out by Darkness) + + MUTE + - Cannot transmit voice: MicrophonePacketEvent is cancelled for this player + - Cannot send text chat: AsyncChatEvent is cancelled for this player + - Can hear others via SVC + - Can see the screen normally + + DEAF + - Cannot receive voice: SoundPacketEvent is cancelled for this player + - Can transmit voice (others can hear them, they cannot hear back) + - Cannot send text chat: AsyncChatEvent is cancelled for this player + - Can see the screen normally + + TEXT CHAT (ALL PLAYERS) + - AsyncChatEvent is cancelled for every participant while this mode is active + - Applies regardless of role — forces all communication through SVC only + - Players receive a feedback message on attempt: "Text chat is disabled in + this challenge mode." + +============================================================== +ROLE ASSIGNMENT + + - Minimum 3 players required to start; warn and block if fewer + - Shuffle participant list at run start using a seeded random (or ThreadLocalRandom) + - First player in shuffled list → Blind + - Second player → Mute + - Third player → Deaf + - Fourth player and beyond → randomly assigned one of {Blind, Mute, Deaf} + independently (duplicates of a role across players are allowed) + - Roles are fixed for the duration of the run + - Roles are announced privately to each player on assignment + +============================================================== +SVC API INTEGRATION + + Dependency (Gradle): + implementation "de.maxhenkel.voicechat:voicechat-api:2.x.x" + repository: https://maven.maxhenkel.de/repository/public + + Detection at runtime: + BukkitVoicechatService svc = + getServer().getServicesManager().load(BukkitVoicechatService.class); + If null → SVC is not installed. Block mode activation and warn admins. + + Mute enforcement (outgoing audio): + Listen to MicrophonePacketEvent (fired per audio packet from a player's mic). + If the source player has the Mute role → event.setCancelled(true). + This silences them to all other players without any client-side action. + + Deaf enforcement (incoming audio): + Listen to SoundPacketEvent (fired before audio is delivered to a client). + If the receiving player has the Deaf role → event.setCancelled(true). + This drops the audio packet before it reaches the deaf player's client. + + API limitation note: + SVC does not expose a server-side force-mute or force-deafen method. + The packet event cancellation approach above is the correct server-authoritative + path. This does not depend on any client mod behaviour — it is enforced + entirely on the server before packets leave. + +============================================================== +REQUIREMENTS + + R1. A new ChallengeComponent (SENSORY_CHALLENGE or similar) acts as the toggle. + When disabled, none of the role logic or chat suppression applies. + + R2. A SensoryRoleService handles: + - Role assignment at run start + - Persistent role map (UUID → SensoryRole enum) for the run duration + - Role announcement to each player + - Darkness effect loop (scheduled repeating task) for Blind players + - Cleanup on run end (cancel tasks, clear role map, restore chat) + + R3. A SVC listener class registers MicrophonePacketEvent and SoundPacketEvent. + Must soft-depend on SVC — if SVC is absent, this class is never registered + and the mode cannot activate (with a clear error message). + + R4. AsyncChatEvent listener cancels outgoing messages from all participants + when SENSORY_CHALLENGE is active, regardless of role. + + R5. Minimum player count guard: if fewer than 3 participants are registered, + the mode cannot start. Reuse or extend existing RunStartGuardService. + + R6. Roles are revealed to each player individually (not broadcast to the group). + Other players do not know each other's roles. + + R7. On run end (challenge complete, failure, or admin stop), all restrictions + are lifted: Darkness tasks cancelled, role map cleared, chat restored. + +============================================================== +OPEN DESIGN QUESTIONS + + Q1. Should roles be displayed on the sidebar/HUD, or kept strictly hidden? + Displaying to the role-holder (not others) would help orientation. + + Q2. Should Blind players also have text chat blocked server-side, or is the + Darkness effect sufficient (they can't read it anyway)? + Lean: block it server-side for consistency with the no-communication intent. + + Q3. What happens when a player dies and respawns? Roles should persist across + death — confirm this is the intended behaviour. + + Q4. Should the Blind player's Darkness effect be visible to other players (i.e. + is the assignment public knowledge)? Current design: roles are private. + + Q5. Minimum player count: is 3 a hard minimum, or can the mode run with 2 + (assigning only two of the three roles)? + +============================================================== +TASKS + + [ ] T1. Add SensoryRole enum {BLIND, MUTE, DEAF} + [ ] T2. Add SENSORY_CHALLENGE to ChallengeComponent + [ ] T3. Implement SensoryRoleService + - assignRoles(List participants) + - getRoleForPlayer(UUID id) → Optional + - startBlindnessLoop(Player) / stopBlindnessLoop(Player) + - clearAll() + [ ] T4. Add SVC dependency to build.gradle (soft-depend, compileOnly) + [ ] T5. Implement SvcSensoryListener (MicrophonePacketEvent, SoundPacketEvent) + registered only when SVC is detected at startup + [ ] T6. Add AsyncChatEvent handler to block chat for all participants + [ ] T7. Wire role assignment into run-start lifecycle + (after participant list is finalised, before world teleport) + [ ] T8. Wire cleanup into run-end lifecycle + [ ] T9. Extend RunStartGuardService with minimum-player-count check for this mode + [ ] T10. Tests for SensoryRoleService (role distribution, minimum count guard, + cleanup behaviour) + [ ] T11. Update SpeedrunProgression.md to include this mode's placement in + the difficulty ladder (likely a separate axis from the existing tiers, + as it is co-op communication-based rather than resource-based) + +============================================================== +CURRENT PROGRESS + + - Design discussion complete + - SVC API capabilities confirmed (packet event cancellation is server-authoritative) + - Ticket written; no code written yet diff --git a/Docs/Ticket-Progress/RESOLVED-config_info_completed.txt b/Docs/Ticket-Progress/RESOLVED-config_info_completed.txt new file mode 100644 index 0000000..c857311 --- /dev/null +++ b/Docs/Ticket-Progress/RESOLVED-config_info_completed.txt @@ -0,0 +1,34 @@ +Completed-run info / configuration display — feature log + +============================================================== +Feature: +Show the enabled mechanics (challenge components) for each completed speedrun in the +"Completed Runs" GUI page, so players can see exactly which modifiers were active +during any past run. + +Implementation notes: +- Added componentsCsv field to RunRecord (9th constructor param, mirrors participantsCsv). +- getComponentKeys() parses the stored CSV into a List of component keys. +- RunRecordsService.recordRun() accepts List enabledComponents as a new param. +- DB schema updated: components TEXT NOT NULL DEFAULT '' column added to run_records. +- Non-destructive migration: ALTER TABLE ADD COLUMN runs on initialize() if the column + is absent, so existing run history is preserved (old runs show "Standard (no modifiers)"). +- RunCompletionService receives a Supplier> at construction; + at dragon-kill time it resolves the list, maps to keys, and passes to recordRun(). +- ChallengeSessionManager supplies a lambda that filters challengeManager.getComponentToggles() + to only enabled entries. +- PrepGuiRenderer.createRunRecordItem() appends a "Mechanics" lore section after split times: + each enabled component is listed as a green bullet using its display name. + Empty component list (standard run or pre-feature record) shows "Standard (no modifiers)". + +Status: implemented and tested. + +Files changed: +- RunRecord.java +- RunRecordsService.java +- RunCompletionService.java +- ChallengeSessionManager.java +- PrepGuiRenderer.java +- RunRecordTest.java +- RunCompletionServiceTest.java +- RunRecordsServiceTest.java diff --git a/Docs/Ticket-Progress/RESOLVED-difficulty-setting.txt b/Docs/Ticket-Progress/RESOLVED-difficulty-setting.txt new file mode 100644 index 0000000..70fe63b --- /dev/null +++ b/Docs/Ticket-Progress/RESOLVED-difficulty-setting.txt @@ -0,0 +1,103 @@ +TICKET: RESOLVED-difficulty-setting +STATUS: Resolved + +FEATURE SUMMARY: +Add an Easy/Normal/Hard difficulty setting to the DeepCore prep GUI categories page. +The difficulty cycles on click (slot 31), is saved when a successful run completes, +and is displayed in the completed runs GUI (run history lore). + +COMPLETED WORK: + +1. ChallengeDifficulty.java (NEW) + - Enum with EASY/NORMAL/HARD entries + - key(), displayName(), next() (cycles), fromKey(String) methods + +2. ChallengeManager.java (MODIFIED) + - Added DIFFICULTY_PATH = "challenge.difficulty" config key + - Added private ChallengeDifficulty difficulty field (default NORMAL) + - loadFromConfig() reads difficulty from config + - saveToConfig() persists difficulty.key() + - Added getDifficulty() and setDifficulty(ChallengeDifficulty) (auto-saves) + +3. PrepSettingsService.java (MODIFIED) + - Added cycleDifficulty() — calls challengeManager.setDifficulty(getDifficulty().next()) + +4. PrepGuiRenderer.java (MODIFIED) + - populateCategoriesPage() signature extended: now accepts ChallengeDifficulty difficulty + and boolean savedRunExists + - Slot 31: difficulty cycling item (LIME_DYE=Easy, YELLOW_DYE=Normal, RED_DYE=Hard) + - Slot 33: conditional "Restore Saved Run" button (RESPAWN_ANCHOR), only when savedRunExists=true + - createRunRecordItem() adds "Difficulty: " line to run history lore + - Added formatDifficulty(String) and createDifficultyItem(ChallengeDifficulty) helpers + +5. PrepGuiCoordinatorService.java (MODIFIED) + - Constructor extended with BooleanSupplier savedRunExistsSupplier and Runnable restoreSavedRunFlow + - openPrepGui() CATEGORIES branch passes challengeManager.getDifficulty() and + savedRunExistsSupplier.getAsBoolean() to the renderer + +6. PrepGuiFlowService.java (MODIFIED) + - handleClick() gains 11th parameter: Runnable restoreSavedRunFlow + - Slot 31 on CATEGORIES page: calls prepSettingsService.cycleDifficulty() + refresh + - Slot 33 on CATEGORIES page: calls restoreSavedRunFlow.run() + +7. RunRecord.java (MODIFIED) + - Added private final String difficulty as 10th field + - Constructor null-guards to "" for missing difficulty + - Added getDifficulty() getter + +8. RunRecordsService.java (MODIFIED) + - DDL includes difficulty TEXT NOT NULL DEFAULT '' + - addDifficultyColumn() migration: ALTER TABLE ADD COLUMN if column missing + - recordRun() accepts String difficulty (9th param), bound into INSERT + - getAllRecords() SELECT includes difficulty, passed to RunRecord constructor + +9. RunCompletionService.java (MODIFIED) + - Added Supplier difficultyKeySupplier field + - recordRunIfAvailable() passes difficultyKeySupplier.get() to recordsService.recordRun() + +10. ChallengeSessionManager.java (MODIFIED) + - RunCompletionService constructed with () -> challengeManager.getDifficulty().key() + - PrepGuiCoordinatorService constructed with savedRunStateService::hasSavedRun and restore lambda + +SESSION 2 COMPLETED WORK: + +11. Unit tests updated across all affected files: + - RunRecordTest.java: All 7 RunRecord constructors updated to 10-arg (added "" or "hard" + difficulty); new getDifficulty_returnsStoredValue_andNullBecomesEmpty() test added. + - RunRecordsServiceTest.java: initialize test updated with pragma3Stmt/pragma3Rs mocks for + difficulty column PRAGMA check; recordRun calls updated to 9-arg with difficulty string; + initialize_recreatesLegacySchema updated for fresh schema (pragma3Rs returns true since + column already exists in recreated schema). + - RunCompletionServiceTest.java: newService() helper updated with () -> "normal" between + enabledComponentsSupplier and log; all recordRun verify calls updated with eq("normal") + as 9th arg. + - PrepGuiRendererTest.java: populateCategoriesPage call updated with ChallengeDifficulty.NORMAL + and false; RunRecord constructors in history list updated to 10-arg. + - PrepGuiCoordinatorServiceTest.java: Fixture constructor updated with savedRunExistsSupplier + (() -> false) and restoreSavedRunFlow (mock Runnable) before prepGuiTitle; added + when(challengeManager.getDifficulty()).thenReturn(ChallengeDifficulty.NORMAL); all three + handleClick verify calls updated with 11th any() argument. + - PrepGuiFlowServiceTest.java: All handleClick calls (16 total) updated to pass mock(Runnable.class) + as 11th argument for restoreSavedRunFlow. + +BUG FIX (Session 2): + Issue: Setting difficulty to Hard in the prep GUI had no effect on the actual Minecraft world + difficulty — worlds remained on Easy (server default). + + Root cause: SessionRulesCoordinatorService.syncWorldRules() only applied the KEEP_INVENTORY + gamerule. It never called World.setDifficulty(), so the Bukkit world difficulty was never + updated regardless of what ChallengeDifficulty was selected. + + Fix (SessionRulesCoordinatorService.java): + - Added imports: ChallengeDifficulty, org.bukkit.Difficulty + - Compute Difficulty worldDifficulty before the worlds loop: + Difficulty worldDifficulty = challengeManager.isEnabled() + ? Difficulty.valueOf(challengeManager.getDifficulty().name()) + : Difficulty.NORMAL; + - Added world.setDifficulty(worldDifficulty) inside the worlds loop alongside the + existing world.setGameRule() call. + - Mapping works directly: ChallengeDifficulty enum names (EASY/NORMAL/HARD) match + org.bukkit.Difficulty enum constants exactly, so Difficulty.valueOf(...name()) is safe. + - Falls back to NORMAL when challenge is disabled. + +STATUS: Resolved diff --git a/Docs/Ticket-Progress/RESOLVED-inventory-armor-bugs.txt b/Docs/Ticket-Progress/RESOLVED-inventory-armor-bugs.txt new file mode 100644 index 0000000..5754199 --- /dev/null +++ b/Docs/Ticket-Progress/RESOLVED-inventory-armor-bugs.txt @@ -0,0 +1,63 @@ +Shared inventory / armor bugs — resolved log + +============================================================== +Problem: +When a player equips armor, it removes that same slot from other players who have an armor piece already in that slot. + +Working note: +We only need to remove the armor piece from the slot it was originally selected from in the other players' inventories. We do not need to search for the armor piece and remove it wherever it is. + +Attempt log: +- Approach 1: remove by original slot index in other inventories. + - Status: not tried yet + - Expected result: preserve unrelated armor pieces and only clear the mirrored source slot. + - Result: pending +- Approach 2: sync shared inventory immediately on each event, and only defer if a sync is already in progress. + - Status: worked + - Expected result: preserve pickup/order correctness under rapid inventory changes. + - Result: passed focused shared-inventory tests. +- Approach 3: defer pickup and block-place sync by 1 tick so Bukkit finalizes the inventory mutation first. + - Status: worked + - Expected result: stop boats and picked-up items from being re-synced before the consume happens. + - Result: passed focused inventory-mechanics tests. + +Related finding: +- Bed respawn behavior is not handled by shared inventory; the speedrun session respawn routing was overriding the vanilla respawn location. +- The run-phase handler now preserves non-default respawn locations like beds and only redirects the default world-spawn respawn. + +Status: RESOLVED + +============================================================== +Problem: +When moving an item between slots (e.g. picking up dirt then placing it in another slot), other players' +inventories lag by one event — the dirt disappears from others' view on the slot-move click, then reappears +in the original slot on the next interaction. + +Root cause: +InventoryClickEvent fires before Bukkit applies the slot mutation. The PlayerInventory branch was calling +requestSharedInventorySync + flushPendingSharedInventorySync synchronously, so the pre-mutation state was +broadcast. The external-inventory branch already correctly deferred to the next tick via runTask. + +Fix (InventoryMechanicsCoordinatorService.handleInventoryClick): +Removed the split between PlayerInventory (immediate) and external inventory (deferred). Both now always +defer to the next tick via runTask, so Bukkit completes the slot mutation before the sync reads inventory +state. The flush call was removed as it was the mechanism forcing the pre-mutation read. + +Status: RESOLVED + +============================================================== +Problem: +When a player places a boat, the boat re-appears in their inventory a second later. + +Root cause: +EntityPlaceEvent fires before Bukkit consumes the item from the player's hand, so syncing immediately +broadcast the state with the boat still present. The fix deferred the sync by 1 tick (runTaskLater with 1L) +so Bukkit removes the item from the hand before the sync reads inventory state. + +Status: RESOLVED + +============================================================== +Problem: +When a player attempts to set their spawnpoint on a boat, they do not get respawned at that spawnpoint. + +Status: open — no fix attempted yet. diff --git a/Docs/Ticket-Progress/RESOLVED-shared-inventory-losing-items.txt b/Docs/Ticket-Progress/RESOLVED-shared-inventory-losing-items.txt new file mode 100644 index 0000000..208827a --- /dev/null +++ b/Docs/Ticket-Progress/RESOLVED-shared-inventory-losing-items.txt @@ -0,0 +1,88 @@ +TICKET: ONGOING-shared-inventory-losing-items +STATUS: Active — fixes applied, pending in-game verification under heavy load + +============================================================== +Bug 1: Un-equipping armor does not show up on other players' inventories + +Problem: +When player A wears a set of armor and then un-equips it, the un-equipped pieces do +not appear in other players' shared inventory views. The items exist correctly in the +source storage but are missing from synced targets. + +Root cause (initial, incorrect diagnosis): +syncInventoryFrom() was modified to subtract each target's currently-equipped armor +from the cloned storage before calling setStorageContents(). The intent was to prevent +phantom duplicates when a player un-equips. However, this was incorrect: when A +un-equips a chestplate, the piece legitimately returns to the shared pool. If B is +wearing their own chestplate, removing one instance from B's synced storage means B +never sees the returned piece. The "phantom duplicate" is actually a real item in the +shared inventory. + +Root cause (actual): +The real cause of the phantom-duplicate symptom (if observed) is a race condition in +handleInventoryClick: the full inventory sync was scheduled via runTask BEFORE +requestWearableEquipSync. Bukkit's FIFO runTask ordering meant the sync fired first, +copying A's post-equip storage (slot now empty) to B before detectNewlyEquippedWearables +could consume the piece from B's storage at the correct slot. The fallback +removeOneFromMainInventory then removed the wrong set's piece. + +Fix (InventoryMechanicsCoordinatorService.handleInventoryClick): +requestWearableEquipSync is now called before Bukkit.getScheduler().runTask for the +sync. detectNewlyEquippedWearables is therefore queued first and runs first on the next +tick. The source slot is still populated on B when the consume fires, so removeFromSlot +succeeds at the correct slot and the fallback never triggers. + +Fix (SharedInventorySyncService.syncInventoryFrom): +The per-target armor subtraction block was reverted. syncInventoryFrom now distributes +storage as-is (per-target clone only, no armor removal). When a player un-equips, the +item genuinely returns to the shared pool and all participants correctly see it — +including participants who are wearing the same piece type themselves. + +Status: Fixed — pending in-game verification + +============================================================== +Bug 2: Item held on cursor vanishes when another player edits the inventory + +Problem: +Player A picks up an item (cursor-hold state, mid-drag). While the item is on A's +cursor, Player B performs any inventory edit. This causes Player A's held item to +disappear entirely — it is neither in A's inventory nor on the ground. + +Root cause: +syncInventoryFrom() called setStorageContents() + updateInventory() on every target +unconditionally. Calling updateInventory() while a player has an item on their cursor +sends a full inventory resync packet to the client, which causes Bukkit to drop the +cursor item server-side as part of the packet flush. + +Fix (SharedInventorySyncService.syncInventoryFrom): +Before syncing to a target, the target's open InventoryView cursor is snapshot. After +setStorageContents() and setExtraContents() are applied, the cursor is restored into +the InventoryView via setCursor() before updateInventory() is called. Bukkit reads the +cursor from the InventoryView when building the outgoing packet, so the restored item +is included and the client never loses it. The player stays fully in sync with other +participants while still holding their cursor item. + +Status: Fixed — pending in-game verification + +============================================================== +Bug 3: Buckets do not work correctly under the shared inventory + +Problem: +Bucket interactions (filling from water/lava, emptying) were broken — the item +transform was not being reflected correctly in the shared inventory. + +Root cause: +handlePlayerBucketEmpty() and handlePlayerBucketFill() called requestSharedInventorySync() +with no tick delay. Bucket item transforms (empty bucket → water bucket on fill, water/lava +bucket → empty bucket on empty) happen after the event fires — identical to the boat +placement bug previously fixed. Syncing immediately broadcast the pre-transform state +(e.g. still-empty bucket) to all other participants, leaving them permanently desynced. + +Fix (InventoryMechanicsCoordinatorService): +Both handlers now call scheduleDeterministicSourceSync(player, 1L) instead of +requestSharedInventorySync(). This defers the sync by 1 tick so Bukkit completes the +item transform before the inventory state is read and broadcast. This matches the +existing pattern used for handlePlayerBucketEntity(), handleBlockPlace(), and +handleEntityPlace(). + +Status: Fixed — pending in-game verification diff --git a/Docs/Ticket-Progress/RESOLVED-speedrun-snapshot.txt b/Docs/Ticket-Progress/RESOLVED-speedrun-snapshot.txt new file mode 100644 index 0000000..ea1beeb --- /dev/null +++ b/Docs/Ticket-Progress/RESOLVED-speedrun-snapshot.txt @@ -0,0 +1,87 @@ +TICKET: ONGOING-speedrun-snapshot +STATUS: Implementation complete — pending tests + +FEATURE SUMMARY: +Allow all online participants to unanimously vote (/challenge saverun) to save the +current speedrun state persistently to disk. Transports players to lobby and returns to +PREP phase. A separate /challenge restore command (admin-only) allows restoring the saved +run later. Only one saved run slot exists at a time; new save overwrites old. Restore +applies saved player positions, inventories, health, and other state. Run timer accounts +for lobby time elapsed since save. + +NOTE: /challenge resume already existed for in-memory pause/resume. + The persistent save/restore feature uses separate commands: saverun and restore. + +COMPLETED WORK: + +1. SessionTimingState.java (MODIFIED) + - Added restore(long runStartMs, long accumulatedPausedMs, long savedAtMs) method + - Adds elapsed lobby time (System.currentTimeMillis() - savedAtMs) to accumulated + paused millis so the run timer correctly excludes lobby time when resumed + +2. RunProgressService.java (MODIFIED) + - Added restore(boolean reachedNether, long netherMs, boolean reachedBlazeObjective, + long blazeObjectiveMs, boolean reachedEnd, long endMs) + - Always sets dragonKilled = false on restore + - Added hasReachedBlazeObjective(), getNetherReachedMillis(), + getBlazeObjectiveReachedMillis(), getEndReachedMillis() getters + +3. SavedRunStateService.java (NEW) + - SavedRunSnapshot record: savedAtMs, runStartMs, accumulatedPausedMs, milestone + flags/timestamps, participantUuids, enabledComponents, difficulty, playerSnapshots + - PlayerSnapshot record: world, coords, yaw/pitch, health, maxHealth, food, saturation, + exhaustion, fireTicks, remainingAir, XP, gameMode, allowFlight, flying, + inventory contents (storage/armor/extra), potionEffects + - hasSavedRun(), saveRun(SavedRunSnapshot), loadSavedRun() -> Optional, + clearSavedRun() + - Static capturePlayer(Player) -> PlayerSnapshot + - Static applySnapshot(Player, PlayerSnapshot) + - YAML serialization backed by saved_run.yml in plugin data folder + - MAX_HEALTH vs GENERIC_MAX_HEALTH attribute reflection fallback + +4. RunSaveVoteService.java (NEW) + - Tracks Set votes and BukkitTask timeoutTask (60s) + - castVote(Player voter, Runnable onAllVoted): validates participant membership, + deduplicates votes, broadcasts progress (X/total), starts timeout on first vote, + triggers onAllVoted when all online participants have voted + - clearVotes(): cancels timeout task and clears vote set + - Timeout broadcasts expiry message and clears votes + +5. ChallengeSessionManager.java (MODIFIED) + - Added SavedRunStateService savedRunStateService field (constructed in constructor) + - Added RunSaveVoteService runSaveVoteService field (constructed in constructor) + - PrepGuiCoordinatorService constructed with savedRunStateService::hasSavedRun and + () -> restoreSavedRun(Bukkit.getConsoleSender()) lambdas + - castSaveVote(Player voter): validates RUNNING phase, delegates to runSaveVoteService + - saveRunAndReturnToPrep() [private]: captures timing/progress/participant/player state, + builds SavedRunSnapshot, saves to disk, clears votes, broadcasts, calls + endChallengeAndReturnToPrep() + - restoreSavedRun(CommandSender sender) [public]: validates PREP phase, loads snapshot, + resolves online participants, restores timing + progress, transitions to RUNNING, + applies player snapshots, clears saved run file, broadcasts success + +6. ChallengeAdminFacade.java (MODIFIED) + - Added castSaveVote(Player voter) -> boolean + - Added restoreSavedRun(CommandSender sender) -> boolean + +7. ChallengeCoreCommandHandler.java (MODIFIED) + - Added "saverun" subcommand: player-only, validates RUNNING phase, calls castSaveVote + - Added "restore" subcommand: admin-only (deepcore.challenge.admin), validates PREP + phase, calls restoreSavedRun + - Updated tab-completion list to include saverun and restore + - Updated unknown-subcommand error message + +SAVE/RESTORE FLOW: + Save: /challenge saverun (each participant) → unanimous vote → saveRunAndReturnToPrep() + → YAML snapshot → endChallengeAndReturnToPrep() → PREP phase + Restore: /challenge restore (admin) → load YAML → restore timing + progress → + apply player snapshots → RUNNING phase → clear saved_run.yml + +DESIGN DECISION: +- The restore action must NOT have a clickable item in the DeepCore prep GUI. + Use only the /challenge restore command (admin-only). Remove any prep GUI item + wired to the restore flow if one was added. + +PENDING: +- Unit tests: ChallengeRuntimeInitializerTest (MockedConstruction), + any integration tests for the vote flow diff --git a/Docs/Ticket-Progress/RESOLVED-test-db-config.txt b/Docs/Ticket-Progress/RESOLVED-test-db-config.txt new file mode 100644 index 0000000..8a2ed64 --- /dev/null +++ b/Docs/Ticket-Progress/RESOLVED-test-db-config.txt @@ -0,0 +1,46 @@ +Test / dev database configuration — feature log + +============================================================== +Feature: +Allow the run-records SQLite database filename to be set in config.yml so the plugin +can point at a separate test database without touching production run history. + +Use case: +Production server has completed runs in records.db. To test the completed-runs GUI +or run trial speedruns, set db-name: records-dev.db in config.yml and reload. +The dev database is created fresh (migrations still run) and prod data is never touched. +Reverting to prod is a one-line config change back to records.db. + +Implementation notes: + + config.yml — new key: + records: + db-name: records.db + Default is records.db, preserving existing behaviour for all existing servers. + The file is always resolved relative to the plugin data folder. + + RunRecordsService.java — constructor signature change: + Was: RunRecordsService(JavaPlugin plugin) + Now: RunRecordsService(JavaPlugin plugin, String dbFileName) + dbPath is now built as: + "jdbc:sqlite:" + plugin.getDataFolder().getAbsolutePath() + "/" + dbFileName + All schema creation and migration logic runs against whichever file is named, + so a brand-new dev database gets the full current schema on first start with + no manual setup needed. + + ChallengeRuntimeInitializer.java: + Reads plugin.getConfig().getString("records.db-name", "records.db") before + constructing RunRecordsService, and logs the resolved filename at INFO level so + it is visible in console on startup (easy to confirm which DB is active). + + RunRecordsServiceTest.java: + All new RunRecordsService(plugin) calls updated to + new RunRecordsService(plugin, "records.db"). + +Status: implemented and tested. + +Files changed: +- config.yml +- RunRecordsService.java +- ChallengeRuntimeInitializer.java +- RunRecordsServiceTest.java diff --git a/Docs/TrainingWorldGymPlan.md b/Docs/TrainingWorldGymPlan.md new file mode 100644 index 0000000..8d5109e --- /dev/null +++ b/Docs/TrainingWorldGymPlan.md @@ -0,0 +1,318 @@ +# Training World Gym Plan + +## Objective + +Create a dedicated training world ("Gym") where players can practice core speedrun techniques through repeatable mini-challenges, receive immediate timing feedback, and track recent and best performance over time. + +## Core Experience Requirements + +- Players can enter the training gym through `/challenge train`. +- The gym contains multiple challenge regions, each mapped to one mini-challenge. +- Players can start a challenge quickly, reset quickly, and retry repeatedly. +- During a challenge, the action bar shows the active objective and a live timer. +- Outside an active challenge, the sidebar shows performance stats for the region the player is currently standing in. +- Outside challenge regions (while not in the training world), no gym sidebar is shown. +- Inside training world but not in an active challenge, sidebar is shown and displays `Current Mini-challenge: NONE` when not in a mapped mini-challenge region. +- Stats are persisted per player and per challenge, including: +- Last 5 tries. +- Best try (personal best). + +## Mini-Challenge Set (Phase 1) + +### 1) Nether Portal Build Drill + +Goal: +Build and light a nether portal using speedrun-style lava pool + water source techniques. + +Success conditions: + +- Player creates a valid lit portal frame within the challenge area. +- All required actions are done within challenge constraints (defined below). + +Configured constraints: + +- Start inventory is standardized for practice and includes only a water bucket and flint and steel. +- Arena contains a prebuilt lava pool setup. +- Timer starts only when the player presses the start button and is teleported to the configured challenge start coordinates. +- Timer stops when a lit nether portal is detected in the arena region bounds. +- On completion, arena is reset immediately. + +### 2) Rapid Crafting Drill + +Goal: +Craft a target list quickly (beds, tools, eyes of ender) from provided materials. + +Success conditions: + +- Player crafts all target outputs before timer expires (if time limit enabled). + +Configured target set: + +- Beds: random count between 5 and 8 per attempt. +- Tools: one axe and one shovel of any valid material tier. +- Eyes of ender: random count between 7 and 9 per attempt. + +Configured constraints: + +- Materials are generated using one of three supply profiles per attempt: `sufficient`, `generous`, or `over-provisioned`. + +### 3) Chest Looting Drill + +Goal: +Transfer all items from one or more chests into player inventory as fast as possible. + +Success conditions: + +- Source chest set is fully emptied. +- No ordering requirement. + +Configured constraints: + +- Fixed chest contents per template. +- Optional randomization presets for advanced practice. + +### 4) Bridge Drill + +Goal: +Bridge from one platform to another as quickly and safely as possible. + +Supported variants: + +- Flat bridge (same Y-level). +- Rising bridge (target platform at higher Y-level). + +Success conditions: + +- Player reaches and activates the destination pressure plate within bounds. + +Configured constraints: + +- Attempt starts from a start button and teleports player to configured start coordinates. +- Completion trigger is pressure-plate based. +- Arena resets after completion or cancellation. +- Challenge definitions are extensible so additional mini-challenges can be added without redesigning core state/persistence systems. + +## Player Entry and Commands + +Primary command: + +- `/challenge train` (teleport player to training world lobby/spawn) + +Suggested command set: + +- `/challenge train` -> enter gym lobby +- `/challenge train leave` -> return to previous world/spawn +- `/challenge train start ` -> start selected challenge immediately +- `/challenge train reset` -> reset current challenge arena and timer +- `/challenge train stats [challenge]` -> open personal stats view + +Admin commands (optional): + +- `/challengeadmin train setregion ` +- `/challengeadmin train reload` +- `/challengeadmin train cleardata [challenge]` + +Permissions: + +- All players have access to gym player commands by default. + +## Region and Flow Design + +- The training world is split into named regions, each linked to one challenge type. +- Entering a region updates the player's contextual HUD (sidebar when idle). +- Players can join challenge attempts from region start pads, NPCs, or command shortcuts. +- Timer begins only after pressing a region start button, then teleporting to challenge start coordinates. +- Leaving or disconnecting during an active attempt cancels the attempt. +- Only one active attempt per challenge arena at a time (shared arena model). + +Recommended states per player: + +- `IDLE` (not in challenge) +- `IN_CHALLENGE` +- `COMPLETED` +- `CANCELLED` + +## Timing and HUD Behavior + +### Action Bar (during active challenge) + +Show continuously: + +- Challenge name +- Current objective text +- Live elapsed timer (mm:ss.SS) + +Example: + +- `Portal Drill | Objective: Light a valid portal | 00:27.41` + +### Sidebar (when not in active challenge) + +Show content based on the region the player is currently in: + +- Region challenge name +- Current mini-challenge name (`NONE` if no mapped region while still in training world) +- Personal best +- Last five tries (most recent first) + +Example sidebar: + +- `Gym Training` +- `Current Mini-challenge: Portal` +- `Best: 00:24.91` +- `Try 1: 00:25.30` +- `Try 2: 00:26.88` +- `Try 3: 00:24.91` +- `Try 4: 00:28.50` +- `Try 5: 00:27.14` + +If no tries exist yet: + +- Show `Best: --` +- Show `No attempts yet` + +## Persistence Requirements + +Persist per player, per challenge: + +- `bestTimeMs` +- `lastFiveAttemptsMs` (ring buffer or capped list) +- `attemptCount` +- `lastAttemptAt` + +Scope: + +- Stats are global per player (not season-scoped). + +Behavior rules: + +- On completion, record attempt time. +- Keep only latest 5 attempt times. +- Update best time if new time is lower. +- Record completed attempts only (cancelled attempts are not stored in history). +- Data survives restart and world unload/reload. + +Storage options: + +- Preferred: plugin database layer (if challenge data store already exists). +- Alternative: dedicated YAML/JSON files per player UUID. + +## Challenge Completion and Validation + +Validation events: + +- Portal drill: detect valid lit portal creation in arena bounds. +- Crafting drill: track crafted item counts against objective set. +- Chest drill: detect all tracked container slots empty. +- Bridge drill: detect destination platform trigger reached within arena bounds. + +Anti-abuse guards: + +- Ignore completions outside registered challenge arenas. +- Ignore item events not tied to active attempt. +- Reset arena inventory/state between attempts. +- Enforce single active player/attempt per shared challenge arena. + +## Integration with Existing Speedrun UX + +- Reuse existing timer formatting and HUD update cadence from speedrun world systems. +- Reuse action bar style for objective + timer to keep experience consistent. +- Reuse challenge/session lifecycle components where practical. +- Keep gym challenges isolated from full-run scoring logic. + +## Configuration Additions + +Suggested config keys: + +- `gym.enabled: true` +- `gym.world: deepcore_gym` +- `gym.enter-command: challenge train` +- `gym.sidebar.idle-enabled: true` +- `gym.actionbar.active-enabled: true` +- `gym.attempt-history-size: 5` +- `gym.portal-drill.enabled: true` +- `gym.crafting-drill.enabled: true` +- `gym.chest-drill.enabled: true` +- `gym.bridge-drill.enabled: true` +- `gym.auto-reset-on-complete: true` +- `gym.leave-cancels-attempt: true` +- `gym.disconnect-cancels-attempt: true` +- `gym.timer.format: mm:ss.SS` +- `gym.start.mode: button-teleport` +- `gym.crafting.beds.min: 5` +- `gym.crafting.beds.max: 8` +- `gym.crafting.tools.accept-any-tier: true` +- `gym.crafting.eyes-of-ender.min: 7` +- `gym.crafting.eyes-of-ender.max: 9` +- `gym.crafting.material-profiles: [sufficient, generous, over-provisioned]` +- `gym.bridge.completion-trigger: pressure-plate` + +## Implementation Breakdown + +1. World and command scaffolding + +- Register `/gym` command and teleport flow. +- Register `/challenge train` command and teleport flow. +- Add gym lobby spawn and return location handling. + +2. Region mapping and state machine + +- Define challenge regions and per-player challenge state. +- Hook region enter/exit events. + +3. Timer and HUD integration + +- Add action bar objective + live timer for active attempts. +- Add sidebar idle stats view based on current region challenge. + +4. Mini-challenge validators + +- Implement portal completion detection. +- Implement crafting target tracking. +- Implement chest-empty tracking. +- Implement bridge destination trigger tracking. + +5. Persistence layer + +- Add per-player/per-challenge attempt store. +- Enforce last-5 history and personal best updates. + +6. Reset and reliability + +- Ensure clean challenge reset between attempts. +- Handle disconnect/reconnect and server restart safely. +- Enforce shared-arena single-run lock. + +## Testing Plan + +Manual scenario checks: + +- `/challenge train` enters training lobby correctly. +- Starting each challenge shows objective + running timer on action bar. +- Completing each challenge records attempt and updates best time. +- Attempt history never exceeds five entries. +- Sidebar in each region shows matching challenge name + player stats while idle. +- Sidebar is hidden outside training world and shows `Current Mini-challenge: NONE` when in training world but outside mapped challenge regions. +- Restart server and verify stats remain persisted. +- Abandon, leave, or disconnect during challenge and verify cancel behavior with no attempt recorded. + +Edge cases: + +- Player disconnects mid-attempt. +- Multiple players contending for one shared arena (lock behavior and messaging). +- Region boundary flicker does not spam sidebar or break state. +- Arena reset occurs even after invalid completion attempt. + +## Open Decisions + +- Whether ghost replay or split times are desired in a later phase. +- Whether to support global leaderboard beyond personal stats. + +## Definition of Done + +- Players can enter gym via `/challenge train` and run all four mini-challenges. +- Active challenge always shows objective + timer on action bar. +- Idle-in-region sidebar always shows challenge name, last five tries, and best time. +- Sidebar behavior matches training world bounds rules and shows `NONE` when applicable. +- Attempts and personal best are persisted across restarts. +- Feature is configurable and can be toggled safely. diff --git a/README.md b/README.md index 59c17d7..075a6ae 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,27 @@ -Capsule Art - -

A plugin for collaborative speedruns with toggleable mechanics.

+

+ DeepCore banner +

- - Contributors - - - Forks - - - Stargazers - - - Issues - - - License - - - Coverage - + CI status + Paper 1.21.10 + Java 21

-## What You Get +# DeepCore + +DeepCore is a Paper plugin for running collaborative Minecraft speedruns with toggleable mechanics. Players configure a shared or per-player rule set (keep inventory, hardcore, shared health, degrading inventory, and more) through an in-game prep GUI, then run the challenge in a generated world with results tracked in SQLite. + +## What It Does - Prep GUI for challenge setup before each run - Presets plus per-mechanic toggles - Shared and individual gameplay modifiers (health, inventory, hardcore, and more) - Run records storage via SQLite - World reset workflow between runs +- Training gym with practice challenges (portal, craft, chest, bridge) for solo/team drilling -## Prep Flow (Player Experience) +### Prep Flow (Player Experience) 1. Every online player receives the DeepCore prep book. 2. Right-click the book to open the prep GUI. @@ -40,7 +30,7 @@ 5. When everyone is ready, countdown starts and settings lock. 6. Run begins in the generated challenge world. -## Implemented Mechanic Toggles +### Implemented Mechanic Toggles - keep_inventory - unlimited_deaths @@ -51,38 +41,74 @@ - initial_half_heart - degrading_inventory -## Command Reference - -- /challenge status -- /challenge list -- /challenge enable -- /challenge disable -- /challenge mode -- /challenge component list -- /challenge component status -- /challenge component reset -- /challenge component +## Commands + +| Command | Description | Permission | +|---------|-------------|------------| +| `/challenge status` | Show current challenge status | `deepcore.challenge` | +| `/challenge list` | List available challenge modes | `deepcore.challenge` | +| `/challenge enable` / `disable` | Enable or disable the challenge | `deepcore.challenge.admin` | +| `/challenge mode ` | Switch challenge mode | `deepcore.challenge.admin` | +| `/challenge component list` / `status` | List or show mechanic toggle components | `deepcore.challenge` | +| `/challenge component ` | Toggle a mechanic component | `deepcore.challenge.admin` | +| `/challenge reset` / `resetworld` | Reset overworld, nether, and end via limbo | `deepcore.challenge.reset` | +| `/challenge end` | End the current run and return to prep | `deepcore.challenge.end` | +| `/challenge pause` / `resume` | Pause or resume an active run | `deepcore.challenge.pause` | +| `/challenge reload` | Reload DeepCore config from disk | `deepcore.challenge.reload` | +| `/challenge logs` | Manage own DeepCore log preferences | `deepcore.challenge` | +| `/challenge logs admin ...` | Manage other players' log preferences | `deepcore.challenge.logs.admin` | +| `/challenge train` / `stop` | Enter or exit the training gym | `deepcore.challenge` | +| `/lobby` | Return to the DeepCore lobby from the training gym | `deepcore.challenge` | + +Full subcommand usage: `/challenge ` + +## Requirements + +- Paper 1.21.10 (`api-version: "1.21"` in `plugin.yml`) +- Java 21 +- `org.xerial:sqlite-jdbc` (used by `RunRecordsService` for run-records storage; shaded into the jar via the `com.gradleup.shadow` plugin, so no separate install is needed) -## Quick Start (Developers) +## Getting Started (Developers) -Prerequisites: +### Prerequisites +- Gradle (wrapper included, `gradlew`/`gradlew.bat`) - Java 21 -- Python 3 (for pre-commit) +- Python 3 (for pre-commit hooks) -Build and test: +### Build - ./gradlew clean build +``` +./gradlew clean build +``` -Output artifact: +Output artifact: `build/libs/DeepCore-.jar` -- build/libs/DeepCore-.jar +### Install -## Local Commit Enforcement +Drop the built jar into your server's `plugins/` folder and restart. -This repository enforces quality checks when you attempt a commit. +## Configuration -Checks on commit attempt: +Key sections in `config.yml`: + +- `challenge` - enabled state, active mode, prep/countdown behavior, preview hologram settings, and the `components` map of mechanic toggles (keep_inventory, hardcore, health_refill, shared_inventory, shared_health, initial_half_heart, degrading_inventory) plus `degrading` interval/min-slots +- `records` - SQLite database file name for run records +- `prep` - countdown duration in seconds +- `reset` - world names used for limbo/lobby/nether reset and disco-world chance +- `logging` - console/chat log levels, prefix, and per-player log level overrides +- `training` - training gym world, spawn points, craft challenge ranges, and per-challenge (portal/craft/chest/bridge) regions and start locations + +## CI/CD + +Workflows in `.github/workflows/`: + +- `ci.yml` - on PRs to `main`: runs tests with coverage gates (total line coverage >= 80%, changed-lines coverage >= 70% via diff-cover), uploads coverage to Codecov, and lints commit messages (commitlint, Angular-style conventional commits). On pushes to `main`: runs the full quality suite (format check via Spotless, typecheck/compile, Checkstyle lint, tests, coverage verification). +- `static.yml` - on pushes to `main`: generates Javadoc and publishes it to the `gh-pages` branch. + +### Local Commit Enforcement + +This repository enforces the same quality checks locally via pre-commit hooks: - Formatting (Spotless) - Typecheck/compile (main + test sources) @@ -91,13 +117,17 @@ Checks on commit attempt: Enable hooks once per clone: - pip install pre-commit - pre-commit install - pre-commit install --hook-type commit-msg +``` +pip install pre-commit +pre-commit install +pre-commit install --hook-type commit-msg +``` Run hooks manually: - pre-commit run --all-files +``` +pre-commit run --all-files +``` Conventional commit examples: @@ -105,14 +135,10 @@ Conventional commit examples: - fix: handle countdown cancellation when all players leave - chore: update ci workflow gates -## CI/CD Rules - -PRs to main: +## Contributing -- Runs tests -- Enforces total line coverage >= 80% -- Enforces changed-lines coverage >= 70% +See [.github/pull_request_template.md](.github/pull_request_template.md) and the issue templates in [.github/ISSUE_TEMPLATE](.github/ISSUE_TEMPLATE). Commits must follow Angular-style conventional commit format (enforced by commitlint in CI and locally via pre-commit). -Pushes to main: +## License -- Runs full quality suite (format check, typecheck, lint, tests, coverage verification) +MIT - see [LICENSE](LICENSE). diff --git a/dev-test.ps1 b/dev-test.ps1 new file mode 100644 index 0000000..313cb56 --- /dev/null +++ b/dev-test.ps1 @@ -0,0 +1,296 @@ +param( + [switch]$NoStart, + [switch]$Continual, + [int]$RestartDelaySeconds = 2, + [switch]$SyncConfig, + [string]$RepoRoot, + [string]$TestServerDir, + [switch]$ExposeResourcePackPublicly, + [string]$ResourcePackHostOverride +) + +$ErrorActionPreference = "Stop" + +# Defaults keep repository and test server separate from each other. +if (-not $RepoRoot -or [string]::IsNullOrWhiteSpace($RepoRoot)) { + $nestedRepo = Join-Path $PSScriptRoot "DeepCore" + $currentRepo = $PSScriptRoot + $legacyRepo = Join-Path $PSScriptRoot "yart" + + if (Test-Path (Join-Path $nestedRepo "gradlew.bat")) { + $RepoRoot = $nestedRepo + } + elseif (Test-Path (Join-Path $currentRepo "gradlew.bat")) { + $RepoRoot = $currentRepo + } + elseif (Test-Path (Join-Path $legacyRepo "gradlew.bat")) { + $RepoRoot = $legacyRepo + } + else { + throw "Could not auto-detect repo root with gradlew.bat. Pass -RepoRoot explicitly." + } +} +if (-not $TestServerDir -or [string]::IsNullOrWhiteSpace($TestServerDir)) { + $TestServerDir = Join-Path $PSScriptRoot "minecraft-test" +} + +$repoRoot = $RepoRoot +$gradleWrapper = Join-Path $repoRoot "gradlew.bat" +$libsDir = Join-Path $repoRoot "build\libs" +$sourceConfig = Join-Path $repoRoot "src\main\resources\config.yml" +$stweaksPackSource = Join-Path $PSScriptRoot "stweaks-resourcepack" +$testServerDir = $TestServerDir +$pluginsDir = Join-Path $testServerDir "plugins" +$pluginDataDir = Join-Path $pluginsDir "DeepCore" +$pluginConfig = Join-Path $pluginDataDir "config.yml" +$resourcePackHostDir = Join-Path $testServerDir "resource-pack-host" +$resourcePackStageDir = Join-Path $resourcePackHostDir "stweaks-active" +$resourcePackZip = Join-Path $resourcePackHostDir "storytime-stweaks.zip" +$resourcePackPort = 8123 +$serverPropertiesPath = Join-Path $testServerDir "server.properties" +$startScript = Join-Path $testServerDir "start.bat" +$startScriptPs1 = Join-Path $testServerDir "start.ps1" + +if (-not (Test-Path $gradleWrapper)) { + throw "Could not find gradlew.bat at: $gradleWrapper. Pass -RepoRoot if your repo is elsewhere." +} + +if (-not (Test-Path $testServerDir)) { + throw "Could not find test server folder at: $testServerDir. Pass -TestServerDir if needed." +} + +if (-not (Test-Path $stweaksPackSource)) { + throw "Could not find local workspace resource-pack source at: $stweaksPackSource" +} + +if (-not (Test-Path $serverPropertiesPath)) { + throw "Could not find server.properties at: $serverPropertiesPath" +} + +if ($NoStart -and $Continual) { + throw "-NoStart and -Continual cannot be used together." +} + +if ($RestartDelaySeconds -lt 0) { + throw "RestartDelaySeconds must be >= 0." +} + +if (-not (Test-Path $pluginsDir)) { + New-Item -ItemType Directory -Path $pluginsDir | Out-Null +} + +Write-Host "[1/3] Building plugin with Gradle wrapper..." -ForegroundColor Cyan +Push-Location $repoRoot +try { + & $gradleWrapper assemble + if ($LASTEXITCODE -ne 0) { + throw "Build failed with exit code $LASTEXITCODE" + } +} finally { + Pop-Location +} + +Write-Host "[2/3] Copying latest plugin jar to test server..." -ForegroundColor Cyan +$builtJars = Get-ChildItem -Path $libsDir -Filter "*.jar" | + Where-Object { $_.Name -notmatch "-sources\.jar$|-javadoc\.jar$" } | + Sort-Object LastWriteTime -Descending + +if (-not $builtJars -or $builtJars.Count -eq 0) { + throw "No built plugin jar found in: $libsDir" +} + +$latestJar = $builtJars[0] + +@("DeepCore*.jar", "deepcore*.jar", "YetAnotherRayTracer*.jar", "minecraft-raytracing*.jar") | ForEach-Object { + Get-ChildItem -Path $pluginsDir -Filter $_ -ErrorAction SilentlyContinue | + Remove-Item -Force -ErrorAction SilentlyContinue +} + +$destinationJar = Join-Path $pluginsDir $latestJar.Name +Copy-Item -Path $latestJar.FullName -Destination $destinationJar -Force + +Write-Host "Copied $($latestJar.Name) to $pluginsDir" -ForegroundColor Green + +Write-Host "[2.5/3] Handling plugin config..." -ForegroundColor Cyan +if (-not (Test-Path $sourceConfig)) { + throw "Could not find source config at: $sourceConfig" +} + +if (-not (Test-Path $pluginDataDir)) { + New-Item -ItemType Directory -Path $pluginDataDir | Out-Null +} + +if (-not (Test-Path $pluginConfig)) { + Copy-Item -Path $sourceConfig -Destination $pluginConfig + Write-Host "Created plugin config from source at $pluginConfig" -ForegroundColor Green +} +elseif ($SyncConfig) { + Copy-Item -Path $sourceConfig -Destination $pluginConfig -Force + Write-Host "Synced config.yml to $pluginConfig (-SyncConfig)." -ForegroundColor Yellow +} +else { + Write-Host "Preserving existing plugin config at $pluginConfig (use -SyncConfig to overwrite)." -ForegroundColor Green +} + +Write-Host "[2.75/3] Syncing and hosting workspace resource pack..." -ForegroundColor Cyan + +if (Test-Path $resourcePackStageDir) { + Remove-Item -Path $resourcePackStageDir -Recurse -Force +} +New-Item -ItemType Directory -Path $resourcePackStageDir -Force | Out-Null +Copy-Item -Path (Join-Path $stweaksPackSource "*") -Destination $resourcePackStageDir -Recurse -Force + +$jackpotOggPath = Join-Path $resourcePackStageDir "assets\storytime\sounds\disco\jackpot.ogg" +if (-not (Test-Path $jackpotOggPath)) { + throw "Missing staged jackpot OGG at: $jackpotOggPath. Add it to stweaks-resourcepack once, then rerun dev-test.ps1." +} + +$soundsJsonPath = Join-Path $resourcePackStageDir "assets\storytime\sounds.json" +if (-not (Test-Path $soundsJsonPath)) { + throw "Missing storytime sounds.json at: $soundsJsonPath. Define storytime.disco.jackpot in stweaks-resourcepack once, then rerun dev-test.ps1." +} + +$soundsJson = Get-Content -Path $soundsJsonPath -Raw | ConvertFrom-Json -AsHashtable +if (-not ($soundsJson.ContainsKey("disco.jackpot") -or $soundsJson.ContainsKey("storytime.disco.jackpot"))) { + throw "Missing sound key 'disco.jackpot' (or legacy 'storytime.disco.jackpot') in $soundsJsonPath. Add it once in stweaks-resourcepack, then rerun dev-test.ps1." +} + +if (Test-Path $resourcePackZip) { + Remove-Item -Path $resourcePackZip -Force +} +Compress-Archive -Path (Join-Path $resourcePackStageDir "*") -DestinationPath $resourcePackZip -CompressionLevel Optimal + +$packHash = (Get-FileHash -Path $resourcePackZip -Algorithm SHA1).Hash.ToLowerInvariant() + +try { + $listeners = Get-NetTCPConnection -LocalPort $resourcePackPort -State Listen -ErrorAction Stop + foreach ($listener in $listeners) { + try { + Stop-Process -Id $listener.OwningProcess -Force -ErrorAction Stop + } + catch { + } + } +} +catch { +} + +if ($ExposeResourcePackPublicly) { + $firewallRuleName = "DeepCore Resource Pack Host ($resourcePackPort)" + $existingRule = Get-NetFirewallRule -DisplayName $firewallRuleName -ErrorAction SilentlyContinue + if (-not $existingRule) { + try { + New-NetFirewallRule -DisplayName $firewallRuleName -Direction Inbound -Action Allow -Protocol TCP -LocalPort $resourcePackPort -Profile Any | Out-Null + Write-Host "Created firewall rule '$firewallRuleName'." -ForegroundColor Green + } + catch { + Write-Host "Could not create firewall rule '$firewallRuleName'. Run PowerShell as Administrator if external clients cannot connect." -ForegroundColor Yellow + } + } +} + +Start-Process -FilePath "python" -ArgumentList @("-m", "http.server", "$resourcePackPort", "--bind", "0.0.0.0", "--directory", $resourcePackHostDir) -WindowStyle Hidden + +$hostIp = (Get-NetIPAddress -AddressFamily IPv4 -ErrorAction SilentlyContinue | + Where-Object { + $_.IPAddress -notlike "169.254.*" -and + $_.IPAddress -ne "127.0.0.1" -and + $_.PrefixOrigin -ne "WellKnown" + } | + Select-Object -First 1 -ExpandProperty IPAddress) + +if (-not $hostIp) { + $hostIp = "127.0.0.1" +} + +$resourcePackHost = $hostIp + +if ($ResourcePackHostOverride -and -not [string]::IsNullOrWhiteSpace($ResourcePackHostOverride)) { + $resourcePackHost = $ResourcePackHostOverride.Trim() +} +elseif ($ExposeResourcePackPublicly) { + try { + $publicIp = (Invoke-RestMethod -Uri "https://api.ipify.org?format=text" -TimeoutSec 3 -ErrorAction Stop).ToString().Trim() + if ($publicIp) { + $resourcePackHost = $publicIp + } + } + catch { + Write-Host "Could not auto-detect public IP; using local IP $hostIp. Use -ResourcePackHostOverride if needed." -ForegroundColor Yellow + } +} + +$resourcePackUrl = "http://$resourcePackHost`:$resourcePackPort/storytime-stweaks.zip" + +$serverPropsLines = Get-Content -Path $serverPropertiesPath +function Set-ServerPropertyLine { + param( + [string[]]$Lines, + [string]$Key, + [string]$Value + ) + + $prefix = "$Key=" + $updated = $false + for ($i = 0; $i -lt $Lines.Count; $i++) { + if ($Lines[$i].StartsWith($prefix)) { + $Lines[$i] = "$prefix$Value" + $updated = $true + break + } + } + + if (-not $updated) { + $Lines += "$prefix$Value" + } + return ,$Lines +} + +$serverPropsLines = Set-ServerPropertyLine -Lines $serverPropsLines -Key "resource-pack" -Value $resourcePackUrl +$serverPropsLines = Set-ServerPropertyLine -Lines $serverPropsLines -Key "resource-pack-sha1" -Value $packHash +$serverPropsLines = Set-ServerPropertyLine -Lines $serverPropsLines -Key "require-resource-pack" -Value "true" +$resourcePackPromptJson = '{"text":"StoryTime Productions resource pack is required for disco audio."}' +$serverPropsLines = Set-ServerPropertyLine -Lines $serverPropsLines -Key "resource-pack-prompt" -Value $resourcePackPromptJson + +Set-Content -Path $serverPropertiesPath -Value $serverPropsLines -Encoding UTF8 +Write-Host "Resource pack hosted at $resourcePackUrl" -ForegroundColor Green +if ($ExposeResourcePackPublicly) { + Write-Host "Public hosting mode is enabled. Ensure your router/NAT forwards TCP $resourcePackPort to this machine's LAN IP ($hostIp)." -ForegroundColor Yellow +} + +if ($NoStart) { + Write-Host "[3/3] Skipped starting test server (-NoStart)." -ForegroundColor Yellow + exit 0 +} + +Write-Host "[3/3] Starting test server..." -ForegroundColor Cyan +if ($Continual) { + if (-not (Test-Path $startScriptPs1)) { + throw "Could not find start script for continual mode: $startScriptPs1" + } + + Write-Host "Continual mode enabled. Press Ctrl+C in this tracking terminal to stop automatic restarts." -ForegroundColor Yellow + $runNumber = 1 + while ($true) { + Write-Host "[run #$runNumber] Launching server terminal..." -ForegroundColor Cyan + $serverProcess = Start-Process -FilePath "pwsh" -ArgumentList @("-NoExit", "-ExecutionPolicy", "Bypass", "-File", $startScriptPs1) -WorkingDirectory $testServerDir -PassThru + $serverProcess.WaitForExit() + + $exitCode = $serverProcess.ExitCode + Write-Host "[run #$runNumber] Server terminal exited with code $exitCode." -ForegroundColor Yellow + $runNumber++ + + if ($RestartDelaySeconds -gt 0) { + Write-Host "Restarting in $RestartDelaySeconds second(s)..." -ForegroundColor DarkGray + Start-Sleep -Seconds $RestartDelaySeconds + } + } +} +else { + if (-not (Test-Path $startScript)) { + throw "Could not find start script: $startScript" + } + + Start-Process -FilePath $startScript -WorkingDirectory $testServerDir + Write-Host "Test server started." -ForegroundColor Green +} diff --git a/gui-maker/index.html b/gui-maker/index.html new file mode 100644 index 0000000..4aefe1f --- /dev/null +++ b/gui-maker/index.html @@ -0,0 +1,1004 @@ + + + + + + + GUI Maker + + + + +
+
+
+

DeepCore GUI Maker

+

Minecraft GUI editor with a single Franken UI surface

+

+ Place items into a chest grid, adjust the important slot properties, and export a plain JSON document that can be read by an AI or turned into plugin code later. +

+
+ Static HTML only + Franken UI styling + AI-friendly export +
+
+ +
+
+ + +
+ +
+ + +
+ +
+ + + +
+
+
+ +
+
+
+
+

Inventory Grid

+

Click a slot to place the selected item or edit the one already there.

+
+
0 / 54 used
+
+
+
+
+
+ + +
+
+ + + + + + diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/angel_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/angel_wings.json new file mode 100644 index 0000000..e0955b9 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/angel_wings.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/angel_wings" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/astronaut_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/astronaut_wings.json new file mode 100644 index 0000000..72742e2 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/astronaut_wings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/astronaut_wings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/bluefire_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/bluefire_wings.json new file mode 100644 index 0000000..0a8ab2e --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/bluefire_wings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/bluefire_wings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/brown_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/brown_wings.json new file mode 100644 index 0000000..e71e89d --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/brown_wings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/brown_wings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/butterfly_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/butterfly_wings.json new file mode 100644 index 0000000..4476eb3 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/butterfly_wings.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/butterfly_wings" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/demon_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/demon_wings.json new file mode 100644 index 0000000..c6d570a --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/demon_wings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/demon_wings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/dragon_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/dragon_wings.json new file mode 100644 index 0000000..5a5146c --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/dragon_wings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/dragon_wings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/eagle_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/eagle_wings.json new file mode 100644 index 0000000..aa1009a --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/eagle_wings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/eagle_wings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/golden_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/golden_wings.json new file mode 100644 index 0000000..82973bd --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/golden_wings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/golden_wings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/ocean_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/ocean_wings.json new file mode 100644 index 0000000..bb5e168 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/ocean_wings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/ocean_wings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/phoenix_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/phoenix_wings.json new file mode 100644 index 0000000..4797466 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/phoenix_wings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/phoenix_wings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/items/purple_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/items/purple_wings.json new file mode 100644 index 0000000..2cb1a9b --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/items/purple_wings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "ax_wings_pack:item/purple_wings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/angel_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/angel_wings.json new file mode 100644 index 0000000..607513a --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/angel_wings.json @@ -0,0 +1,265 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [ + 64, + 64 + ], + "textures": { + "0": "ax_wings_pack:item/angel_wings", + "particle": "ax_wings_pack:item/angel_wings" + }, + "elements": [ + { + "from": [ + -8.75, + 0, + 10 + ], + "to": [ + 7.25, + 20, + 10 + ], + "rotation": { + "angle": 22.5, + "axis": "y", + "origin": [ + 0, + 0, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 5, + 4, + 10 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4, + 5, + 8, + 10 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4, + 0, + 0, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4, + 0, + 0, + 0 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 7.32612, + 0, + 4.38268 + ], + "to": [ + 23.32612, + 20, + 4.38268 + ], + "rotation": { + "angle": -22.5, + "axis": "y", + "origin": [ + 1, + 0, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 4, + 5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4, + 0, + 8, + 5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4, + 0, + 0, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4, + 0, + 0, + 0 + ], + "texture": "#0" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 70, + 0, + 0 + ], + "translation": [ + 0, + 0.25, + -1.25 + ], + "scale": [ + 0.21, + 0.21, + 0.22 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 70, + 0, + 0 + ], + "translation": [ + 0, + 0.25, + -1.25 + ], + "scale": [ + 0.21, + 0.21, + 0.21 + ] + }, + "firstperson_righthand": { + "scale": [ + 0.62, + 0.62, + 0.62 + ] + }, + "firstperson_lefthand": { + "scale": [ + 0.62, + 0.62, + 0.62 + ] + }, + "ground": { + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "gui": { + "translation": [ + 0, + -1, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + }, + "head": { + "translation": [ + 0.5, + -25, + 5 + ], + "scale": [ + 1.75, + 1.75, + 1.75 + ] + }, + "fixed": { + "rotation": [ + 0, + 180, + 0 + ], + "translation": [ + 0, + -0.5, + 0 + ], + "scale": [ + 0.8, + 0.8, + 0.8 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/astronaut_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/astronaut_wings.json new file mode 100644 index 0000000..50edfb7 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/astronaut_wings.json @@ -0,0 +1,134 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "ax_wings_pack:item/astronaut_wings", + "1": "ax_wings_pack:item/astronaut_wings2", + "particle": "ax_wings_pack:item/astronaut_wings" + }, + "elements": [ + { + "from": [-8, 0, 0], + "to": [8, 19, 0], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 4.75, 4, 9.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "south": {"uv": [4, 4.75, 8, 9.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8, 0, 0], + "to": [24, 19, 0], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 4.75], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4.75], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [0.5, 4, 1], + "to": [4.5, 9, 5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 2, 2.5], "texture": "#1"}, + "east": {"uv": [2, 0, 4, 2.5], "texture": "#1"}, + "south": {"uv": [0, 2.5, 2, 5], "texture": "#1"}, + "west": {"uv": [2, 2.5, 4, 5], "texture": "#1"}, + "up": {"uv": [6, 7, 4, 5], "texture": "#1"}, + "down": {"uv": [8, 0, 6, 2], "texture": "#1"} + } + }, + { + "from": [-5, 8, 2], + "to": [-3, 11, 4], + "rotation": {"angle": 22.5, "axis": "y", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [6, 6, 7, 7.5], "texture": "#1"}, + "east": {"uv": [4, 7, 5, 8.5], "texture": "#1"}, + "south": {"uv": [5, 7, 6, 8.5], "texture": "#1"}, + "west": {"uv": [7, 6, 8, 7.5], "texture": "#1"}, + "up": {"uv": [7, 8.5, 6, 7.5], "texture": "#1"}, + "down": {"uv": [8, 7.5, 7, 8.5], "texture": "#1"} + } + }, + { + "from": [10.5, 4, -5], + "to": [14.5, 9, -1], + "rotation": {"angle": -22.5, "axis": "y", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [4, 0, 6, 2.5], "texture": "#1"}, + "east": {"uv": [4, 2.5, 6, 5], "texture": "#1"}, + "south": {"uv": [0, 5, 2, 7.5], "texture": "#1"}, + "west": {"uv": [2, 5, 4, 7.5], "texture": "#1"}, + "up": {"uv": [8, 4, 6, 2], "texture": "#1"}, + "down": {"uv": [8, 4, 6, 6], "texture": "#1"} + } + }, + { + "from": [18, 8, -4], + "to": [20, 11, -2], + "rotation": {"angle": -22.5, "axis": "y", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [0, 7.5, 1, 9], "texture": "#1"}, + "east": {"uv": [1, 7.5, 2, 9], "texture": "#1"}, + "south": {"uv": [2, 7.5, 3, 9], "texture": "#1"}, + "west": {"uv": [3, 7.5, 4, 9], "texture": "#1"}, + "up": {"uv": [9, 1, 8, 0], "texture": "#1"}, + "down": {"uv": [9, 1, 8, 2], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [48, 0, 0], + "translation": [0, -1.75, 0.25], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [48, 0, 0], + "translation": [0, -1.75, 0.25], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "translation": [1, 0, 0], + "scale": [0.6, 0.6, 0.6] + }, + "firstperson_lefthand": { + "translation": [1, 0, 0], + "scale": [0.6, 0.6, 0.6] + }, + "ground": { + "scale": [0.4, 0.4, 0.4] + }, + "gui": { + "scale": [0.5, 0.5, 1] + }, + "head": { + "translation": [0.25, -65, 17.25], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -3.75], + "scale": [0.55, 0.55, 0.55] + } + }, + "groups": [ + 0, + 1, + { + "name": "group", + "origin": [0, 0, 0], + "color": 0, + "children": [2, 3, 4, 5] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/bluefire_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/bluefire_wings.json new file mode 100644 index 0000000..0604473 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/bluefire_wings.json @@ -0,0 +1,68 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "ax_wings_pack:item/bluefire_wings", + "particle": "ax_wings_pack:item/bluefire_wings" + }, + "elements": [ + { + "from": [-8, 0, 0], + "to": [8, 18, 0], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 4.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8, 0, 0], + "to": [24, 18, 0], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 4.5, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 4.5, 8, 9], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [42, 180, 0], + "translation": [0, 1.75, -1.5], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [44, 180, 0], + "translation": [0, 1.75, -1.5], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "translation": [9.75, 0, 3.25] + }, + "firstperson_lefthand": { + "translation": [9.75, 0, 3.25] + }, + "ground": { + "scale": [0.32, 0.32, 0.32] + }, + "gui": { + "scale": [0.51, 0.52, 0.54] + }, + "head": { + "translation": [0, -65, 17.25], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -7.25] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/brown_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/brown_wings.json new file mode 100644 index 0000000..a8d424b --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/brown_wings.json @@ -0,0 +1,70 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "ax_wings_pack:item/brown_wings", + "particle": "ax_wings_pack:item/brown_wings" + }, + "elements": [ + { + "from": [-8, 0, 0], + "to": [8, 18, 0], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 4.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8, 0, 0], + "to": [24, 18, 0], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 4.5, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 4.5, 8, 9], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [41, 180, 0], + "translation": [0, 1.75, -1.75], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [41, 180, 0], + "translation": [0, 1.75, -1.75], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "translation": [8.5, 0, 0], + "scale": [0.88, 0.88, 0.88] + }, + "firstperson_lefthand": { + "translation": [8.5, 0, 0], + "scale": [0.88, 0.88, 0.88] + }, + "ground": { + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "scale": [0.55, 0.56, 1] + }, + "head": { + "translation": [0, -60, 17.25], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -7.5] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/butterfly_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/butterfly_wings.json new file mode 100644 index 0000000..3861133 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/butterfly_wings.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "ax_wings_pack:item/butterfly_wings", + "particle": "ax_wings_pack:item/butterfly_wings" + }, + "elements": [ + { + "from": [8, 0, 0], + "to": [24, 19, 0], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 4.75], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4.75], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [-8, 0, 0], + "to": [8, 19, 0], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 4.75, 4, 9.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "south": {"uv": [4, 4.75, 8, 9.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [57, 180, 0], + "translation": [0, 1.25, -1], + "scale": [0.2, 0.2, 0.2] + }, + "thirdperson_lefthand": { + "rotation": [57, 180, 0], + "translation": [0, 1.25, -1], + "scale": [0.2, 0.2, 0.2] + }, + "firstperson_righthand": { + "translation": [4, 0, 2.75], + "scale": [0.7, 0.7, 0.7] + }, + "firstperson_lefthand": { + "translation": [4, 0, 2.75], + "scale": [0.7, 0.7, 0.7] + }, + "ground": { + "scale": [0.35, 0.35, 0.35] + }, + "gui": { + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "translation": [0, -60, 17.25], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -5], + "scale": [0.75, 0.75, 0.75] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/demon_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/demon_wings.json new file mode 100644 index 0000000..65e1b90 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/demon_wings.json @@ -0,0 +1,72 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "ax_wings_pack:item/demon_wings", + "particle": "ax_wings_pack:item/demon_wings" + }, + "elements": [ + { + "from": [6, 0, -5], + "to": [22, 21, -5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [0, 5.25, 4, 10.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 5.25], "texture": "#0"}, + "south": {"uv": [4, 5.25, 8, 10.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 5.25], "texture": "#0"}, + "up": {"uv": [0, 4, 0, 0], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 0, 0, 4], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [-8, 0, 0.75], + "to": [8, 21, 0.75], + "rotation": {"angle": 22.5, "axis": "y", "origin": [0, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 5.25], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 5.25], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 5.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 5.25], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [66, 0, 0], + "translation": [0, -2.25, 0.25], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [66, 0, 0], + "translation": [0, -2.25, 0.25], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "translation": [5, 0, 4.25], + "scale": [0.65, 0.65, 0.65] + }, + "firstperson_lefthand": { + "translation": [5, 0, 4.25], + "scale": [0.65, 0.65, 0.65] + }, + "ground": { + "scale": [0.4, 0.4, 0.4] + }, + "gui": { + "translation": [0, -1, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "translation": [0.75, -65, 21.25], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -6.75], + "scale": [0.75, 0.75, 0.75] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/dragon_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/dragon_wings.json new file mode 100644 index 0000000..8328980 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/dragon_wings.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "ax_wings_pack:item/dragon_wings", + "particle": "ax_wings_pack:item/dragon_wings" + }, + "elements": [ + { + "from": [-8, 0, 0], + "to": [8, 19, 0], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 4.75], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4.75], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8, 0, 0], + "to": [24, 19, 0], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 4.75, 4, 9.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "south": {"uv": [4, 4.75, 8, 9.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.75], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [72, 180, 0], + "translation": [0, 2.75, 0], + "scale": [0.34, 0.34, 0.34] + }, + "thirdperson_lefthand": { + "rotation": [72, 180, 0], + "translation": [0, 2.75, 0], + "scale": [0.34, 0.34, 0.34] + }, + "firstperson_righthand": { + "translation": [8.5, 2.25, 1], + "scale": [0.68, 0.68, 0.69] + }, + "firstperson_lefthand": { + "translation": [8.5, 2.25, 1], + "scale": [0.68, 0.68, 0.68] + }, + "ground": { + "scale": [0.34, 0.33, 0.32] + }, + "gui": { + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "translation": [0, -65, 17.25], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -3.25], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/eagle_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/eagle_wings.json new file mode 100644 index 0000000..94a74bd --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/eagle_wings.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "ax_wings_pack:item/eagle_wings", + "particle": "ax_wings_pack:item/eagle_wings" + }, + "elements": [ + { + "from": [-15, -1.5, 0], + "to": [1, 16.5, 0], + "rotation": {"angle": -22.5, "axis": "z", "origin": [7, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 4.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [14, -2, 0], + "to": [30, 16, 0], + "rotation": {"angle": 22.5, "axis": "z", "origin": [7, 0, 0]}, + "faces": { + "north": {"uv": [0, 4.5, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 4.5, 8, 9], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [55, 0, 0], + "translation": [0, -1.75, 0], + "scale": [0.2, 0.2, 0.2] + }, + "thirdperson_lefthand": { + "rotation": [55, 0, 0], + "translation": [0, -1.75, 0], + "scale": [0.2, 0.2, 0.2] + }, + "firstperson_righthand": { + "translation": [4.25, 0, 5], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_lefthand": { + "translation": [4.25, 0, 5], + "scale": [0.5, 0.5, 0.5] + }, + "ground": { + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "translation": [0, -3.75, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "translation": [0, -75, 17.75], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "translation": [0, -4.25, 4.75], + "scale": [0.53, 0.54, 0.53] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/golden_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/golden_wings.json new file mode 100644 index 0000000..3765668 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/golden_wings.json @@ -0,0 +1,68 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "ax_wings_pack:item/golden_wings", + "particle": "ax_wings_pack:item/golden_wings" + }, + "elements": [ + { + "from": [-8, 0, 0], + "to": [8, 18, 0], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 4.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8, 0, 0], + "to": [24, 18, 0], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 4.5, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 4.5, 8, 9], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [44, 180, 0], + "translation": [0, 1, -2], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [44, 180, 0], + "translation": [0, 1, -2], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "translation": [6, 0, 4] + }, + "firstperson_lefthand": { + "translation": [6, 0, 4] + }, + "ground": { + "scale": [0.41, 0.4, 0.41] + }, + "gui": { + "scale": [0.44, 0.5, 1] + }, + "head": { + "translation": [0, -60, 17.25], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -7] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/ocean_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/ocean_wings.json new file mode 100644 index 0000000..b3fdef1 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/ocean_wings.json @@ -0,0 +1,70 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "ax_wings_pack:item/ocean_wings", + "particle": "ax_wings_pack:item/ocean_wings" + }, + "elements": [ + { + "from": [-8, 0, 0], + "to": [8, 18, 0], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 4.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8, 0, 0], + "to": [24, 18, 0], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 4.5, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 4.5, 8, 9], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [44, 180, 0], + "translation": [0.25, 1.5, -2], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [44, 180, 0], + "translation": [0.25, 1.75, -2], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "translation": [7.25, 0, 0], + "scale": [0.71, 0.71, 0.71] + }, + "firstperson_lefthand": { + "translation": [7.25, 0, 0], + "scale": [0.71, 0.71, 0.71] + }, + "ground": { + "scale": [0.36, 0.36, 0.36] + }, + "gui": { + "scale": [0.5, 0.5, 1] + }, + "head": { + "translation": [0, -65, 17.25], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -7.25] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/phoenix_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/phoenix_wings.json new file mode 100644 index 0000000..d15c86a --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/phoenix_wings.json @@ -0,0 +1,70 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "ax_wings_pack:item/phoenix_wings", + "particle": "ax_wings_pack:item/phoenix_wings" + }, + "elements": [ + { + "from": [-8, 0, 0], + "to": [8, 18, 0], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 4.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8, 0, 0], + "to": [24, 18, 0], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 4.5, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 4.5, 8, 9], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [44, 180, 0], + "translation": [0, 2, -1.5], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [44, 180, 0], + "translation": [0, 2, -1.5], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "translation": [6.75, 0, 0], + "scale": [0.89, 0.89, 0.89] + }, + "firstperson_lefthand": { + "translation": [6.75, 0, 0], + "scale": [0.89, 0.89, 0.89] + }, + "ground": { + "scale": [0.4, 0.4, 0.4] + }, + "gui": { + "scale": [0.58, 0.57, 1] + }, + "head": { + "translation": [0, -65, 18], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -7] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/models/item/purple_wings.json b/stweaks-resourcepack/assets/ax_wings_pack/models/item/purple_wings.json new file mode 100644 index 0000000..df2ba43 --- /dev/null +++ b/stweaks-resourcepack/assets/ax_wings_pack/models/item/purple_wings.json @@ -0,0 +1,70 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "ax_wings_pack:item/purple_wings", + "particle": "ax_wings_pack:item/purple_wings" + }, + "elements": [ + { + "from": [-8, 0, 0], + "to": [8, 18, 0], + "rotation": {"angle": 22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 0, 4, 4.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8, 0, 0], + "to": [24, 18, 0], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8, 0, 0]}, + "faces": { + "north": {"uv": [0, 4.5, 4, 9], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "south": {"uv": [4, 4.5, 8, 9], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 4.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [42, 180, 0], + "translation": [0, 1.5, -2], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [42, 180, 0], + "translation": [0, 1.5, -2], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "translation": [5.75, 0, 0], + "scale": [0.76, 0.76, 0.76] + }, + "firstperson_lefthand": { + "translation": [5.75, 0, 0], + "scale": [0.76, 0.76, 0.76] + }, + "ground": { + "scale": [0.35, 0.35, 0.35] + }, + "gui": { + "scale": [0.56, 0.56, 0.64] + }, + "head": { + "translation": [0, -60, 17.25], + "scale": [1.75, 1.75, 1.75] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -7.25] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/angel_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/angel_wings.png new file mode 100644 index 0000000..24e8c65 Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/angel_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/astronaut_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/astronaut_wings.png new file mode 100644 index 0000000..b5f9173 Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/astronaut_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/astronaut_wings2.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/astronaut_wings2.png new file mode 100644 index 0000000..1aad277 Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/astronaut_wings2.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/bluefire_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/bluefire_wings.png new file mode 100644 index 0000000..e5a9977 Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/bluefire_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/brown_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/brown_wings.png new file mode 100644 index 0000000..b82bf6b Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/brown_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/butterfly_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/butterfly_wings.png new file mode 100644 index 0000000..6fa4239 Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/butterfly_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/demon_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/demon_wings.png new file mode 100644 index 0000000..8c959a4 Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/demon_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/dragon_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/dragon_wings.png new file mode 100644 index 0000000..003bf8f Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/dragon_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/eagle_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/eagle_wings.png new file mode 100644 index 0000000..4338d3f Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/eagle_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/golden_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/golden_wings.png new file mode 100644 index 0000000..687206b Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/golden_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/ocean_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/ocean_wings.png new file mode 100644 index 0000000..3a139b5 Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/ocean_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/phoenix_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/phoenix_wings.png new file mode 100644 index 0000000..5bf3095 Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/phoenix_wings.png differ diff --git a/stweaks-resourcepack/assets/ax_wings_pack/textures/item/purple_wings.png b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/purple_wings.png new file mode 100644 index 0000000..7a37a9a Binary files /dev/null and b/stweaks-resourcepack/assets/ax_wings_pack/textures/item/purple_wings.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/chick.json b/stweaks-resourcepack/assets/hotbar_pets/items/chick.json new file mode 100644 index 0000000..4feac7e --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/chick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/chick" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/chicken.json b/stweaks-resourcepack/assets/hotbar_pets/items/chicken.json new file mode 100644 index 0000000..74e5a4b --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/chicken.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/chicken" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/gible.json b/stweaks-resourcepack/assets/hotbar_pets/items/gible.json new file mode 100644 index 0000000..2247f20 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/gible.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/gible" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/husky.json b/stweaks-resourcepack/assets/hotbar_pets/items/husky.json new file mode 100644 index 0000000..86f31ab --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/husky.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/husky" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/iron_golem.json b/stweaks-resourcepack/assets/hotbar_pets/items/iron_golem.json new file mode 100644 index 0000000..c9e853d --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/iron_golem.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/iron_golem" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/kfc.json b/stweaks-resourcepack/assets/hotbar_pets/items/kfc.json new file mode 100644 index 0000000..e3e36e8 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/kfc.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/kfc" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/lavender.json b/stweaks-resourcepack/assets/hotbar_pets/items/lavender.json new file mode 100644 index 0000000..572e5fa --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/lavender.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/lavender" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/mcdonalds.json b/stweaks-resourcepack/assets/hotbar_pets/items/mcdonalds.json new file mode 100644 index 0000000..5866ac9 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/mcdonalds.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/mcdonalds" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/mooshroom.json b/stweaks-resourcepack/assets/hotbar_pets/items/mooshroom.json new file mode 100644 index 0000000..45cb1c5 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/mooshroom.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/mooshroom" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/nautilus.json b/stweaks-resourcepack/assets/hotbar_pets/items/nautilus.json new file mode 100644 index 0000000..f4c11c3 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/nautilus.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/nautilus" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/patrick.json b/stweaks-resourcepack/assets/hotbar_pets/items/patrick.json new file mode 100644 index 0000000..db0a9a5 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/patrick.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/patrick" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/pig.json b/stweaks-resourcepack/assets/hotbar_pets/items/pig.json new file mode 100644 index 0000000..ff261d2 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/pig.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/pig" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/seal.json b/stweaks-resourcepack/assets/hotbar_pets/items/seal.json new file mode 100644 index 0000000..7ce5fb7 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/seal.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/seal" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/shark.json b/stweaks-resourcepack/assets/hotbar_pets/items/shark.json new file mode 100644 index 0000000..7867119 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/shark.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/shark" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/sheep.json b/stweaks-resourcepack/assets/hotbar_pets/items/sheep.json new file mode 100644 index 0000000..a2e5698 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/sheep.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/sheep" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/spider.json b/stweaks-resourcepack/assets/hotbar_pets/items/spider.json new file mode 100644 index 0000000..52962d2 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/spider.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/spider" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/squid.json b/stweaks-resourcepack/assets/hotbar_pets/items/squid.json new file mode 100644 index 0000000..42c4bda --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/squid.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/squid" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/swablu.json b/stweaks-resourcepack/assets/hotbar_pets/items/swablu.json new file mode 100644 index 0000000..487608f --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/swablu.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/swablu" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/items/train.json b/stweaks-resourcepack/assets/hotbar_pets/items/train.json new file mode 100644 index 0000000..689ca5c --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/items/train.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "hotbar_pets:item/train" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/chick.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/chick.json new file mode 100644 index 0000000..cb181b2 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/chick.json @@ -0,0 +1,46 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hotbar_pets:item/chick" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/chicken.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/chicken.json new file mode 100644 index 0000000..691655c --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/chicken.json @@ -0,0 +1,46 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hotbar_pets:item/chicken" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/gible.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/gible.json new file mode 100644 index 0000000..e0e537f --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/gible.json @@ -0,0 +1,1228 @@ +{ + "credit": "Made with Blockbench by dragonmaster95", + "textures": { + "1": "hotbar_pets:item/gible" + }, + "elements": [ + { + "name": "s", + "from": [ + 1, + 11, + -4 + ], + "to": [ + 15, + 18, + 2 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 10, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 6.1, + 0.1, + 15.9, + 12.9 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 6.1, + 0.1, + 15.9, + 12.9 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 1.75, + 12.1, + 2.25, + 12.25 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 4, + 11, + -6 + ], + "to": [ + 12, + 18, + 0 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 10, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 1.75, + 12.1, + 2.25, + 12.25 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 1.25, + 7, + 0 + ], + "to": [ + 14.75, + 8.5, + 2 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 10, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 0.1, + 1.1, + 2.9, + 2.9 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 2.9, + 1.1, + 0.1, + 2.9 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 1.25, + 9, + -3 + ], + "to": [ + 14.75, + 11, + 3 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 10, + 8 + ] + }, + "faces": { + "east": { + "uv": [ + 0.1, + 0.1, + 2.9, + 9.9 + ], + "rotation": 90, + "texture": "#1" + }, + "west": { + "uv": [ + 0.1, + 9.9, + 2.9, + 0.1 + ], + "rotation": 90, + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 1, + 3, + 2 + ], + "to": [ + 15, + 18, + 15 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 10, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0.75, + 10.1, + 2.25, + 12.25 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 6.6, + 13.1, + 15.9, + 15.5 + ], + "rotation": 90, + "texture": "#1" + }, + "south": { + "uv": [ + 6.6, + 15.75, + 15.9, + 15.25 + ], + "rotation": 90, + "texture": "#1" + }, + "west": { + "uv": [ + 6.6, + 15.5, + 15.9, + 13.1 + ], + "rotation": 90, + "texture": "#1" + }, + "up": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 10.1, + 13.9, + 15.4, + 13.1 + ], + "rotation": 90, + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + -1, + 15, + 3 + ], + "to": [ + 5, + 21, + 13 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 9, + 10, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0.1, + 13.1, + 3.2, + 13.9 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0.1, + 13.1, + 3.2, + 13.9 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 0.1, + 13.1, + 3.2, + 13.9 + ], + "rotation": 270, + "texture": "#1" + }, + "down": { + "uv": [ + 0.1, + 13.1, + 3.2, + 13.9 + ], + "rotation": 90, + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 11, + 15, + 3 + ], + "to": [ + 17, + 21, + 13 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 7, + 10, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 4.5, + 0.1, + 3.1, + 1.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 3.2, + 13.1, + 0.1, + 13.9 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 4.5, + 0.1, + 3.1, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 3.2, + 13.1, + 0.1, + 13.9 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 0.1, + 13.9, + 3.2, + 13.1 + ], + "rotation": 270, + "texture": "#1" + }, + "down": { + "uv": [ + 0.1, + 13.9, + 3.2, + 13.1 + ], + "rotation": 90, + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 7, + 13.5, + 2.5 + ], + "to": [ + 9, + 23.25, + 17.5 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 12.5, + 2 + ] + }, + "faces": { + "east": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 7, + 11.5, + 10.5 + ], + "to": [ + 9, + 21.25, + 21.5 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 12.5, + 2 + ] + }, + "faces": { + "east": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 7, + -0.15, + 7.5 + ], + "to": [ + 9, + 2.85, + 14 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 11.1, + 7 + ] + }, + "faces": { + "east": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 7, + 3.38514, + 9.24027 + ], + "to": [ + 9.00133, + 6.33067, + 17.77235 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8.00133, + 10.33067, + 6.99027 + ] + }, + "faces": { + "east": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 7.00002, + 19.01187, + 12.20975 + ], + "to": [ + 9.00002, + 28.3598, + 23.35123 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8.00002, + 13.26187, + 0.85123 + ] + }, + "faces": { + "north": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + -3, + 0, + 5 + ], + "to": [ + 4, + 8, + 12 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 9, + 11, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 1.1, + 13.1, + 5.9, + 15.9 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 6.9, + 13.1, + 5.75, + 15.9 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 5.75, + 13.1, + 6.9, + 15.9 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 13, + 0, + 5 + ], + "to": [ + 20, + 8, + 12 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 7, + 11, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 5.9, + 13.1, + 1.1, + 15.9 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 6.9, + 13.1, + 5.75, + 15.9 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 5.75, + 13.1, + 6.9, + 15.9 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + -2.98463, + 9.25, + -0.09776 + ], + "to": [ + 1.01537, + 13.25, + 7.90224 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + -1.01219, + 11.98949, + 7.02268 + ] + }, + "faces": { + "north": { + "uv": [ + 2.1, + 13.1, + 6.9, + 15.9 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 6.5, + 15.9, + 7.9, + 13.1 + ], + "rotation": 90, + "texture": "#1" + }, + "south": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 6.5, + 13.1, + 7.9, + 15.9 + ], + "rotation": 90, + "texture": "#1" + }, + "up": { + "uv": [ + 2.1, + 13.1, + 6.9, + 15.9 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 3.1, + 0.1, + 4.5, + 1.5 + ], + "texture": "#1" + } + } + }, + { + "name": "s", + "from": [ + 14.98463, + 9.25, + -0.09776 + ], + "to": [ + 18.98463, + 13.25, + 7.90224 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 17.01219, + 11.98949, + 7.02268 + ] + }, + "faces": { + "north": { + "uv": [ + 6.9, + 13.1, + 2.1, + 15.9 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 6.5, + 15.9, + 7.9, + 13.1 + ], + "rotation": 90, + "texture": "#1" + }, + "south": { + "uv": [ + 4.5, + 0.1, + 3.1, + 1.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 6.5, + 13.1, + 7.9, + 15.9 + ], + "rotation": 90, + "texture": "#1" + }, + "up": { + "uv": [ + 6.9, + 13.1, + 2.1, + 15.9 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 4.5, + 0.1, + 3.1, + 1.5 + ], + "texture": "#1" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "ground": { + "translation": [ + 0, + 2, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + }, + "gui": { + "rotation": [ + 30, + 135, + 0 + ], + "translation": [ + -0.5, + -2.75, + 0 + ], + "scale": [ + 0.47, + 0.47, + 0.47 + ] + }, + "head": { + "rotation": [ + -22.5, + 0, + 0 + ], + "translation": [ + 0, + 1.75, + 12 + ], + "scale": [ + 1.14, + 1.14, + 1.14 + ] + }, + "fixed": { + "rotation": [ + 0, + -90, + 0 + ], + "translation": [ + 0.75, + -4, + 0 + ], + "scale": [ + 0.68, + 0.68, + 0.68 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/husky.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/husky.json new file mode 100644 index 0000000..8ef41b9 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/husky.json @@ -0,0 +1,3581 @@ +{ + "credit": "Made with Blockbench by dragonmaster95", + "textures": { + "2": "hotbar_pets:item/husky", + "particle": "hotbar_pets:item/husky" + }, + "elements": [ + { + "from": [ + 9.95, + 0, + -0.875 + ], + "to": [ + 11.95, + 1, + 2.125 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 7.95, + 8, + 7.125 + ] + }, + "faces": { + "north": { + "uv": [ + 8.25156, + 6.75156, + 8.74844, + 6.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 7.50156, + 6.75156, + 8.24844, + 6.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 9.50156, + 6.75156, + 9.99844, + 6.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 8.75156, + 6.75156, + 9.49844, + 6.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 8.74844, + 6.74844, + 8.25156, + 6.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 9.24844, + 6.00156, + 8.75156, + 6.74844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 9.95, + 0, + 1.125 + ], + "to": [ + 11.95, + 8, + 3.125 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 7.95, + 9, + 7.125 + ] + }, + "faces": { + "north": { + "uv": [ + 4.00156, + 11.75156, + 4.49844, + 13.74844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 3.50156, + 11.75156, + 3.99844, + 13.74844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 5.00156, + 11.75156, + 5.49844, + 13.74844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 4.50156, + 11.75156, + 4.99844, + 13.74844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 4.49844, + 11.74844, + 4.00156, + 11.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 4.99844, + 11.25156, + 4.50156, + 11.74844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 9.96, + 3.4047, + 2.93674 + ], + "to": [ + 11.94, + 5.3847, + 4.16674 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 7.95, + -0.3553, + -2.07326 + ] + }, + "faces": { + "north": { + "uv": [ + 7.75156, + 1.75156, + 8.24844, + 2.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 7.50156, + 1.75156, + 7.74844, + 2.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 8.50156, + 1.75156, + 8.99844, + 2.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 8.25156, + 1.75156, + 8.49844, + 2.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 8.24844, + 1.74844, + 7.75156, + 1.50156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 8.74844, + 1.50156, + 8.25156, + 1.74844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 9.96, + 10.00079, + 0.66488 + ], + "to": [ + 11.94, + 16.48079, + 3.64488 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 7.95, + 7.66345, + 8.39413 + ] + }, + "faces": { + "north": { + "uv": [ + 0.75156, + 5.00156, + 1.24844, + 6.49844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0.00156, + 5.00156, + 0.74844, + 6.49844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 2.00156, + 5.00156, + 2.49844, + 6.49844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 1.25156, + 5.00156, + 1.99844, + 6.49844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 1.24844, + 4.99844, + 0.75156, + 4.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 1.74844, + 4.25156, + 1.25156, + 4.99844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 9.95, + 8, + 0.625 + ], + "to": [ + 11.95, + 14, + 3.125 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 7.95, + 5.67266, + 7.86425 + ] + }, + "faces": { + "north": { + "uv": [ + 0.50156, + 0.50156, + 0.99844, + 1.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0.00156, + 0.50156, + 0.49844, + 1.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 1.50156, + 0.50156, + 1.99844, + 1.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 1.00156, + 0.50156, + 1.49844, + 1.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 0.99844, + 0.49844, + 0.50156, + 0.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 1.49844, + 0.00156, + 1.00156, + 0.49844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 9.975, + 0, + 12.95 + ], + "to": [ + 11.975, + 1, + 15.95 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 7.975, + 8, + 9.95 + ] + }, + "faces": { + "north": { + "uv": [ + 13.25156, + 4.75156, + 13.74844, + 4.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 12.50156, + 4.75156, + 13.24844, + 4.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 14.50156, + 4.75156, + 14.99844, + 4.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 13.75156, + 4.75156, + 14.49844, + 4.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 13.74844, + 4.74844, + 13.25156, + 4.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 14.24844, + 4.00156, + 13.75156, + 4.74844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 9.975, + 1, + 14.45 + ], + "to": [ + 11.975, + 5, + 15.95 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 7.975, + 8, + 8.95 + ] + }, + "faces": { + "north": { + "uv": [ + 13.00156, + 8.00156, + 13.49844, + 8.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 12.75156, + 8.00156, + 12.99844, + 8.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 13.75156, + 8.00156, + 14.24844, + 8.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 13.50156, + 8.00156, + 13.74844, + 8.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 13.49844, + 7.99844, + 13.00156, + 7.75156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 13.99844, + 7.75156, + 13.50156, + 7.99844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 9.985, + -2.19711, + 11.56051 + ], + "to": [ + 11.965, + 2.78289, + 13.54051 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 7.975, + 4.29289, + 6.05051 + ] + }, + "faces": { + "north": { + "uv": [ + 0.50156, + 13.00156, + 0.99844, + 14.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0.00156, + 13.00156, + 0.49844, + 14.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 1.50156, + 13.00156, + 1.99844, + 14.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 1.00156, + 13.00156, + 1.49844, + 14.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 0.99844, + 12.99844, + 0.50156, + 12.50156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 1.49844, + 12.50156, + 1.00156, + 12.99844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 9.975, + 7.12132, + 11.00025 + ], + "to": [ + 11.975, + 14.12132, + 16.00025 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 7.975, + 4.12132, + 7.00025 + ] + }, + "faces": { + "north": { + "uv": [ + 1.25156, + 9.50156, + 1.74844, + 11.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0.00156, + 9.50156, + 1.24844, + 11.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 3.00156, + 9.50156, + 3.49844, + 11.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 1.75156, + 9.50156, + 2.99844, + 11.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 1.74844, + 9.49844, + 1.25156, + 8.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 2.24844, + 8.25156, + 1.75156, + 9.49844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 9.995, + 5.91632, + 13.02025 + ], + "to": [ + 11.955, + 8.87632, + 14.98025 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 7.975, + 4.12132, + 8.00025 + ] + }, + "faces": { + "north": { + "uv": [ + 2.75156, + 8.75156, + 3.24844, + 9.49844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 2.25156, + 8.75156, + 2.74844, + 9.49844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 3.75156, + 8.75156, + 4.24844, + 9.49844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 3.25156, + 8.75156, + 3.74844, + 9.49844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 3.24844, + 8.74844, + 2.75156, + 8.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 3.74844, + 8.25156, + 3.25156, + 8.74844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube4", + "from": [ + 5, + 15.75, + -5 + ], + "to": [ + 11, + 21.75, + 0 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8.5, + 13, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 7.50156, + 8.25156, + 8.99844, + 9.74844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 6.25156, + 8.25156, + 7.49844, + 9.74844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 10.25156, + 8.25156, + 11.74844, + 9.74844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 9.00156, + 8.25156, + 10.24844, + 9.74844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 8.99844, + 8.24844, + 7.50156, + 7.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 10.49844, + 7.00156, + 9.00156, + 8.24844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube5", + "from": [ + 9.25, + 19.25, + -2.5 + ], + "to": [ + 11.75, + 24.25, + -1.5 + ], + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + 10.75, + 22.75, + -2 + ] + }, + "faces": { + "north": { + "uv": [ + 2.25156, + 12.75156, + 2.74844, + 13.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 2.00156, + 12.75156, + 2.24844, + 13.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 3.00156, + 12.75156, + 3.49844, + 13.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 2.75156, + 12.75156, + 2.99844, + 13.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 2.74844, + 12.74844, + 2.25156, + 12.50156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 3.24844, + 12.50156, + 2.75156, + 12.74844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube6", + "from": [ + 4.25, + 19.25, + -2.5 + ], + "to": [ + 6.75, + 24.25, + -1.5 + ], + "shade": false, + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 5.25, + 22.75, + -2 + ] + }, + "faces": { + "north": { + "uv": [ + 2.74844, + 12.75156, + 2.25156, + 13.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 2.99844, + 12.75156, + 2.75156, + 13.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 3.49844, + 12.75156, + 3.00156, + 13.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 2.24844, + 12.75156, + 2.00156, + 13.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 2.25156, + 12.74844, + 2.74844, + 12.50156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 2.75156, + 12.50156, + 3.24844, + 12.74844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube5", + "from": [ + 6, + 14.02165, + -1.66165 + ], + "to": [ + 10, + 20.02165, + 1.33835 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 17.02165, + -1.16165 + ] + }, + "faces": { + "north": { + "uv": [ + 7.75156, + 10.50156, + 8.74844, + 11.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 7.00156, + 10.50156, + 7.74844, + 11.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 9.50156, + 10.50156, + 10.49844, + 11.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 8.75156, + 10.50156, + 9.49844, + 11.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 8.74844, + 10.49844, + 7.75156, + 9.75156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 9.74844, + 9.75156, + 8.75156, + 10.49844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube6", + "from": [ + 6, + 10.93507, + -3.04225 + ], + "to": [ + 10, + 16.93507, + -0.04225 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 13.93507, + -0.54225 + ] + }, + "faces": { + "north": { + "uv": [ + 4.25156, + 9.75156, + 5.24844, + 11.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 3.50156, + 9.75156, + 4.24844, + 11.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 6.00156, + 9.75156, + 6.99844, + 11.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 5.25156, + 9.75156, + 5.99844, + 11.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 5.24844, + 9.74844, + 4.25156, + 9.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 6.24844, + 9.00156, + 5.25156, + 9.74844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube5", + "from": [ + 4.5, + 16.75, + -4 + ], + "to": [ + 11.5, + 19.75, + -1 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 9, + 17.75, + 0 + ] + }, + "faces": { + "north": { + "uv": [ + 6.25156, + 0.75156, + 7.99844, + 1.49844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 5.50156, + 0.75156, + 6.24844, + 1.49844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 8.75156, + 0.75156, + 10.49844, + 1.49844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 8.00156, + 0.75156, + 8.74844, + 1.49844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 7.99844, + 0.74844, + 6.25156, + 0.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 9.74844, + 0.00156, + 8.00156, + 0.74844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube7", + "from": [ + 7, + 18.75, + -8 + ], + "to": [ + 9, + 19.75, + -3 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8.5, + 12, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 11.75156, + 9.75156, + 12.24844, + 9.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 10.50156, + 9.75156, + 11.74844, + 9.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 13.50156, + 9.75156, + 13.99844, + 9.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 12.25156, + 9.75156, + 13.49844, + 9.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 12.24844, + 9.74844, + 11.75156, + 8.50156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 12.74844, + 8.50156, + 12.25156, + 9.74844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube7", + "from": [ + 7.25, + 19, + -8.25 + ], + "to": [ + 8.75, + 19.5, + -7.75 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8.5, + 12.25, + 8.75 + ] + }, + "faces": { + "north": { + "uv": [ + 5.75156, + 1.75156, + 6.24844, + 1.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 5.50156, + 1.75156, + 5.74844, + 1.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 6.50156, + 1.75156, + 6.99844, + 1.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 6.25156, + 1.75156, + 6.49844, + 1.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 6.24844, + 1.74844, + 5.75156, + 1.50156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 6.74844, + 1.50156, + 6.25156, + 1.74844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube5", + "from": [ + 6.5, + 17.25, + -7.5 + ], + "to": [ + 9.5, + 18.25, + -2.5 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 9, + 16.5, + -3.25 + ] + }, + "faces": { + "north": { + "uv": [ + 10.50156, + 1.50156, + 11.24844, + 1.74844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 9.25156, + 1.50156, + 10.49844, + 1.74844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 12.50156, + 1.50156, + 13.24844, + 1.74844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 11.25156, + 1.50156, + 12.49844, + 1.74844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 11.24844, + 1.49844, + 10.50156, + 0.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 11.99844, + 0.25156, + 11.25156, + 1.49844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube6", + "from": [ + 6.8, + 17.55, + -7.45 + ], + "to": [ + 9.2, + 17.95, + -4.05 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 9, + 16.5, + -4.5 + ] + }, + "faces": { + "north": { + "uv": [ + 1.00156, + 12.25156, + 1.74844, + 12.49844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0.00156, + 12.25156, + 0.99844, + 12.49844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 2.75156, + 12.25156, + 3.49844, + 12.49844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 1.75156, + 12.25156, + 2.74844, + 12.49844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 1.74844, + 12.24844, + 1.00156, + 11.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 2.49844, + 11.25156, + 1.75156, + 12.24844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube7", + "from": [ + 6.8, + 16.41721, + -8.02323 + ], + "to": [ + 9.2, + 16.81721, + -6.62323 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 9, + 15.36721, + -7.07323 + ] + }, + "faces": { + "north": { + "uv": [ + 5.50156, + 6.50156, + 6.24844, + 6.74844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 5.00156, + 6.50156, + 5.49844, + 6.74844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 6.75156, + 6.50156, + 7.49844, + 6.74844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 6.25156, + 6.50156, + 6.74844, + 6.74844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 6.24844, + 6.49844, + 5.50156, + 6.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 6.99844, + 6.00156, + 6.25156, + 6.49844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube8", + "from": [ + 7.3, + 14.80012, + -9.05287 + ], + "to": [ + 8.7, + 15.20012, + -8.65287 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 9.5, + 14.75012, + -7.60287 + ] + }, + "faces": { + "north": { + "uv": [ + 9.25156, + 2.00156, + 9.74844, + 2.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 9.00156, + 2.00156, + 9.24844, + 2.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 10.00156, + 2.00156, + 10.49844, + 2.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 9.75156, + 2.00156, + 9.99844, + 2.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 9.74844, + 1.99844, + 9.25156, + 1.75156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 10.24844, + 1.75156, + 9.75156, + 1.99844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube6", + "from": [ + 6.5, + 17.75, + -8 + ], + "to": [ + 9.5, + 18.75, + -3 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 9, + 12, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 11.75156, + 11.75156, + 12.49844, + 11.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 10.50156, + 11.75156, + 11.74844, + 11.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 13.75156, + 11.75156, + 14.49844, + 11.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 12.50156, + 11.75156, + 13.74844, + 11.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 12.49844, + 11.74844, + 11.75156, + 10.50156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 13.24844, + 10.50156, + 12.50156, + 11.74844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube8", + "from": [ + 7.75, + 18.5, + -8.25 + ], + "to": [ + 8.25, + 19, + -7.75 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8.5, + 12.25, + 8.75 + ] + }, + "faces": { + "north": { + "uv": [ + 7.25156, + 6.25156, + 7.49844, + 6.49844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 7.00156, + 6.25156, + 7.24844, + 6.49844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 7.75156, + 6.25156, + 7.99844, + 6.49844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 7.50156, + 6.25156, + 7.74844, + 6.49844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 7.49844, + 6.24844, + 7.25156, + 6.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 7.74844, + 6.00156, + 7.50156, + 6.24844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube3", + "from": [ + 5.5, + 9.75, + -3 + ], + "to": [ + 10.5, + 15.75, + 7 + ], + "faces": { + "north": { + "uv": [ + 2.50156, + 6.75156, + 3.74844, + 8.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0.00156, + 6.75156, + 2.49844, + 8.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 6.25156, + 6.75156, + 7.49844, + 8.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 3.75156, + 6.75156, + 6.24844, + 8.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 3.74844, + 6.74844, + 2.50156, + 4.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 4.99844, + 4.25156, + 3.75156, + 6.74844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube4", + "from": [ + 4.5, + 7.75, + -1 + ], + "to": [ + 11.5, + 16.75, + 7 + ], + "faces": { + "north": { + "uv": [ + 2.00156, + 2.00156, + 3.74844, + 4.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0.00156, + 2.00156, + 1.99844, + 4.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 5.75156, + 2.00156, + 7.49844, + 4.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 3.75156, + 2.00156, + 5.74844, + 4.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 3.74844, + 1.99844, + 2.00156, + 0.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 5.49844, + 0.00156, + 3.75156, + 1.99844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube4", + "from": [ + 5, + 9.5, + 7 + ], + "to": [ + 11, + 16.5, + 15 + ], + "faces": { + "north": { + "uv": [ + 7.50156, + 4.25156, + 8.99844, + 5.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 5.50156, + 4.25156, + 7.49844, + 5.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 11.00156, + 4.25156, + 12.49844, + 5.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 9.00156, + 4.25156, + 10.99844, + 5.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 8.99844, + 4.24844, + 7.50156, + 2.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 10.49844, + 2.25156, + 9.00156, + 4.24844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube7", + "from": [ + 6.5, + 13.92787, + 14.07085 + ], + "to": [ + 9.5, + 15.92787, + 18.07085 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8, + 13.43692, + 19.64774 + ] + }, + "faces": { + "north": { + "uv": [ + 11.75156, + 12.75156, + 12.49844, + 13.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 11.00156, + 12.75156, + 11.74844, + 13.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 13.25156, + 12.75156, + 13.99844, + 13.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 12.50156, + 12.75156, + 13.24844, + 13.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 12.49844, + 12.74844, + 11.75156, + 12.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 13.24844, + 12.00156, + 12.50156, + 12.74844 + ], + "texture": "#2" + } + } + }, + { + "name": "cube8", + "from": [ + 6.51, + 14.82411, + 17.77637 + ], + "to": [ + 9.49, + 16.80411, + 20.75637 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8.01, + 15.11622, + 20.17647 + ] + }, + "faces": { + "north": { + "uv": [ + 13.24844, + 0.49844, + 12.50156, + 0.00156 + ], + "rotation": 180, + "texture": "#2" + }, + "east": { + "uv": [ + 12.00156, + 0.50156, + 12.49844, + 1.24844 + ], + "rotation": 90, + "texture": "#2" + }, + "south": { + "uv": [ + 13.99844, + 0.00156, + 13.25156, + 0.49844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 13.25156, + 0.50156, + 13.74844, + 1.24844 + ], + "rotation": 270, + "texture": "#2" + }, + "up": { + "uv": [ + 13.75156, + 0.50156, + 14.49844, + 1.24844 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 12.50156, + 0.50156, + 13.24844, + 1.24844 + ], + "rotation": 180, + "texture": "#2" + } + } + }, + { + "name": "cube9", + "from": [ + 7.001, + 14.53108, + 17.94218 + ], + "to": [ + 8.999, + 17.27908, + 20.69018 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8.001, + 15.15988, + 20.46755 + ] + }, + "faces": { + "north": { + "uv": [ + 6.99844, + 12.74844, + 6.25156, + 12.00156 + ], + "rotation": 180, + "texture": "#2" + }, + "east": { + "uv": [ + 5.50156, + 12.75156, + 6.24844, + 13.49844 + ], + "rotation": 90, + "texture": "#2" + }, + "south": { + "uv": [ + 7.74844, + 12.00156, + 7.00156, + 12.74844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 7.00156, + 12.75156, + 7.74844, + 13.49844 + ], + "rotation": 270, + "texture": "#2" + }, + "up": { + "uv": [ + 7.75156, + 12.75156, + 8.49844, + 13.49844 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 6.25156, + 12.75156, + 6.99844, + 13.49844 + ], + "rotation": 180, + "texture": "#2" + } + } + }, + { + "name": "cube10", + "from": [ + 7, + 13.61253, + 14.62504 + ], + "to": [ + 9, + 16.36253, + 18.37504 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8, + 13.43692, + 19.89774 + ] + }, + "faces": { + "north": { + "uv": [ + 11.50156, + 7.00156, + 12.24844, + 7.74844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 10.50156, + 7.00156, + 11.49844, + 7.74844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 13.25156, + 7.00156, + 13.99844, + 7.74844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 12.25156, + 7.00156, + 13.24844, + 7.74844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 12.24844, + 6.99844, + 11.50156, + 6.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 12.99844, + 6.00156, + 12.25156, + 7.12344 + ], + "texture": "#2" + } + } + }, + { + "name": "cube9", + "from": [ + 7, + 20.33216, + 19.35335 + ], + "to": [ + 9, + 21.33216, + 21.35335 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 8, + 15.93692, + 20.64774 + ] + }, + "faces": { + "north": { + "uv": [ + 4.75156, + 8.50156, + 5.24844, + 8.74844 + ], + "rotation": 180, + "texture": "#2" + }, + "east": { + "uv": [ + 3.75156, + 8.50156, + 3.99844, + 8.74844 + ], + "rotation": 180, + "texture": "#2" + }, + "south": { + "uv": [ + 4.00156, + 8.50156, + 4.49844, + 8.74844 + ], + "rotation": 180, + "texture": "#2" + }, + "west": { + "uv": [ + 4.50156, + 8.50156, + 4.74844, + 8.74844 + ], + "rotation": 180, + "texture": "#2" + }, + "up": { + "uv": [ + 4.99844, + 8.25156, + 4.50156, + 8.49844 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 4.49844, + 8.49844, + 4.00156, + 8.25156 + ], + "texture": "#2" + } + } + }, + { + "name": "cube10", + "from": [ + 6.5, + 15.18595, + 18.94816 + ], + "to": [ + 9.5, + 20.18595, + 20.94816 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 8, + 15.29071, + 20.74255 + ] + }, + "faces": { + "north": { + "uv": [ + 10.25156, + 12.50156, + 10.99844, + 13.74844 + ], + "rotation": 180, + "texture": "#2" + }, + "east": { + "uv": [ + 8.50156, + 12.50156, + 8.99844, + 13.74844 + ], + "rotation": 180, + "texture": "#2" + }, + "south": { + "uv": [ + 9.00156, + 12.50156, + 9.74844, + 13.74844 + ], + "rotation": 180, + "texture": "#2" + }, + "west": { + "uv": [ + 9.75156, + 12.50156, + 10.24844, + 13.74844 + ], + "rotation": 180, + "texture": "#2" + }, + "up": { + "uv": [ + 10.49844, + 12.00156, + 9.75156, + 12.49844 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 9.74844, + 12.49844, + 9.00156, + 12.00156 + ], + "texture": "#2" + } + } + }, + { + "name": "cube11", + "from": [ + 7, + 14.8851, + 20.23779 + ], + "to": [ + 9, + 17.6351, + 25.48779 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 8, + 15.59071, + 20.84255 + ] + }, + "faces": { + "north": { + "uv": [ + 11.99844, + 2.49844, + 11.25156, + 1.75156 + ], + "rotation": 180, + "texture": "#2" + }, + "east": { + "uv": [ + 10.50156, + 2.50156, + 11.24844, + 3.99844 + ], + "rotation": 90, + "texture": "#2" + }, + "south": { + "uv": [ + 12.74844, + 1.75156, + 12.00156, + 2.49844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 12.00156, + 2.50156, + 12.74844, + 3.99844 + ], + "rotation": 270, + "texture": "#2" + }, + "up": { + "uv": [ + 12.75156, + 2.50156, + 13.49844, + 3.99844 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 11.25156, + 2.50156, + 11.99844, + 3.99844 + ], + "rotation": 180, + "texture": "#2" + } + } + }, + { + "from": [ + 4.05, + 0, + -0.875 + ], + "to": [ + 6.05, + 1, + 2.125 + ], + "shade": false, + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8.05, + 8, + 7.125 + ] + }, + "faces": { + "north": { + "uv": [ + 8.74844, + 6.75156, + 8.25156, + 6.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 9.49844, + 6.75156, + 8.75156, + 6.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 9.99844, + 6.75156, + 9.50156, + 6.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 8.24844, + 6.75156, + 7.50156, + 6.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 8.25156, + 6.74844, + 8.74844, + 6.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 8.75156, + 6.00156, + 9.24844, + 6.74844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 4.05, + 0, + 1.125 + ], + "to": [ + 6.05, + 8, + 3.125 + ], + "shade": false, + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8.05, + 9, + 7.125 + ] + }, + "faces": { + "north": { + "uv": [ + 4.49844, + 11.75156, + 4.00156, + 13.74844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 4.99844, + 11.75156, + 4.50156, + 13.74844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 5.49844, + 11.75156, + 5.00156, + 13.74844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 3.99844, + 11.75156, + 3.50156, + 13.74844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 4.00156, + 11.74844, + 4.49844, + 11.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 4.50156, + 11.25156, + 4.99844, + 11.74844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 4.06, + 3.4047, + 2.93674 + ], + "to": [ + 6.04, + 5.3847, + 4.16674 + ], + "shade": false, + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8.05, + -0.3553, + -2.07326 + ] + }, + "faces": { + "north": { + "uv": [ + 8.24844, + 1.75156, + 7.75156, + 2.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 8.49844, + 1.75156, + 8.25156, + 2.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 8.99844, + 1.75156, + 8.50156, + 2.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 7.74844, + 1.75156, + 7.50156, + 2.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 7.75156, + 1.74844, + 8.24844, + 1.50156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 8.25156, + 1.50156, + 8.74844, + 1.74844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 4.06, + 10.00079, + 0.66488 + ], + "to": [ + 6.04, + 16.48079, + 3.64488 + ], + "shade": false, + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8.05, + 7.66345, + 8.39413 + ] + }, + "faces": { + "north": { + "uv": [ + 1.24844, + 5.00156, + 0.75156, + 6.49844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 1.99844, + 5.00156, + 1.25156, + 6.49844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 2.49844, + 5.00156, + 2.00156, + 6.49844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 0.74844, + 5.00156, + 0.00156, + 6.49844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 0.75156, + 4.99844, + 1.24844, + 4.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 1.25156, + 4.25156, + 1.74844, + 4.99844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 4.05, + 8, + 0.625 + ], + "to": [ + 6.05, + 14, + 3.125 + ], + "shade": false, + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8.05, + 5.67266, + 7.86425 + ] + }, + "faces": { + "north": { + "uv": [ + 0.99844, + 0.50156, + 0.50156, + 1.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 1.49844, + 0.50156, + 1.00156, + 1.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 1.99844, + 0.50156, + 1.50156, + 1.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 0.49844, + 0.50156, + 0.00156, + 1.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 0.50156, + 0.49844, + 0.99844, + 0.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 1.00156, + 0.00156, + 1.49844, + 0.49844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 4.025, + 0, + 12.95 + ], + "to": [ + 6.025, + 1, + 15.95 + ], + "shade": false, + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8.025, + 8, + 9.95 + ] + }, + "faces": { + "north": { + "uv": [ + 13.74844, + 4.75156, + 13.25156, + 4.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 14.49844, + 4.75156, + 13.75156, + 4.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 14.99844, + 4.75156, + 14.50156, + 4.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 13.24844, + 4.75156, + 12.50156, + 4.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 13.25156, + 4.74844, + 13.74844, + 4.00156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 13.75156, + 4.00156, + 14.24844, + 4.74844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 4.025, + 1, + 14.45 + ], + "to": [ + 6.025, + 5, + 15.95 + ], + "shade": false, + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8.025, + 8, + 8.95 + ] + }, + "faces": { + "north": { + "uv": [ + 13.49844, + 8.00156, + 13.00156, + 8.99844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 13.74844, + 8.00156, + 13.50156, + 8.99844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 14.24844, + 8.00156, + 13.75156, + 8.99844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 12.99844, + 8.00156, + 12.75156, + 8.99844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 13.00156, + 7.99844, + 13.49844, + 7.75156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 13.50156, + 7.75156, + 13.99844, + 7.99844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 4.035, + -2.19711, + 11.56051 + ], + "to": [ + 6.015, + 2.78289, + 13.54051 + ], + "shade": false, + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 8.025, + 4.29289, + 6.05051 + ] + }, + "faces": { + "north": { + "uv": [ + 0.99844, + 13.00156, + 0.50156, + 14.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 1.49844, + 13.00156, + 1.00156, + 14.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 1.99844, + 13.00156, + 1.50156, + 14.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 0.49844, + 13.00156, + 0.00156, + 14.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 0.50156, + 12.99844, + 0.99844, + 12.50156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 1.00156, + 12.50156, + 1.49844, + 12.99844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 4.025, + 7.12132, + 11.00025 + ], + "to": [ + 6.025, + 14.12132, + 16.00025 + ], + "shade": false, + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8.025, + 4.12132, + 7.00025 + ] + }, + "faces": { + "north": { + "uv": [ + 1.74844, + 9.50156, + 1.25156, + 11.24844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 2.99844, + 9.50156, + 1.75156, + 11.24844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 3.49844, + 9.50156, + 3.00156, + 11.24844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 1.24844, + 9.50156, + 0.00156, + 11.24844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 1.25156, + 9.49844, + 1.74844, + 8.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 1.75156, + 8.25156, + 2.24844, + 9.49844 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 4.045, + 5.91632, + 13.02025 + ], + "to": [ + 6.005, + 8.87632, + 14.98025 + ], + "shade": false, + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8.025, + 4.12132, + 8.00025 + ] + }, + "faces": { + "north": { + "uv": [ + 3.24844, + 8.75156, + 2.75156, + 9.49844 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 3.74844, + 8.75156, + 3.25156, + 9.49844 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 4.24844, + 8.75156, + 3.75156, + 9.49844 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 2.74844, + 8.75156, + 2.25156, + 9.49844 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 2.75156, + 8.74844, + 3.24844, + 8.25156 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 3.25156, + 8.25156, + 3.74844, + 8.74844 + ], + "texture": "#2" + } + } + } + ], + "groups": [ + { + "name": "front_leg_right", + "origin": [ + 8, + 5.54328, + 8.5461 + ], + "children": [ + 0, + 1, + 2, + 3, + 4 + ] + }, + { + "name": "hind_leg_right", + "origin": [ + 8, + 8, + 8 + ], + "children": [ + 5, + 6, + 7, + 8, + 9 + ] + }, + { + "name": "head", + "origin": [ + 8, + 7, + 8.75 + ], + "children": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + }, + { + "name": "body", + "origin": [ + 8, + 8, + 8 + ], + "children": [ + 24, + 25, + 26 + ] + }, + { + "name": "tail", + "origin": [ + 7.5, + 7.25, + 8 + ], + "children": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + }, + { + "name": "front_leg_left", + "origin": [ + 8, + 5.54328, + 8.5461 + ], + "children": [ + 34, + 35, + 36, + 37, + 38 + ] + }, + { + "name": "hind_leg_left", + "origin": [ + 8, + 8, + 8 + ], + "children": [ + 39, + 40, + 41, + 42, + 43 + ] + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/iron_golem.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/iron_golem.json new file mode 100644 index 0000000..f2bfe37 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/iron_golem.json @@ -0,0 +1,46 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hotbar_pets:item/iron_golem" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/kfc.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/kfc.json new file mode 100644 index 0000000..5292567 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/kfc.json @@ -0,0 +1,876 @@ +{ + "__comment": "Designed by Tomaxed44 with BDcraft Cubik PRO 0.93 Beta - http:\/\/bdcraft.net", + "textures": { + "particle": "hotbar_pets:item/kfc", + "texture": "hotbar_pets:item/kfc" + }, + "elements": [ + { + "from": [ + 3, + 0, + 2 + ], + "to": [ + 13, + 10, + 3 + ], + "faces": { + "down": { + "uv": [ + 8, + 1, + 0, + 0 + ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#texture" + }, + "north": { + "uv": [ + 8, + 0, + 16, + 8 + ], + "texture": "#texture" + }, + "south": { + "uv": [ + 0, + 0, + 8, + 8 + ], + "texture": "#texture" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 8 + ], + "texture": "#texture" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 8 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 2, + 0, + 3 + ], + "to": [ + 3, + 10, + 13 + ], + "faces": { + "down": { + "uv": [ + 0, + 1, + 8, + 0 + ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#texture" + }, + "north": { + "uv": [ + 0, + 0, + 1, + 8 + ], + "texture": "#texture" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 8 + ], + "texture": "#texture" + }, + "west": { + "uv": [ + 0, + 0, + 8, + 8 + ], + "texture": "#texture" + }, + "east": { + "uv": [ + 0, + 0, + 8, + 8 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 13, + 0, + 3 + ], + "to": [ + 14, + 10, + 13 + ], + "faces": { + "down": { + "uv": [ + 0, + 1, + 8, + 0 + ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#texture" + }, + "north": { + "uv": [ + 0, + 0, + 1, + 8 + ], + "texture": "#texture" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 8 + ], + "texture": "#texture" + }, + "west": { + "uv": [ + 0, + 0, + 8, + 8 + ], + "texture": "#texture" + }, + "east": { + "uv": [ + 0, + 0, + 8, + 8 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 3, + 0, + 13 + ], + "to": [ + 13, + 10, + 14 + ], + "faces": { + "down": { + "uv": [ + 8, + 1, + 0, + 0 + ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#texture" + }, + "north": { + "uv": [ + 0, + 0, + 8, + 8 + ], + "texture": "#texture" + }, + "south": { + "uv": [ + 8, + 0, + 16, + 8 + ], + "texture": "#texture" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 8 + ], + "texture": "#texture" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 8 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 3, + 0, + 3 + ], + "to": [ + 13, + 1, + 13 + ], + "faces": { + "down": { + "uv": [ + 8, + 7.5, + 16, + 16 + ], + "texture": "#texture", + "cullface": "down" + }, + "up": { + "uv": [ + 8, + 7.5, + 16, + 16 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 3, + 8.3125, + 2.75 + ], + "to": [ + 7, + 10.8125, + 7.25 + ], + "rotation": { + "origin": [ + 3, + 10.8125, + 2.75 + ], + "axis": "x", + "angle": -22.5 + }, + "faces": { + "down": { + "uv": [ + 6.5, + 14, + 1, + 8.5 + ], + "texture": "#texture" + }, + "up": { + "uv": [ + 0, + 8.5, + 6.5, + 14.5 + ], + "texture": "#texture" + }, + "north": { + "uv": [ + 2.5, + 12.5, + 6.5, + 13.5 + ], + "texture": "#texture" + }, + "south": { + "uv": [ + 3, + 9, + 7, + 10 + ], + "texture": "#texture" + }, + "west": { + "uv": [ + 2.5, + 10, + 6.5, + 11 + ], + "texture": "#texture" + }, + "east": { + "uv": [ + 3, + 12, + 7, + 13 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 6.5, + 9, + 7 + ], + "to": [ + 10.5, + 11.5, + 11 + ], + "faces": { + "down": { + "uv": [ + 4, + 16, + 0, + 12 + ], + "texture": "#texture" + }, + "up": { + "uv": [ + 2.5, + 9.5, + 6.5, + 13.5 + ], + "texture": "#texture" + }, + "north": { + "uv": [ + 1.5, + 9, + 5.5, + 11.5 + ], + "texture": "#texture" + }, + "south": { + "uv": [ + 4, + 13.5, + 8, + 16 + ], + "texture": "#texture" + }, + "west": { + "uv": [ + 0, + 13.5, + 4, + 16 + ], + "texture": "#texture" + }, + "east": { + "uv": [ + 3.5, + 9, + 7.5, + 11.5 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 10.625, + 10, + 3.75 + ], + "to": [ + 13.625, + 12.5, + 8.25 + ], + "rotation": { + "origin": [ + 10.625, + 12.5, + 3.75 + ], + "axis": "z", + "angle": -22.5 + }, + "faces": { + "down": { + "uv": [ + 0, + 11.5, + 3, + 16 + ], + "texture": "#texture" + }, + "up": { + "uv": [ + 2.5, + 8.5, + 5.5, + 13 + ], + "texture": "#texture" + }, + "north": { + "uv": [ + 3.5, + 8.5, + 6.5, + 11 + ], + "texture": "#texture" + }, + "south": { + "uv": [ + 1, + 13.5, + 4, + 16 + ], + "texture": "#texture" + }, + "west": { + "uv": [ + 3, + 10, + 7.5, + 12.5 + ], + "texture": "#texture" + }, + "east": { + "uv": [ + 2.5, + 8.5, + 7, + 11 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 3, + 9.8125, + 9.8125 + ], + "to": [ + 6.5, + 13.3125, + 13.8125 + ], + "rotation": { + "origin": [ + 3, + 13.3125, + 9.8125 + ], + "axis": "x", + "angle": 22.5 + }, + "faces": { + "down": { + "uv": [ + 6, + 13, + 2.5, + 9 + ], + "texture": "#texture" + }, + "up": { + "uv": [ + 3, + 9, + 6.5, + 13 + ], + "texture": "#texture" + }, + "north": { + "uv": [ + 3.5, + 8.5, + 7, + 12 + ], + "texture": "#texture" + }, + "south": { + "uv": [ + 0, + 12.5, + 3.5, + 16 + ], + "texture": "#texture" + }, + "west": { + "uv": [ + 2.5, + 12, + 6.5, + 15.5 + ], + "texture": "#texture" + }, + "east": { + "uv": [ + 3.5, + 8.5, + 7.5, + 12 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 5.5, + 9.5, + 4 + ], + "to": [ + 12, + 11, + 12 + ], + "faces": { + "up": { + "uv": [ + 0, + 8, + 6.5, + 16 + ], + "texture": "#texture" + }, + "north": { + "uv": [ + 0, + 12.5, + 6.5, + 14 + ], + "texture": "#texture" + }, + "south": { + "uv": [ + 0, + 14.5, + 6.5, + 16 + ], + "texture": "#texture" + }, + "west": { + "uv": [ + 0, + 10.5, + 8, + 12 + ], + "texture": "#texture" + }, + "east": { + "uv": [ + 0, + 10.5, + 8, + 12 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 8.375, + 8.0625, + 9 + ], + "to": [ + 11.875, + 11.5625, + 13 + ], + "rotation": { + "origin": [ + 8.375, + 11.5625, + 9 + ], + "axis": "z", + "angle": 22.5 + }, + "faces": { + "down": { + "uv": [ + 6.5, + 13, + 3, + 9 + ], + "texture": "#texture" + }, + "up": { + "uv": [ + 3.5, + 10.5, + 7, + 14.5 + ], + "texture": "#texture" + }, + "north": { + "uv": [ + 2.5, + 11.5, + 6, + 15 + ], + "texture": "#texture" + }, + "south": { + "uv": [ + 4, + 9, + 7.5, + 12.5 + ], + "texture": "#texture" + }, + "west": { + "uv": [ + 3, + 9.5, + 7, + 13 + ], + "texture": "#texture" + }, + "east": { + "uv": [ + 3, + 9.5, + 7, + 13 + ], + "texture": "#texture" + } + } + }, + { + "from": [ + 3, + 9.4375, + 3 + ], + "to": [ + 13, + 9.5, + 13 + ], + "faces": { + "down": { + "uv": [ + 8, + 16, + 0, + 8 + ], + "texture": "#texture" + }, + "up": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": "#texture" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "head": { + "rotation": [ + 180, + 0, + 20 + ], + "translation": [ + 0, + 1.1, + 0 + ], + "scale": [ + 1.45, + 1.45, + 1.45 + ] + }, + "ground": { + "rotation": [ + 0, + 0, + 0 + ], + "translation": [ + 0, + 0, + 0 + ], + "scale": [ + 1.5, + 1.5, + 1.5 + ] + }, + "gui": { + "rotation": [ + 0, + 0, + 0 + ], + "translation": [ + 0, + 2.1, + 0 + ], + "scale": [ + 1.4, + 1.4, + 1.4 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/lavender.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/lavender.json new file mode 100644 index 0000000..25144fa --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/lavender.json @@ -0,0 +1,46 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hotbar_pets:item/lavender" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/mcdonalds.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/mcdonalds.json new file mode 100644 index 0000000..4093608 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/mcdonalds.json @@ -0,0 +1,2281 @@ +{ + "__comment": "Created by Nevoska", + "textures": { + "particle": "hotbar_pets:item/McDonaldsLogoBranco", + "McDonaldsLogo": "hotbar_pets:item/McDonaldsLogo", + "Potato": "hotbar_pets:item/Potato", + "McDonaldsLogoBranco": "hotbar_pets:item/McDonaldsLogoBranco", + "canudo": "hotbar_pets:item/canudo", + "topcopo": "hotbar_pets:item/topcopo" + }, + "elements": [ + { + "from": [ + 4, + 3, + 9 + ], + "to": [ + 12.5, + 6, + 16 + ], + "faces": { + "down": { + "uv": [ + 12.5, + 12.5, + 12.5, + 12.5 + ], + "texture": "#McDonaldsLogoBranco" + }, + "up": { + "uv": [ + 3, + 3.5, + 12.5, + 13 + ], + "texture": "#McDonaldsLogoBranco" + }, + "north": { + "uv": [ + 3.5, + 12, + 12, + 15 + ], + "texture": "#McDonaldsLogoBranco" + }, + "south": { + "uv": [ + 3.5, + 13, + 12, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "west": { + "uv": [ + 5, + 13, + 12, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "east": { + "uv": [ + 4, + 13, + 11, + 16 + ], + "texture": "#McDonaldsLogoBranco" + } + } + }, + { + "from": [ + 4.5, + 0.5, + 9.5 + ], + "to": [ + 12, + 3.5, + 15.5 + ], + "faces": { + "down": { + "uv": [ + 3, + 3, + 0, + 0 + ], + "texture": "#McDonaldsLogo" + }, + "up": { + "uv": [ + 0, + 0, + 3, + 2.5 + ], + "texture": "#McDonaldsLogo" + }, + "north": { + "uv": [ + 4.5, + 14, + 12, + 16 + ], + "texture": "#McDonaldsLogo" + }, + "south": { + "uv": [ + 3.5, + 14, + 11.5, + 16 + ], + "texture": "#McDonaldsLogo" + }, + "west": { + "uv": [ + 0, + 0, + 3, + 2.5 + ], + "texture": "#McDonaldsLogo" + }, + "east": { + "uv": [ + 0, + 0, + 3, + 2.5 + ], + "texture": "#McDonaldsLogo" + } + } + }, + { + "__comment": "Refri", + "from": [ + 11, + 0.5, + 1 + ], + "to": [ + 15.8, + 11.3, + 5.8 + ], + "rotation": { + "origin": [ + 11, + 0.5, + 1 + ], + "axis": "y", + "angle": -22.5 + }, + "faces": { + "down": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#McDonaldsLogoBranco" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#topcopo" + }, + "north": { + "uv": [ + 3, + 0, + 12.5, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "south": { + "uv": [ + 3, + 0, + 12.5, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "west": { + "uv": [ + 3, + 0, + 12.5, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "east": { + "uv": [ + 3, + 0, + 12.5, + 16 + ], + "texture": "#McDonaldsLogoBranco" + } + } + }, + { + "__comment": "Refri", + "from": [ + 10.5, + 10.5, + 0.5 + ], + "to": [ + 16.5, + 11, + 6.5 + ], + "rotation": { + "origin": [ + 10.5, + 10.5, + 0.5 + ], + "axis": "y", + "angle": -22.5 + }, + "faces": { + "down": { + "uv": [ + 11, + 0, + 16, + 5 + ], + "texture": "#McDonaldsLogoBranco" + }, + "up": { + "uv": [ + 11, + 0, + 16, + 5 + ], + "texture": "#McDonaldsLogoBranco" + }, + "north": { + "uv": [ + 5.5, + 0, + 10.5, + 0.5 + ], + "texture": "#McDonaldsLogoBranco" + }, + "south": { + "uv": [ + 5, + 0, + 10, + 0.5 + ], + "texture": "#McDonaldsLogoBranco" + }, + "west": { + "uv": [ + 4, + 1.5, + 9, + 2 + ], + "texture": "#McDonaldsLogoBranco" + }, + "east": { + "uv": [ + 4, + 0, + 9, + 0.5 + ], + "texture": "#McDonaldsLogoBranco" + } + } + }, + { + "__comment": "Refri", + "from": [ + 12, + 8.9, + 5.96454 + ], + "to": [ + 12.6, + 17.3, + 6.56454 + ], + "rotation": { + "origin": [ + 12, + 17.3, + 5.96454 + ], + "axis": "x", + "angle": 22.5 + }, + "faces": { + "down": { + "uv": [ + 1.5, + 0, + 3, + 1.5 + ], + "texture": "#canudo" + }, + "up": { + "uv": [ + 1.5, + 0, + 3, + 1.5 + ], + "texture": "#canudo" + }, + "north": { + "uv": [ + 0, + 0, + 5.5, + 16 + ], + "texture": "#canudo" + }, + "south": { + "uv": [ + 0, + 0, + 5.5, + 16 + ], + "texture": "#canudo" + }, + "west": { + "uv": [ + 0, + 0, + 4.5, + 16 + ], + "texture": "#canudo" + }, + "east": { + "uv": [ + 0, + 0, + 4.5, + 16 + ], + "texture": "#canudo" + } + } + }, + { + "__comment": "Batata", + "from": [ + -0.0875, + 0.5, + 3.05 + ], + "to": [ + 5.6875, + 5.45, + 5.525 + ], + "faces": { + "down": { + "uv": [ + 10, + 0, + 16, + 2 + ], + "texture": "#McDonaldsLogo" + }, + "up": { + "uv": [ + 10.5, + 0, + 16, + 2 + ], + "texture": "#McDonaldsLogo" + }, + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#McDonaldsLogo" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#McDonaldsLogo" + }, + "west": { + "uv": [ + 13.5, + 0, + 16, + 4.5 + ], + "texture": "#McDonaldsLogo" + }, + "east": { + "uv": [ + 13.5, + 0, + 16, + 4.5 + ], + "texture": "#McDonaldsLogo" + } + } + }, + { + "__comment": "Batata", + "from": [ + -0.0875, + 5.45, + 5.1125 + ], + "to": [ + 5.6875, + 6.275, + 5.525 + ], + "faces": { + "down": { + "uv": [ + 2.5, + 0, + 13.5, + 1.5 + ], + "texture": "#McDonaldsLogo" + }, + "up": { + "uv": [ + 2, + 0, + 13, + 2 + ], + "texture": "#McDonaldsLogo" + }, + "north": { + "uv": [ + 3, + 0, + 11.5, + 1.5 + ], + "texture": "#McDonaldsLogo" + }, + "south": { + "uv": [ + 3.5, + 0, + 11.5, + 1.5 + ], + "texture": "#McDonaldsLogo" + }, + "west": { + "uv": [ + 7, + 0, + 8, + 2.5 + ], + "texture": "#McDonaldsLogo" + }, + "east": { + "uv": [ + 7, + 0, + 8.5, + 2 + ], + "texture": "#McDonaldsLogo" + } + } + }, + { + "__comment": "Batata", + "from": [ + 5.275, + 5.45, + 3.05 + ], + "to": [ + 5.6875, + 7.5125, + 5.1125 + ], + "faces": { + "down": { + "uv": [ + 15, + 4, + 14, + 0 + ], + "texture": "#McDonaldsLogo" + }, + "up": { + "uv": [ + 14.5, + 0.5, + 15.5, + 4 + ], + "texture": "#McDonaldsLogo" + }, + "north": { + "uv": [ + 14.5, + 0.5, + 15.5, + 5 + ], + "texture": "#McDonaldsLogo" + }, + "south": { + "uv": [ + 14, + 0, + 15.5, + 4.5 + ], + "texture": "#McDonaldsLogo" + }, + "west": { + "uv": [ + 13, + 0, + 15.5, + 2.5 + ], + "texture": "#McDonaldsLogo" + }, + "east": { + "uv": [ + 13.5, + 0, + 16, + 2.5 + ], + "texture": "#McDonaldsLogo" + } + } + }, + { + "__comment": "Batata", + "from": [ + -0.0875, + 5.45, + 3.05 + ], + "to": [ + 0.325, + 7.5125, + 5.1125 + ], + "faces": { + "down": { + "uv": [ + 13, + 0, + 16, + 3.5 + ], + "texture": "#McDonaldsLogo" + }, + "up": { + "uv": [ + 13, + 0, + 16, + 3.5 + ], + "texture": "#McDonaldsLogo" + }, + "north": { + "uv": [ + 13, + 0, + 16, + 3 + ], + "texture": "#McDonaldsLogo" + }, + "south": { + "uv": [ + 12.5, + 0, + 16, + 2.5 + ], + "texture": "#McDonaldsLogo" + }, + "west": { + "uv": [ + 13, + 0, + 16, + 3.5 + ], + "texture": "#McDonaldsLogo" + }, + "east": { + "uv": [ + 13, + 0, + 16, + 3 + ], + "texture": "#McDonaldsLogo" + } + } + }, + { + "__comment": "Batata", + "from": [ + -0.0875, + 5.45, + 3.05 + ], + "to": [ + 5.6875, + 7.925, + 3.4625 + ], + "faces": { + "down": { + "uv": [ + 11.5, + 0.5, + 4.5, + 0 + ], + "texture": "#McDonaldsLogo" + }, + "up": { + "uv": [ + 5, + 0, + 12, + 0.5 + ], + "texture": "#McDonaldsLogo" + }, + "north": { + "uv": [ + 4, + 0, + 11, + 2 + ], + "texture": "#McDonaldsLogo" + }, + "south": { + "uv": [ + 4, + 0, + 11, + 2 + ], + "texture": "#McDonaldsLogo" + }, + "west": { + "uv": [ + 14, + 0.5, + 16, + 5 + ], + "texture": "#McDonaldsLogo" + }, + "east": { + "uv": [ + 14.5, + 0.5, + 16, + 5 + ], + "texture": "#McDonaldsLogo" + } + } + }, + { + "__comment": "Batata", + "from": [ + 1.975, + 5.45, + 3.4625 + ], + "to": [ + 2.3875, + 11.225, + 3.875 + ], + "faces": { + "down": { + "uv": [ + 9, + 7, + 8.5, + 6.5 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 7, + 6.5, + 7.5, + 7 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 8.5, + 3, + 9, + 10 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 7, + 3, + 7.5, + 10 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 6.5, + 3, + 7, + 10 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 9, + 3, + 9.5, + 10 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 0.7375, + 4.2125, + 4.7 + ], + "to": [ + 1.15, + 9.9875, + 5.1125 + ], + "faces": { + "down": { + "uv": [ + 10.5, + 8.5, + 10, + 8 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 5.5, + 8, + 6, + 8.5 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 10, + 4.5, + 10.5, + 11.5 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 5.5, + 4.5, + 6, + 11.5 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 8, + 4.5, + 8.5, + 11.5 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 7.5, + 4.5, + 8, + 11.5 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 3.625, + 4.625, + 4.7 + ], + "to": [ + 4.0375, + 10.4, + 5.1125 + ], + "faces": { + "down": { + "uv": [ + 7, + 8.5, + 6.5, + 8 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 9, + 8, + 9.5, + 8.5 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 6.5, + 4, + 7, + 11 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 9, + 4, + 9.5, + 11 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 8, + 4, + 8.5, + 11 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 7.5, + 4, + 8, + 11 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 2.8, + 5.0375, + 3.4625 + ], + "to": [ + 3.2125, + 10.8125, + 3.875 + ], + "faces": { + "down": { + "uv": [ + 8, + 7, + 7.5, + 6.5 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 8, + 6.5, + 8.5, + 7 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 7.5, + 3.5, + 8, + 10.5 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 8, + 3.5, + 8.5, + 10.5 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 6.5, + 3.5, + 7, + 10.5 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 9, + 3.5, + 9.5, + 10.5 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 4.0375, + 3.8, + 3.875 + ], + "to": [ + 4.45, + 9.575, + 4.2875 + ], + "faces": { + "down": { + "uv": [ + 6.5, + 7.5, + 6, + 7 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 9.5, + 7, + 10, + 7.5 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 6, + 5, + 6.5, + 12 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 9.5, + 5, + 10, + 12 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 7, + 5, + 7.5, + 12 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 8.5, + 5, + 9, + 12 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 4.8625, + 3.3875, + 4.2875 + ], + "to": [ + 5.275, + 9.1625, + 4.7 + ], + "faces": { + "down": { + "uv": [ + 5.5, + 8, + 5, + 7.5 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 10.5, + 7.5, + 11, + 8 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 5, + 5.5, + 5.5, + 12.5 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 10.5, + 5.5, + 11, + 12.5 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 7.5, + 5.5, + 8, + 12.5 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 8, + 5.5, + 8.5, + 12.5 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 4.45, + 4.625, + 3.4625 + ], + "to": [ + 4.8625, + 10.4, + 3.875 + ], + "faces": { + "down": { + "uv": [ + 6, + 7, + 5.5, + 6.5 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 10, + 6.5, + 10.5, + 7 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 5.5, + 4, + 6, + 11 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 10, + 4, + 10.5, + 11 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 6.5, + 4, + 7, + 11 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 9, + 4, + 9.5, + 11 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 1.15, + 3.8, + 3.875 + ], + "to": [ + 1.5625, + 9.575, + 4.2875 + ], + "faces": { + "down": { + "uv": [ + 10, + 7.5, + 9.5, + 7 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 6, + 7, + 6.5, + 7.5 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 9.5, + 5, + 10, + 12 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 6, + 5, + 6.5, + 12 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 7, + 5, + 7.5, + 12 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 8.5, + 5, + 9, + 12 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 0.325, + 3.8, + 3.4625 + ], + "to": [ + 0.7375, + 9.575, + 3.875 + ], + "faces": { + "down": { + "uv": [ + 11, + 7, + 10.5, + 6.5 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 5, + 6.5, + 5.5, + 7 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 10.5, + 5, + 11, + 12 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 5, + 5, + 5.5, + 12 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 6.5, + 5, + 7, + 12 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 9, + 5, + 9.5, + 12 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 0.325, + 3.3875, + 4.23594 + ], + "to": [ + 0.7375, + 9.1625, + 4.64844 + ], + "faces": { + "down": { + "uv": [ + 11, + 7.9375, + 10.5, + 7.4375 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 5, + 7.4375, + 5.5, + 7.9375 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 10.5, + 5.5, + 11, + 12.5 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 5, + 5.5, + 5.5, + 12.5 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 7.4375, + 5.5, + 7.9375, + 12.5 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 8.0625, + 5.5, + 8.5625, + 12.5 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 3.2125, + 3.3875, + 4.23594 + ], + "to": [ + 3.625, + 9.1625, + 4.64844 + ], + "faces": { + "down": { + "uv": [ + 7.5, + 7.9375, + 7, + 7.4375 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 8.5, + 7.4375, + 9, + 7.9375 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 7, + 5.5, + 7.5, + 12.5 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 8.5, + 5.5, + 9, + 12.5 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 7.4375, + 5.5, + 7.9375, + 12.5 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 8.0625, + 5.5, + 8.5625, + 12.5 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 4.45, + 5.0375, + 4.64844 + ], + "to": [ + 4.8625, + 10.8125, + 5.06094 + ], + "faces": { + "down": { + "uv": [ + 6, + 8.4375, + 5.5, + 7.9375 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 10, + 7.9375, + 10.5, + 8.4375 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 5.5, + 3.5, + 6, + 10.5 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 10, + 3.5, + 10.5, + 10.5 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 7.9375, + 3.5, + 8.4375, + 10.5 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 7.5625, + 3.5, + 8.0625, + 10.5 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 1.975, + 4.625, + 4.23594 + ], + "to": [ + 2.3875, + 10.4, + 4.64844 + ], + "faces": { + "down": { + "uv": [ + 9, + 7.9375, + 8.5, + 7.4375 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 7, + 7.4375, + 7.5, + 7.9375 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 8.5, + 4, + 9, + 11 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 7, + 4, + 7.5, + 11 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 7.4375, + 4, + 7.9375, + 11 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 8.0625, + 4, + 8.5625, + 11 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 1.5625, + 5.0375, + 4.64844 + ], + "to": [ + 1.975, + 10.8125, + 5.06094 + ], + "faces": { + "down": { + "uv": [ + 9.5, + 8.4375, + 9, + 7.9375 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 6.5, + 7.9375, + 7, + 8.4375 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 9, + 3.5, + 9.5, + 10.5 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 6.5, + 3.5, + 7, + 10.5 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 7.9375, + 3.5, + 8.4375, + 10.5 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 7.5625, + 3.5, + 8.0625, + 10.5 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 2.8, + 4.625, + 4.64844 + ], + "to": [ + 3.2125, + 10.4, + 5.06094 + ], + "faces": { + "down": { + "uv": [ + 8, + 8.4375, + 7.5, + 7.9375 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 8, + 7.9375, + 8.5, + 8.4375 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 7.5, + 4, + 8, + 11 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 8, + 4, + 8.5, + 11 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 7.9375, + 4, + 8.4375, + 11 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 7.5625, + 4, + 8.0625, + 11 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 2.3875, + 3.8, + 3.82344 + ], + "to": [ + 2.8, + 9.575, + 4.23594 + ], + "faces": { + "down": { + "uv": [ + 8.5, + 7.4375, + 8, + 6.9375 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 7.5, + 6.9375, + 8, + 7.4375 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 8, + 5, + 8.5, + 12 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 7.5, + 5, + 8, + 12 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 6.9375, + 5, + 7.4375, + 12 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 8.5625, + 5, + 9.0625, + 12 + ], + "texture": "#Potato" + } + } + }, + { + "__comment": "Batata", + "from": [ + 4.0375, + 4.625, + 4.23594 + ], + "to": [ + 4.45, + 10.4, + 4.64844 + ], + "faces": { + "down": { + "uv": [ + 6.5, + 7.9375, + 6, + 7.4375 + ], + "texture": "#Potato" + }, + "up": { + "uv": [ + 9.5, + 7.4375, + 10, + 7.9375 + ], + "texture": "#Potato" + }, + "north": { + "uv": [ + 6, + 4, + 6.5, + 11 + ], + "texture": "#Potato" + }, + "south": { + "uv": [ + 9.5, + 4, + 10, + 11 + ], + "texture": "#Potato" + }, + "west": { + "uv": [ + 7.4375, + 4, + 7.9375, + 11 + ], + "texture": "#Potato" + }, + "east": { + "uv": [ + 8.0625, + 4, + 8.5625, + 11 + ], + "texture": "#Potato" + } + } + }, + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 0.5, + 16 + ], + "faces": { + "down": { + "uv": [ + 16, + 16, + 0, + 0 + ], + "texture": "#McDonaldsLogoBranco" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "north": { + "uv": [ + 0, + 15.5, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "south": { + "uv": [ + 0, + 15.5, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "west": { + "uv": [ + 0, + 15.5, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "east": { + "uv": [ + 0, + 15.5, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + } + } + }, + { + "from": [ + 16, + 0, + 0 + ], + "to": [ + 16.5, + 1, + 16 + ], + "faces": { + "down": { + "uv": [ + 0, + 16, + 0, + 0 + ], + "texture": "#McDonaldsLogoBranco" + }, + "up": { + "uv": [ + 16, + 0, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "north": { + "uv": [ + 0, + 15, + 0, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "south": { + "uv": [ + 16, + 15, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "west": { + "uv": [ + 0, + 15, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "east": { + "uv": [ + 0, + 15, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + } + } + }, + { + "from": [ + -0.5, + 0, + 0 + ], + "to": [ + 0, + 1, + 16 + ], + "faces": { + "down": { + "uv": [ + 16, + 16, + 16, + 0 + ], + "texture": "#McDonaldsLogoBranco" + }, + "up": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "north": { + "uv": [ + 16, + 15, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "south": { + "uv": [ + 0, + 15, + 0, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "west": { + "uv": [ + 0, + 15, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "east": { + "uv": [ + 0, + 15, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + } + } + }, + { + "from": [ + -1, + -0.5, + 6.5 + ], + "to": [ + 0, + 1, + 9 + ], + "faces": { + "down": { + "uv": [ + 16, + 9, + 16, + 6.5 + ], + "texture": "#McDonaldsLogoBranco" + }, + "up": { + "uv": [ + 0, + 6.5, + 0, + 9 + ], + "texture": "#McDonaldsLogoBranco" + }, + "north": { + "uv": [ + 16, + 15, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "south": { + "uv": [ + 0, + 15, + 0, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "west": { + "uv": [ + 6.5, + 15, + 9, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "east": { + "uv": [ + 7, + 15, + 9.5, + 16 + ], + "texture": "#McDonaldsLogoBranco" + } + } + }, + { + "from": [ + 16, + -0.5, + 6.5 + ], + "to": [ + 17, + 1, + 9 + ], + "faces": { + "down": { + "uv": [ + 0, + 9, + 0, + 6.5 + ], + "texture": "#McDonaldsLogoBranco" + }, + "up": { + "uv": [ + 16, + 6.5, + 16, + 9 + ], + "texture": "#McDonaldsLogoBranco" + }, + "north": { + "uv": [ + 0, + 15, + 0, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "south": { + "uv": [ + 16, + 15, + 16, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "west": { + "uv": [ + 6.5, + 15, + 9, + 16 + ], + "texture": "#McDonaldsLogoBranco" + }, + "east": { + "uv": [ + 7, + 15, + 9.5, + 16 + ], + "texture": "#McDonaldsLogoBranco" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/mooshroom.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/mooshroom.json new file mode 100644 index 0000000..a7d2453 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/mooshroom.json @@ -0,0 +1,46 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hotbar_pets:item/mooshroom" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/nautilus.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/nautilus.json new file mode 100644 index 0000000..5a9157b --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/nautilus.json @@ -0,0 +1,619 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "nautilus0": "hotbar_pets:item/nautilus", + "particle": "hotbar_pets:item/nautilus" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + }, + "elements": [ + { + "name": "head0", + "from": [ + 6.5, + 0.86052, + 3.42389 + ], + "to": [ + 9.5, + 3.86052, + 7.67389 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 2.75, + 7.375 + ] + }, + "faces": { + "north": { + "uv": [ + 0.5, + 4.5, + 2, + 6 + ], + "texture": "#nautilus0" + }, + "east": { + "uv": [ + 1, + 6, + 3.5, + 7.5 + ], + "texture": "#nautilus0" + }, + "west": { + "uv": [ + 0, + 11.5, + 2.5, + 13 + ], + "texture": "#nautilus0" + }, + "down": { + "uv": [ + 1, + 7.5, + 3.5, + 9 + ], + "rotation": 90, + "texture": "#nautilus0" + } + } + }, + { + "name": "head1", + "from": [ + 6.75, + 0, + 4.75 + ], + "to": [ + 9.25, + 2, + 8 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8, + 2.75, + 7.375 + ] + }, + "faces": { + "east": { + "uv": [ + 6, + 1, + 7.25, + 2 + ], + "texture": "#nautilus0" + }, + "west": { + "uv": [ + 6, + 1, + 7.25, + 2 + ], + "texture": "#nautilus0" + }, + "down": { + "uv": [ + 0.5, + 0.5, + 2, + 1.75 + ], + "texture": "#nautilus0", + "cullface": "down" + } + } + }, + { + "name": "head2", + "from": [ + 6.25, + 3.61924, + 3.12318 + ], + "to": [ + 9.75, + 4.11924, + 6.12318 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 2.75, + 7.375 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 9.5, + 2, + 10 + ], + "texture": "#nautilus0" + }, + "east": { + "uv": [ + 0, + 9, + 2, + 9.5 + ], + "texture": "#nautilus0" + }, + "west": { + "uv": [ + 0, + 9, + 2, + 9.5 + ], + "texture": "#nautilus0" + }, + "up": { + "uv": [ + 0, + 10, + 2, + 11.5 + ], + "texture": "#nautilus0" + }, + "down": { + "uv": [ + 0, + 10, + 2, + 11.5 + ], + "texture": "#nautilus0" + } + } + }, + { + "name": "tentacle0", + "from": [ + 6.5, + -0.53544, + 1.44186 + ], + "to": [ + 6.5, + 2.46456, + 3.94186 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 0.75, + 4.125 + ] + }, + "faces": { + "east": { + "uv": [ + 6, + 6, + 7.5, + 7.25 + ], + "rotation": 90, + "texture": "#nautilus0" + }, + "west": { + "uv": [ + 6, + 6, + 7.5, + 7.25 + ], + "rotation": 270, + "texture": "#nautilus0" + } + } + }, + { + "name": "tentacle1", + "from": [ + 9.5, + -0.53544, + 1.44186 + ], + "to": [ + 9.5, + 2.46456, + 3.94186 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 0.75, + 4.125 + ] + }, + "faces": { + "east": { + "uv": [ + 6, + 6, + 7.5, + 7.25 + ], + "rotation": 90, + "texture": "#nautilus0" + }, + "west": { + "uv": [ + 6, + 6, + 7.5, + 7.25 + ], + "rotation": 270, + "texture": "#nautilus0" + } + } + }, + { + "name": "tentacle2", + "from": [ + 6.5, + 2.46456, + 1.44186 + ], + "to": [ + 9.5, + 2.46456, + 3.94186 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 0.75, + 4.125 + ] + }, + "faces": { + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": "#nautilus0" + }, + "up": { + "uv": [ + 8, + 6, + 9.5, + 7.25 + ], + "texture": "#nautilus0" + }, + "down": { + "uv": [ + 8, + 6, + 9.5, + 7.25 + ], + "rotation": 180, + "texture": "#nautilus0" + } + } + }, + { + "name": "tentacle3", + "from": [ + 6.5, + -0.53544, + 1.44186 + ], + "to": [ + 9.5, + -0.53544, + 3.94186 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 0.75, + 4.125 + ] + }, + "faces": { + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": "#nautilus0" + }, + "up": { + "uv": [ + 8, + 6, + 9.5, + 7.25 + ], + "texture": "#nautilus0", + "cullface": "down" + }, + "down": { + "uv": [ + 8, + 6, + 9.5, + 7.25 + ], + "rotation": 180, + "texture": "#nautilus0", + "cullface": "down" + } + } + }, + { + "name": "body0", + "from": [ + 6.25, + -0.25, + 7 + ], + "to": [ + 9.75, + 7, + 12 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 3, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 2, + 4.5, + 3.5, + 6 + ], + "rotation": 180, + "texture": "#nautilus0" + }, + "east": { + "uv": [ + 3.5, + 2, + 6, + 5.5 + ], + "texture": "#nautilus0" + }, + "south": { + "uv": [ + 6, + 2, + 8, + 5.625 + ], + "texture": "#nautilus0" + }, + "west": { + "uv": [ + 2.5, + 9, + 5, + 12.5 + ], + "texture": "#nautilus0" + }, + "up": { + "uv": [ + 2.5, + 0, + 5, + 2 + ], + "rotation": 90, + "texture": "#nautilus0" + }, + "down": { + "uv": [ + 3.5, + 6, + 6, + 8 + ], + "rotation": 270, + "texture": "#nautilus0", + "cullface": "down" + } + } + }, + { + "name": "body1", + "from": [ + 6.25, + 3, + 4 + ], + "to": [ + 9.75, + 7, + 7 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8, + 3, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 2, + 2, + 4 + ], + "texture": "#nautilus0" + }, + "east": { + "uv": [ + 5, + 9, + 6.5, + 11 + ], + "texture": "#nautilus0" + }, + "west": { + "uv": [ + 2, + 2, + 3.5, + 4 + ], + "texture": "#nautilus0" + }, + "up": { + "uv": [ + 2, + 0, + 3.5, + 2 + ], + "rotation": 90, + "texture": "#nautilus0" + }, + "down": { + "uv": [ + 2, + 4.5, + 3.5, + 6 + ], + "rotation": 180, + "texture": "#nautilus0" + } + } + } + ], + "groups": [ + { + "name": "head", + "origin": [ + 8, + 8, + 8 + ], + "children": [ + 0, + 1, + 2 + ] + }, + { + "name": "tentacle", + "origin": [ + 8, + 1.5, + 5.375 + ], + "children": [ + 3, + 4, + 5, + 6 + ] + }, + { + "name": "body", + "origin": [ + 8, + 8, + 5 + ], + "children": [ + 7, + 8 + ] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/patrick.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/patrick.json new file mode 100644 index 0000000..5af3c1f --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/patrick.json @@ -0,0 +1,2582 @@ +{ + "credit": "Made with Blockbench by dragonmaster95", + "textures": { + "1": "hotbar_pets:item/patrick" + }, + "elements": [ + { + "from": [ + 2, + -0.175, + 2 + ], + "to": [ + 14, + 12.075, + 14 + ], + "faces": { + "north": { + "uv": [ + 0, + 8, + 7.949, + 15.949 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 8, + 5.5, + 15.95, + 13.5 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 8, + 5.5, + 15.95, + 13.5 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 8, + 5.5, + 15.95, + 13.5 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 8, + 4, + 15.95, + 11.95 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 3.9975, + 4.4975, + 4.5025, + 5.0025 + ], + "rotation": 270, + "texture": "#1" + } + } + }, + { + "from": [ + 3, + 12, + 3.5 + ], + "to": [ + 13, + 15, + 13.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 6, + 15.667, + 8 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 9, + 6, + 15.667, + 8 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 9, + 6, + 15.667, + 8 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 12.5, + 6, + 15.666, + 8 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 4, + 15, + 6 + ], + "to": [ + 12, + 22, + 13 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 10.5, + 7, + 15.833, + 11.667 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 7.5, + 4.5, + 12.833, + 9.167 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 9, + 6, + 14.33333, + 10.66667 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 5.15, + 18.25, + 5.25 + ], + "to": [ + 7.9, + 22.75, + 7 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8.1, + 9, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 1.95, + 4.025, + 0.025, + 7.95 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0.025, + 4.025, + 0.475, + 4.475 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0.025, + 4.025, + 0.475, + 4.475 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0.025, + 4.025, + 0.475, + 4.475 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0.025, + 4.025, + 0.475, + 4.475 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0.025, + 4.025, + 0.475, + 4.475 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 8.1, + 18.25, + 5.25 + ], + "to": [ + 10.85, + 22.75, + 7 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8.1, + 9, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 1.95, + 4.025, + 0.025, + 7.95 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0.025, + 4.025, + 0.475, + 4.475 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0.025, + 4.025, + 0.475, + 4.475 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0.025, + 4.025, + 0.475, + 4.475 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0.025, + 4.025, + 0.475, + 4.475 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0.025, + 4.025, + 0.475, + 4.475 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 3.1, + 22.75, + 5.25 + ], + "to": [ + 5.35, + 23.75, + 7 + ], + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + 8, + 8, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 10.65, + 22.75, + 5.25 + ], + "to": [ + 12.9, + 23.75, + 7 + ], + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 8, + 8, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 2.975, + 7.525, + 2.525, + 7.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + -1.91421, + 9.84315, + 7 + ], + "to": [ + 4.08579, + 12.84315, + 12 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 1.08579, + 12.84315, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 11.91421, + 9.84315, + 7 + ], + "to": [ + 17.91421, + 12.84315, + 12 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 14.91421, + 12.84315, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + -2.18358, + 4.95019, + 7.5 + ], + "to": [ + 0.81642, + 10.95019, + 11.5 + ], + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + -2.18358, + 7.95019, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 15.18358, + 6.95019, + 2.5 + ], + "to": [ + 18.18358, + 10.95019, + 11.5 + ], + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 18.18358, + 7.95019, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 14.43358, + 5.70019, + -1 + ], + "to": [ + 18.43358, + 10.70019, + 3 + ], + "rotation": { + "angle": 0, + "axis": "z", + "origin": [ + 18.18358, + 7.95019, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 15.43358, + 3.20019, + 0 + ], + "to": [ + 17.43358, + 15.20019, + 2 + ], + "rotation": { + "angle": 0, + "axis": "z", + "origin": [ + 18.18358, + 7.95019, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 3.025, + 4.025, + 3.475, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 3.025, + 4.025, + 3.475, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 3.025, + 4.025, + 3.475, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "west": { + "uv": [ + 3.025, + 4.025, + 3.475, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 3.025, + 4.025, + 3.475, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 3.025, + 4.025, + 3.475, + 4.475 + ], + "rotation": 180, + "texture": "#1" + } + } + }, + { + "from": [ + 14.93358, + 15.20019, + -1 + ], + "to": [ + 17.93358, + 18.20019, + 3 + ], + "rotation": { + "angle": 0, + "axis": "z", + "origin": [ + 18.18358, + 6.95019, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "west": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + } + } + }, + { + "from": [ + 14.93358, + 15.20019, + -3 + ], + "to": [ + 17.93358, + 18.20019, + -2 + ], + "rotation": { + "angle": 0, + "axis": "z", + "origin": [ + 18.18358, + 7.95019, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "west": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + } + } + }, + { + "from": [ + 15.43358, + 15.70019, + -2 + ], + "to": [ + 17.43358, + 17.70019, + -1 + ], + "rotation": { + "angle": 0, + "axis": "z", + "origin": [ + 18.18358, + 7.95019, + 10 + ] + }, + "faces": { + "north": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "west": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + } + } + }, + { + "from": [ + 15.18358, + 15.75019, + 2.7 + ], + "to": [ + 16.18358, + 16.75019, + 4.7 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 15.93358, + 16.20019, + 4 + ] + }, + "faces": { + "north": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "west": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + } + } + }, + { + "from": [ + 16.68358, + 15.75019, + 2.7 + ], + "to": [ + 17.68358, + 16.75019, + 4.7 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 15.93358, + 16.20019, + 4 + ] + }, + "faces": { + "north": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "west": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + } + } + }, + { + "from": [ + -3.33358, + 1.25019, + 8 + ], + "to": [ + -0.33358, + 5.25019, + 11 + ], + "rotation": { + "angle": 0, + "axis": "z", + "origin": [ + -1.83358, + 3.25019, + 9.5 + ] + }, + "faces": { + "north": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 4, + 15, + 5 + ], + "to": [ + 12, + 17, + 6 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 2.525, + 5.525, + 2.975, + 7.975 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 3.475, + 8, + 2.525, + 5.55 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0.025, + 0.025, + 0.975, + 0.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 2.525, + 8, + 3.475, + 5.55 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 2.525, + 7.025, + 2.975, + 7.975 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 0.025, + 0.025, + 0.975, + 0.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 27, + 7.5 + ], + "to": [ + 10, + 32, + 11.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 4, + 9.666, + 7.333 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 7, + 4, + 9.666, + 7.333 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 13, + 8.5, + 15.666, + 11.833 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 7, + 4, + 9.666, + 7.333 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 7, + 4, + 9.666, + 7.333 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 5, + 22, + 7 + ], + "to": [ + 11, + 27, + 12 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 7, + 4.5, + 10.333, + 7.833 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 12, + 5.5, + 16, + 8.833 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 7, + 4.5, + 10.333, + 7.833 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 0, + 25, + 6 + ], + "to": [ + 16, + 29, + 7.5 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + 7 + ] + }, + "faces": { + "north": { + "uv": [ + 0.025, + 0.025, + 15.975, + 3.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 1.525, + 0.025, + 2.975, + 3.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 15.975, + 0.025, + 0.025, + 3.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 11.975, + 0.025, + 10.525, + 3.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.975, + 0.025, + 0.025, + 0.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.975, + 2.525, + 0.025, + 3.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 27.75, + 4 + ], + "to": [ + 8, + 28.75, + 6.5 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 7.5, + 27.5, + 5.75 + ] + }, + "faces": { + "north": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "west": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + } + } + }, + { + "from": [ + 6.5, + 27.25, + 3.5 + ], + "to": [ + 8.5, + 29.25, + 4 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 7.5, + 27.5, + 5.75 + ] + }, + "faces": { + "north": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "west": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + }, + "down": { + "uv": [ + 2.525, + 4.025, + 2.975, + 4.475 + ], + "rotation": 180, + "texture": "#1" + } + } + }, + { + "from": [ + 1, + 1, + 1 + ], + "to": [ + 15, + 7, + 15 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 9, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0.525, + 12.025, + 7.475, + 14.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0.025, + 15.025, + 0.975, + 15.975 + ], + "rotation": 270, + "texture": "#1" + }, + "south": { + "uv": [ + 0.025, + 15.025, + 0.975, + 15.975 + ], + "rotation": 270, + "texture": "#1" + }, + "west": { + "uv": [ + 0.025, + 15.025, + 0.975, + 15.975 + ], + "rotation": 270, + "texture": "#1" + }, + "up": { + "uv": [ + 0.025, + 8.025, + 7.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0.025, + 15.025, + 0.975, + 15.975 + ], + "rotation": 270, + "texture": "#1" + } + } + }, + { + "from": [ + 0.75, + 7, + 0.75 + ], + "to": [ + 15.25, + 8, + 15.25 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 9, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 3.97, + 4.5, + 4.53, + 5 + ], + "rotation": 270, + "texture": "#1" + }, + "east": { + "uv": [ + 3.97, + 4.5, + 4.53, + 5 + ], + "rotation": 270, + "texture": "#1" + }, + "south": { + "uv": [ + 3.97, + 4.5, + 4.53, + 5 + ], + "rotation": 270, + "texture": "#1" + }, + "west": { + "uv": [ + 3.97, + 4.5, + 4.53, + 5 + ], + "rotation": 270, + "texture": "#1" + }, + "up": { + "uv": [ + 6.95, + 14.95, + 7.55, + 15.55 + ], + "rotation": 270, + "texture": "#1" + }, + "down": { + "uv": [ + 0.025, + 15.025, + 0.975, + 15.975 + ], + "rotation": 270, + "texture": "#1" + } + } + }, + { + "from": [ + -0.75, + 0.1, + -4 + ], + "to": [ + 4.25, + 5.1, + 3 + ], + "rotation": { + "angle": 22.5, + "axis": "y", + "origin": [ + 3.5, + 2.6, + -3.5 + ] + }, + "faces": { + "north": { + "uv": [ + 4.025, + 12.025, + 6.475, + 14.475 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 0.025, + 15.025, + 0.975, + 15.975 + ], + "rotation": 270, + "texture": "#1" + }, + "south": { + "uv": [ + 0.025, + 8.025, + 7.975, + 15.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 7.475, + 12.025, + 4.025, + 14.475 + ], + "rotation": 180, + "texture": "#1" + }, + "up": { + "uv": [ + 0.025, + 15.025, + 0.975, + 15.975 + ], + "rotation": 270, + "texture": "#1" + }, + "down": { + "uv": [ + 4.025, + 12.025, + 7.475, + 14.475 + ], + "rotation": 270, + "texture": "#1" + } + } + }, + { + "from": [ + 11.75, + 0.1, + -4 + ], + "to": [ + 16.75, + 5.1, + 3 + ], + "rotation": { + "angle": -22.5, + "axis": "y", + "origin": [ + 12.5, + 2.6, + -3.5 + ] + }, + "faces": { + "north": { + "uv": [ + 6.475, + 12.025, + 4.025, + 14.475 + ], + "rotation": 180, + "texture": "#1" + }, + "east": { + "uv": [ + 4.025, + 12.025, + 7.475, + 14.475 + ], + "rotation": 180, + "texture": "#1" + }, + "south": { + "uv": [ + 7.975, + 8.025, + 0.025, + 15.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0.025, + 15.975, + 0.975, + 15.025 + ], + "rotation": 270, + "texture": "#1" + }, + "up": { + "uv": [ + 0.025, + 15.975, + 0.975, + 15.025 + ], + "rotation": 270, + "texture": "#1" + }, + "down": { + "uv": [ + 4.025, + 14.475, + 7.475, + 12.025 + ], + "rotation": 270, + "texture": "#1" + } + } + }, + { + "from": [ + -0.25, + 0.6, + -7 + ], + "to": [ + 3.75, + 4.6, + -4 + ], + "rotation": { + "angle": 22.5, + "axis": "y", + "origin": [ + 3.5, + 2.6, + -3.5 + ] + }, + "faces": { + "north": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 12.25, + 0.6, + -7 + ], + "to": [ + 16.25, + 4.6, + -4 + ], + "rotation": { + "angle": -22.5, + "axis": "y", + "origin": [ + 12.5, + 2.6, + -3.5 + ] + }, + "faces": { + "north": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 15.025, + 15.025, + 15.975, + 15.975 + ], + "texture": "#1" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "ground": { + "translation": [ + 0, + 2, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + }, + "gui": { + "rotation": [ + 30, + 135, + 0 + ], + "translation": [ + 1.5, + -2.25, + 0 + ], + "scale": [ + 0.45, + 0.45, + 0.45 + ] + }, + "fixed": { + "translation": [ + 0, + -3, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + } + }, + "groups": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + { + "name": "group", + "origin": [ + 8, + 8, + 8 + ], + "children": [ + 27, + 28, + 29 + ] + }, + { + "name": "group", + "origin": [ + 8, + 8, + 8 + ], + "children": [ + 30 + ] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/pig.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/pig.json new file mode 100644 index 0000000..91a6594 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/pig.json @@ -0,0 +1,46 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hotbar_pets:item/pig" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/seal.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/seal.json new file mode 100644 index 0000000..a4afcf0 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/seal.json @@ -0,0 +1,1244 @@ +{ + "credit": "Made with Blockbench by dragonmaster95", + "textures": { + "0": "hotbar_pets:item/seal", + "particle": "hotbar_pets:item/seal" + }, + "elements": [ + { + "from": [ + 6, + 0, + -13 + ], + "to": [ + 10, + 3, + -11 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "north": { + "uv": [ + 0.5, + 12.25, + 1.5, + 13 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 12.25, + 0.5, + 13 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 1.5, + 12.25, + 2, + 13 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 1.5, + 12.25, + 0.5, + 11.75 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 2.5, + 11.75, + 1.5, + 12.25 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 7, + 1.25, + -13.25 + ], + "to": [ + 9, + 3.25, + -11.25 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "north": { + "uv": [ + 0.5, + 0.5, + 1, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0.5, + 0.5, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.5, + 0.5, + 2, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 1, + 0.5, + 1.5, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 1, + 0.5, + 0.5, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 1.5, + 0, + 1, + 0.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 0, + -11 + ], + "to": [ + 12, + 6, + -7 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "north": { + "uv": [ + 7.5, + 10.5, + 9.5, + 12 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6.5, + 10.5, + 7.5, + 12 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 7.5, + 10.5, + 6.5, + 12 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 9.5, + 10.5, + 7.5, + 9.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 11.5, + 9.5, + 9.5, + 10.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 3, + 0, + -7 + ], + "to": [ + 13, + 7, + -4 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "north": { + "uv": [ + 7.75, + 7.75, + 10.25, + 9.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 7, + 7.75, + 7.75, + 9.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 7.75, + 7.75, + 7, + 9.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 10.25, + 7.75, + 7.75, + 7 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 12.75, + 7, + 10.25, + 7.75 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 3, + 0, + 4 + ], + "to": [ + 13, + 7, + 9 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "east": { + "uv": [ + 0, + 10, + 1, + 11.75 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4, + 10, + 6.5, + 11.75 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 1, + 10, + 0, + 11.75 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5, + 2, + 2, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.75, + 9.25, + 3.25, + 10 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 2, + 0, + -4 + ], + "to": [ + 14, + 8, + 4 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "north": { + "uv": [ + 2, + 2, + 5, + 4 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 2, + 2, + 4 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 7, + 2, + 10, + 4 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 2, + 2, + 0, + 4 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5, + 2, + 2, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 8, + 0, + 5, + 2 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 0, + 9 + ], + "to": [ + 12, + 6, + 13 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "east": { + "uv": [ + 0, + 7.75, + 1.5, + 9.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5, + 7.75, + 7, + 9.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 1.5, + 7.75, + 0, + 9.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 3.5, + 7.75, + 1.5, + 6.25 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.5, + 6.25, + 3.5, + 7.75 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 0, + 13 + ], + "to": [ + 11, + 5, + 17 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "east": { + "uv": [ + 10, + 1, + 11, + 2.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 13.5, + 1, + 15, + 2.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 7.5, + 10.5, + 6.5, + 12 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 12.5, + 1, + 11, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 14, + 0, + 12.5, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 0.02, + 17 + ], + "to": [ + 10, + 4.02, + 21 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "east": { + "uv": [ + 10.5, + 5.25, + 11.5, + 6.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 13.5, + 5.25, + 14.5, + 6.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 11.5, + 5.25, + 10.5, + 6.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 12.5, + 5.25, + 11.5, + 4.25 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 13.5, + 4.25, + 12.5, + 5.25 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 0.075, + 21 + ], + "to": [ + 10, + 3.075, + 25 + ], + "rotation": { + "angle": 0, + "axis": "x", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "east": { + "uv": [ + 11.5, + 12.5, + 12.5, + 13.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 14.5, + 12.5, + 15.5, + 13.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 12.5, + 12.5, + 11.5, + 13.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 13.5, + 12.5, + 12.5, + 11.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 14.5, + 11.5, + 13.5, + 12.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 0, + 21 + ], + "to": [ + 8, + 2, + 31 + ], + "rotation": { + "angle": -22.5, + "axis": "y", + "origin": [ + 8, + 1.5, + 26 + ] + }, + "faces": { + "north": { + "uv": [ + 8.5, + 6.5, + 9.5, + 7 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 6.5, + 8.5, + 7 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 12, + 6.5, + 13, + 7 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 9.5, + 6.5, + 12, + 7 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 9.5, + 6.5, + 8.5, + 4 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 10.5, + 4, + 9.5, + 6.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 8, + 0.01, + 21 + ], + "to": [ + 12, + 2.01, + 31 + ], + "rotation": { + "angle": 22.5, + "axis": "y", + "origin": [ + 8, + 1.5, + 26 + ] + }, + "faces": { + "north": { + "uv": [ + 9.5, + 6.5, + 8.5, + 7 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 12, + 6.5, + 9.5, + 7 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 13, + 6.5, + 12, + 7 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 8.5, + 6.5, + 6, + 7 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 8.5, + 6.5, + 9.5, + 4 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 9.5, + 4, + 10.5, + 6.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + -1, + 0.01, + -1 + ], + "to": [ + 11, + 4.01, + 4 + ], + "rotation": { + "angle": -22.5, + "axis": "y", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "north": { + "uv": [ + 1.25, + 5.25, + 4.25, + 6.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5.5, + 5.25, + 8.5, + 6.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 4.25, + 5.25, + 5.5, + 6.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4.25, + 5.25, + 1.25, + 4 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 7.25, + 4, + 4.25, + 5.25 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 0.01, + -1 + ], + "to": [ + 17, + 4.01, + 4 + ], + "rotation": { + "angle": 22.5, + "axis": "y", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "north": { + "uv": [ + 4.25, + 5.25, + 1.25, + 6.25 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 5.5, + 5.25, + 4.25, + 6.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 8.5, + 5.25, + 5.5, + 6.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 1.25, + 5.25, + 4.25, + 4 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 4.25, + 4, + 7.25, + 5.25 + ], + "texture": "#0" + } + } + }, + { + "from": [ + -2.75, + 0, + -16 + ], + "to": [ + 0.25, + 2, + -10 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 8, + -5 + ] + }, + "faces": { + "north": { + "uv": [ + 12, + 3.75, + 12.75, + 4.25 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 10.5, + 3.75, + 12, + 4.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 14.25, + 3.75, + 15, + 4.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 12.75, + 3.75, + 14.25, + 4.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 12.75, + 3.75, + 12, + 2.25 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 13.5, + 2.25, + 12.75, + 3.75 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 18.31073, + 0, + -7.81212 + ], + "to": [ + 21.31073, + 2, + -1.81212 + ], + "rotation": { + "angle": -45, + "axis": "y", + "origin": [ + 19.31073, + 1, + -3.56212 + ] + }, + "faces": { + "north": { + "uv": [ + 12.75, + 3.75, + 12, + 4.25 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 14.25, + 3.75, + 12.75, + 4.25 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 15, + 3.75, + 14.25, + 4.25 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 12, + 3.75, + 10.5, + 4.25 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 12, + 3.75, + 12.75, + 2.25 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 12.75, + 2.25, + 13.5, + 3.75 + ], + "texture": "#0" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "ground": { + "translation": [ + 0, + 2, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + }, + "gui": { + "rotation": [ + 30, + 135, + 0 + ], + "translation": [ + 0, + 2, + 0 + ], + "scale": [ + 0.47, + 0.47, + 0.47 + ] + }, + "head": { + "translation": [ + 0, + -31, + 0 + ], + "scale": [ + 1.5, + 1.5, + 1.5 + ] + }, + "fixed": { + "rotation": [ + -90, + 0, + 0 + ], + "translation": [ + 0, + 0, + -7 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/shark.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/shark.json new file mode 100644 index 0000000..075ed4f --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/shark.json @@ -0,0 +1,46 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hotbar_pets:item/shark" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 180, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/sheep.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/sheep.json new file mode 100644 index 0000000..ed5ce75 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/sheep.json @@ -0,0 +1,46 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hotbar_pets:item/sheep" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/spider.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/spider.json new file mode 100644 index 0000000..8fbe341 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/spider.json @@ -0,0 +1,635 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "hotbar_pets:item/spider", + "particle": "hotbar_pets:item/spider" + }, + "elements": [ + { + "name": "cube", + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 12, + 12 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 8, + 8, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 11, + 11 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": "#0" + } + } + }, + { + "name": "cube", + "from": [ + 0, + 9, + 7.5 + ], + "to": [ + 8, + 11, + 8.5 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 5.66667, + 0.33333, + 6.33333 + ], + "texture": "#0", + "rotation": 180 + }, + "south": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0", + "rotation": 90 + }, + "west": { + "uv": [ + 14, + 0, + 16, + 4 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0", + "rotation": 90 + } + } + }, + { + "name": "cube", + "from": [ + 0, + 9, + 7.5 + ], + "to": [ + 8, + 11, + 8.5 + ], + "rotation": { + "angle": 22.5, + "axis": "y", + "origin": [ + 8, + 8, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 5.66667, + 6.33333, + 6.33333 + ], + "texture": "#0", + "rotation": 180 + }, + "south": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0", + "rotation": 90 + }, + "west": { + "uv": [ + 14, + 0, + 16, + 4 + ], + "texture": "#0", + "rotation": 180 + }, + "up": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0", + "rotation": 90 + } + } + }, + { + "name": "cube", + "from": [ + 0, + 9, + 7.5 + ], + "to": [ + 8, + 11, + 8.5 + ], + "rotation": { + "angle": -22.5, + "axis": "y", + "origin": [ + 8, + 8, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 6.66667, + 0.33333, + 7.33333 + ], + "texture": "#0", + "rotation": 180 + }, + "south": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0", + "rotation": 90 + }, + "west": { + "uv": [ + 14, + 0, + 16, + 4 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0", + "rotation": 90 + } + } + }, + { + "name": "cube", + "from": [ + 9, + 0, + 7.5 + ], + "to": [ + 11, + 8, + 8.5 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 6.33333, + 0.33333, + 5.66667 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 14, + 0, + 16, + 4 + ], + "texture": "#0" + } + } + }, + { + "name": "cube", + "from": [ + 9, + 0, + 7.5 + ], + "to": [ + 11, + 8, + 8.5 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 8, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 6.33333, + 6.33333, + 5.66667 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 14, + 0, + 16, + 4 + ], + "texture": "#0" + } + } + }, + { + "name": "cube", + "from": [ + 9, + 0, + 7.5 + ], + "to": [ + 11, + 8, + 8.5 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 8, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 12, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 14, + 0, + 16, + 8 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 7.33333, + 0.33333, + 6.66667 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 14, + 0, + 16, + 4 + ], + "texture": "#0" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "head": { + "scale": [ + 2.2, + 2.2, + 2.2 + ], + "rotation": [ + 0, + 0, + 45 + ], + "translation": [ + -5.5, + 32, + -1 + ] + } + }, + "groups": [ + 0, + { + "name": "group", + "isOpen": true, + "export": true, + "visibility": true, + "children": [ + 1, + 2, + 3 + ] + }, + { + "name": "group", + "isOpen": true, + "export": true, + "visibility": true, + "children": [ + 4, + 5, + 6 + ] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/squid.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/squid.json new file mode 100644 index 0000000..c473378 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/squid.json @@ -0,0 +1,46 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hotbar_pets:item/squid" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/swablu.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/swablu.json new file mode 100644 index 0000000..387479f --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/swablu.json @@ -0,0 +1,2250 @@ +{ + "credit": "Made with Blockbench by dragonmaster95", + "textures": { + "0": "hotbar_pets:item/swablu", + "particle": "hotbar_pets:item/swablu" + }, + "elements": [ + { + "from": [ + 5, + 2, + 5 + ], + "to": [ + 11, + 6, + 11 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 6, + 6 + ], + "to": [ + 10, + 7, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5.5, + 1.5, + 5.5 + ], + "to": [ + 10.5, + 2, + 10.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 7, + 1.5, + 7.5 + ], + "to": [ + 9, + 2.25, + 14.5 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 1.75, + 10.5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 180, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 180, + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 180, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 180, + "texture": "#0" + } + } + }, + { + "from": [ + 6.25, + 2, + 7.5 + ], + "to": [ + 7.5, + 2.25, + 8.5 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 7, + 1.75, + 8.5 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + } + } + }, + { + "from": [ + 9.25, + 2, + 6.5 + ], + "to": [ + 9.75, + 2.25, + 8.5 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 9.25, + 1.75, + 8.5 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + } + } + }, + { + "from": [ + 8.5, + 2, + 6.5 + ], + "to": [ + 9, + 2.25, + 8.5 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 8.5, + 1.75, + 8.5 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + } + } + }, + { + "from": [ + 6.25, + 2, + 6.5 + ], + "to": [ + 6.75, + 2.25, + 8.5 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 6.25, + 1.75, + 8.5 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + } + } + }, + { + "from": [ + 7, + 2, + 6.5 + ], + "to": [ + 7.5, + 2.25, + 8.5 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 7, + 1.75, + 8.5 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + } + } + }, + { + "from": [ + 8.5, + 2, + 7.5 + ], + "to": [ + 9.75, + 2.25, + 8.5 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 9.25, + 1.75, + 8.5 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "rotation": 180, + "texture": "#0" + } + } + }, + { + "from": [ + 7.25, + 3.75, + 3.75 + ], + "to": [ + 8.75, + 4.5, + 5.25 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 4.125, + 4.25 + ] + }, + "faces": { + "north": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 7.5, + 3.25, + 4 + ], + "to": [ + 8.5, + 4, + 5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 6, + 1, + 8, + 3 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 9, + 4, + 4.97561 + ], + "to": [ + 10, + 5, + 4.97561 + ], + "faces": { + "north": { + "uv": [ + 0, + 12, + 4, + 16 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 4, + 4.97561 + ], + "to": [ + 7, + 5, + 4.97561 + ], + "faces": { + "north": { + "uv": [ + 0, + 12, + 4, + 16 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 11.83659, + 9.67517, + 7.84756 + ], + "to": [ + 12.33659, + 9.79712, + 8.15244 + ], + "rotation": { + "angle": 0, + "axis": "z", + "origin": [ + 12.33659, + 9.79712, + 7.90244 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + } + } + }, + { + "from": [ + 8.71509, + 7.99578, + 7.75 + ], + "to": [ + 8.91021, + 9.49578, + 8.25 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 8.81265, + 8.49578, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 180, + "texture": "#0" + } + } + }, + { + "from": [ + 9.45004, + 9.27552, + 7.75 + ], + "to": [ + 10.95004, + 9.47064, + 8.25 + ], + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 9.95004, + 9.37308, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + } + } + }, + { + "from": [ + 10.83659, + 9.65078, + 7.79878 + ], + "to": [ + 11.83659, + 9.8459, + 8.20122 + ], + "rotation": { + "angle": 0, + "axis": "z", + "origin": [ + 11.33659, + 9.74834, + 7.90244 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + } + } + }, + { + "from": [ + 8, + 6.75, + 7.79878 + ], + "to": [ + 8.19512, + 8.25, + 8.20122 + ], + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + 8.09756, + 7.25, + 7.95122 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 180, + "texture": "#0" + } + } + }, + { + "from": [ + 3.66341, + 9.67517, + 7.84756 + ], + "to": [ + 4.16341, + 9.79712, + 8.15244 + ], + "rotation": { + "angle": 0, + "axis": "z", + "origin": [ + 3.66341, + 9.79712, + 8.09756 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + } + } + }, + { + "from": [ + 7.08979, + 7.99578, + 7.75 + ], + "to": [ + 7.28491, + 9.49578, + 8.25 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 7.18735, + 8.49578, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5.04996, + 9.27552, + 7.75 + ], + "to": [ + 6.54996, + 9.47064, + 8.25 + ], + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + 6.04996, + 9.37308, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + } + } + }, + { + "from": [ + 4.16341, + 9.65078, + 7.79878 + ], + "to": [ + 5.16341, + 9.8459, + 8.20122 + ], + "rotation": { + "angle": 0, + "axis": "z", + "origin": [ + 4.66341, + 9.74834, + 8.09756 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": "#0" + } + } + }, + { + "from": [ + 7.80488, + 6.75, + 7.79878 + ], + "to": [ + 8, + 8.25, + 8.20122 + ], + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 7.90244, + 7.25, + 8.04878 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 11, + 2.19512, + 6 + ], + "to": [ + 14.5, + 5.69512, + 10 + ], + "faces": { + "north": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 13, + 2.69512, + 6.5 + ], + "to": [ + 16.5, + 6.19512, + 10.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 14.5, + 4.19512, + 8.25 + ], + "to": [ + 17.25, + 7.19512, + 11 + ], + "faces": { + "north": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 9, + 9, + 16, + 16 + ], + "texture": "#0" + } + } + }, + { + "from": [ + -1.25, + 4.19512, + 8.25 + ], + "to": [ + 1.5, + 7.19512, + 11 + ], + "faces": { + "north": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + } + } + }, + { + "from": [ + -0.5, + 2.69512, + 6.5 + ], + "to": [ + 3, + 6.19512, + 10.5 + ], + "faces": { + "north": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 1.5, + 2.19512, + 6 + ], + "to": [ + 5, + 5.69512, + 10 + ], + "faces": { + "north": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 16, + 9, + 9, + 16 + ], + "texture": "#0" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "ground": { + "translation": [ + 0, + 3, + 0 + ] + }, + "gui": { + "rotation": [ + -9, + 140, + 25 + ], + "translation": [ + 0.5, + 3, + 0 + ] + }, + "head": { + "translation": [ + 0, + 12.9, + -6 + ] + }, + "fixed": { + "translation": [ + 0, + 3, + 0 + ] + } + }, + "groups": [ + 0, + 1, + 2, + 3, + { + "name": "Feet", + "origin": [ + 8, + 8, + 8 + ], + "children": [ + 4, + 5, + 6, + 7, + 8, + 9 + ] + }, + { + "name": "Schnabel", + "origin": [ + 8, + 8, + 8 + ], + "children": [ + 10, + 11 + ] + }, + 12, + 13, + { + "name": "group", + "origin": [ + 8, + 8, + 8 + ], + "children": [ + 14, + 15, + 16, + 17, + 18 + ] + }, + { + "name": "group", + "origin": [ + 8, + 8, + 8 + ], + "children": [ + 19, + 20, + 21, + 22, + 23 + ] + }, + 24, + 25, + 26, + 27, + 28, + 29 + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/models/item/train.json b/stweaks-resourcepack/assets/hotbar_pets/models/item/train.json new file mode 100644 index 0000000..ad4c108 --- /dev/null +++ b/stweaks-resourcepack/assets/hotbar_pets/models/item/train.json @@ -0,0 +1,2346 @@ +{ + "textures": { + "0": "hotbar_pets:item/train", + "particle": "hotbar_pets:item/train" + }, + "elements": [ + { + "name": "kettle", + "from": [ + 6, + 4.171875, + 0 + ], + "to": [ + 10, + 5.828125, + 11 + ], + "faces": { + "north": { + "uv": [ + 10.5625, + 0.0625, + 10.96875, + 0.4375 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 10.532, + 2.032, + 15.968, + 2.968 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 10.532, + 2.032, + 15.90625, + 2.93671875 + ], + "texture": "#0" + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "y", + "angle": 0 + }, + "type": "cube" + }, + { + "name": "kettle", + "from": [ + 6, + 4.171875, + 0 + ], + "to": [ + 10, + 5.828125, + 11 + ], + "faces": { + "north": { + "uv": [ + 10.5625, + 0.0625, + 10.96875, + 0.4375 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 10.532, + 0.032, + 15.968, + 0.968 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 10.59375, + 3.032, + 15.96875, + 3.90625 + ], + "texture": "#0" + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "z", + "angle": -45 + }, + "type": "cube" + }, + { + "name": "kettle", + "from": [ + 7.171875, + 3, + 0 + ], + "to": [ + 8.828125, + 7, + 11 + ], + "faces": { + "north": { + "uv": [ + 10.5625, + 0.0625, + 10.96875, + 0.4375 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 10.532, + 0.532, + 15.968, + 1.468 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 10.532, + 0.032, + 15.968, + 0.968 + ], + "texture": "#0", + "rotation": 90 + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "x", + "angle": 0 + }, + "type": "cube" + }, + { + "name": "kettle", + "from": [ + 7.171875, + 3, + 0 + ], + "to": [ + 8.828125, + 7, + 11 + ], + "faces": { + "north": { + "uv": [ + 10.5625, + 0.0625, + 10.96875, + 0.4375 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 10.532, + 1.532, + 15.968, + 2.468 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 10.532, + 0.032, + 15.968, + 0.968 + ], + "texture": "#0", + "rotation": 90 + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "z", + "angle": -45 + }, + "type": "cube" + }, + { + "name": "cube", + "from": [ + 6, + 1, + 0 + ], + "to": [ + 10, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 8.532, + 7.032, + 10.468, + 7.968 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 8.532, + 7.032, + 15.968, + 7.968 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 8.532, + 7.032, + 10.468, + 7.968 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 8.532, + 7.032, + 15.968, + 7.968 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 8.532, + 6.032, + 15.968, + 7.968 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 8.532, + 6.032, + 15.968, + 7.968 + ], + "texture": "#0", + "rotation": 90 + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "x", + "angle": 0 + }, + "type": "cube" + }, + { + "name": "cabin", + "from": [ + 4, + 3, + 11 + ], + "to": [ + 12, + 9, + 16 + ], + "faces": { + "north": { + "uv": [ + 0.032, + 0.032, + 3.968, + 2.968 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 4.032, + 0.032, + 6.468, + 2.968 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 6.532, + 0.032, + 10.468, + 2.968 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 4.032, + 0.032, + 6.468, + 2.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 6.532, + 0.032, + 10.4359375, + 2.9359375 + ], + "texture": "#0" + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "x", + "angle": 0 + }, + "type": "cube" + }, + { + "name": "panel", + "from": [ + 4, + 3, + 2 + ], + "to": [ + 6, + 4, + 11 + ], + "faces": { + "north": { + "uv": [ + 14.032, + 4.032, + 14.968, + 4.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 14.032, + 4.032, + 14.968, + 4.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 11.532, + 4.032, + 15.968, + 4.468 + ], + "texture": "#0", + "rotation": 180 + }, + "up": { + "uv": [ + 11.532, + 4.032, + 15.968, + 4.968 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 11.532, + 4.032, + 15.968, + 4.968 + ], + "texture": "#0", + "rotation": 270 + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "x", + "angle": 0 + }, + "type": "cube" + }, + { + "name": "panel", + "from": [ + 10, + 3, + 2 + ], + "to": [ + 12, + 4, + 11 + ], + "faces": { + "north": { + "uv": [ + 14.032, + 4.032, + 14.968, + 4.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 11.532, + 4.032, + 15.968, + 4.468 + ], + "texture": "#0", + "rotation": 180 + }, + "south": { + "uv": [ + 14.032, + 4.032, + 14.968, + 4.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 11.532, + 4.032, + 15.968, + 4.468 + ], + "texture": "#0", + "rotation": 270 + }, + "up": { + "uv": [ + 11.532, + 4.032, + 15.968, + 4.968 + ], + "texture": "#0", + "rotation": 270 + }, + "down": { + "uv": [ + 11.532, + 4.032, + 15.968, + 4.968 + ], + "texture": "#0", + "rotation": 90 + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "x", + "angle": 0 + }, + "type": "cube" + }, + { + "name": "roof", + "from": [ + 3.9958093621178, + 9.9937282671963, + 10.5 + ], + "to": [ + 6.9958093621178, + 10.993728267196, + 16.5 + ], + "faces": { + "north": { + "uv": [ + 3.532, + 5.532, + 4.9359681372549, + 5.9359681372549 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0.032, + 5.532, + 1.468, + 5.968 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.032, + 3.032, + 0.468, + 5.968 + ], + "texture": "#0", + "rotation": 90 + }, + "up": { + "uv": [ + 0.03125, + 3.032, + 1.4375, + 5.875 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 3.532, + 3.032, + 4.90625, + 5.968 + ], + "texture": "#0" + } + }, + "rotation": { + "origin": [ + 8.9958093621178, + 7.9937282671963, + 22.5 + ], + "axis": "z", + "angle": 22.5 + }, + "type": "cube" + }, + { + "name": "roof", + "from": [ + 6, + 9, + 10.5 + ], + "to": [ + 10, + 10, + 16.5 + ], + "faces": { + "north": { + "uv": [ + 1.06, + 5.56, + 2.94, + 5.94 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.032, + 5.532, + 2.968, + 5.968 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 1.532, + 3.032, + 3.40625, + 5.875 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 1.532, + 3.032, + 3.40625, + 5.875 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "roof", + "from": [ + 8.8519497029047, + 9.2283614024661, + 10.5 + ], + "to": [ + 11.851949702905, + 10.228361402466, + 16.5 + ], + "faces": { + "north": { + "uv": [ + 0.06, + 5.56, + 1.44, + 5.94 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 4.56, + 3.06, + 4.94, + 5.94 + ], + "texture": "#0", + "rotation": 90 + }, + "south": { + "uv": [ + 2.56, + 5.56, + 3.94, + 5.94 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.032, + 0.032, + 0.968, + 0.968 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 3.532, + 3.032, + 4.90625, + 5.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0.03125, + 3.032, + 1.4375, + 5.875 + ], + "texture": "#0" + } + }, + "rotation": { + "origin": [ + 8.8519497029047, + 7.2283614024661, + 22.5 + ], + "axis": "z", + "angle": -22.5 + }, + "type": "cube" + }, + { + "name": "exhaust", + "from": [ + 7, + 6.5, + 3 + ], + "to": [ + 9, + 9.5, + 5 + ], + "faces": { + "north": { + "uv": [ + 5.032, + 3.032, + 5.968, + 4.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 5.532, + 3.032, + 6.468, + 4.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5.532, + 3.032, + 6.468, + 4.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 5.532, + 3.032, + 6.468, + 4.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5.032, + 3.032, + 5.968, + 3.968 + ], + "texture": "#0", + "rotation": 180 + } + }, + "type": "cube" + }, + { + "name": "exhaust", + "from": [ + 7.5, + 7, + 8 + ], + "to": [ + 8.5, + 9, + 9 + ], + "faces": { + "north": { + "uv": [ + 5.4356617647059, + 4.531862745098, + 5.9356617647059, + 5.4356617647059 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6.52, + 4.52, + 6.9237990196078, + 5.4237990196078 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5.031862745098, + 4.531862745098, + 5.4356617647059, + 5.4356617647059 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6.031862745098, + 4.531862745098, + 6.4356617647059, + 5.4356617647059 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5.031862745098, + 4.531862745098, + 5.4356617647059, + 4.9356617647059 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5.032, + 4.532, + 5.9359375, + 5.4359375 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "exhaust", + "from": [ + 7.5, + 7, + 1 + ], + "to": [ + 8.5, + 8, + 2 + ], + "faces": { + "north": { + "uv": [ + 5.032, + 4.532, + 5.468, + 4.968 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6.032, + 4.532, + 6.468, + 4.968 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 5.031862745098, + 4.531862745098, + 5.4356617647059, + 4.9356617647059 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6.532, + 5.032, + 6.968, + 5.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 6.532, + 5.032, + 6.968, + 5.468 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 6.532, + 5.032, + 6.968, + 5.468 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "bumper", + "from": [ + 4, + 1.5, + 1 + ], + "to": [ + 12, + 3.5, + 2 + ], + "faces": { + "north": { + "uv": [ + 11.032, + 7.532, + 14.968, + 8.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 11.032, + 7.032, + 11.468, + 7.968 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 11.032, + 7.532, + 14.968, + 8.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 11.032, + 7.032, + 11.468, + 7.968 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 11.032, + 7.532, + 14.968, + 7.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 11.032, + 7.532, + 14.968, + 7.968 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "main_wheels", + "from": [ + 4.5, + 0, + 2.5 + ], + "to": [ + 5.5, + 2.5, + 5 + ], + "faces": { + "north": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "main_wheels", + "from": [ + 4.5, + 0, + 5.5 + ], + "to": [ + 5.5, + 2.5, + 8 + ], + "faces": { + "north": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "main_wheels", + "from": [ + 4.5, + 0, + 8.5 + ], + "to": [ + 5.5, + 2.5, + 11 + ], + "faces": { + "north": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "main_wheels", + "from": [ + 10.5, + 0, + 8.5 + ], + "to": [ + 11.5, + 2.5, + 11 + ], + "faces": { + "north": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "main_wheels", + "from": [ + 10.5, + 0, + 5.5 + ], + "to": [ + 11.5, + 2.5, + 8 + ], + "faces": { + "north": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "main_wheels", + "from": [ + 10.5, + 0, + 2.5 + ], + "to": [ + 11.5, + 2.5, + 5 + ], + "faces": { + "north": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "back_wheels", + "from": [ + 10.5, + 0, + 12.5 + ], + "to": [ + 11.5, + 2, + 14.5 + ], + "faces": { + "north": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "back_wheels", + "from": [ + 4.5, + 0, + 12.5 + ], + "to": [ + 5.5, + 2, + 14.5 + ], + "faces": { + "north": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 1.532, + 6.032, + 1.968, + 7.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.032, + 6.032, + 1.468, + 7.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0.032, + 7.532, + 1.468, + 7.968 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "wheel_connector", + "from": [ + 4, + 1, + 3 + ], + "to": [ + 5, + 2, + 10 + ], + "faces": { + "north": { + "uv": [ + 2.032, + 6.032, + 2.468, + 6.468 + ], + "texture": "#0", + "rotation": 180 + }, + "east": { + "uv": [ + 2.532, + 6.032, + 5.968, + 6.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 2.032, + 6.032, + 2.468, + 6.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 2.532, + 6.032, + 5.968, + 6.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 2.532, + 6.032, + 5.968, + 6.468 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 2.532, + 6.032, + 5.968, + 6.468 + ], + "texture": "#0", + "rotation": 180 + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "x", + "angle": 0 + }, + "type": "cube" + }, + { + "name": "wheel_connector", + "from": [ + 11, + 1, + 3 + ], + "to": [ + 12, + 2, + 10 + ], + "faces": { + "north": { + "uv": [ + 2.032, + 6.032, + 2.468, + 6.468 + ], + "texture": "#0", + "rotation": 180 + }, + "east": { + "uv": [ + 2.532, + 6.032, + 5.968, + 6.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 2.032, + 6.032, + 2.468, + 6.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 2.532, + 6.032, + 5.968, + 6.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 2.532, + 6.032, + 5.968, + 6.468 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 2.532, + 6.032, + 5.968, + 6.468 + ], + "texture": "#0", + "rotation": 180 + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "x", + "angle": 0 + }, + "type": "cube" + }, + { + "name": "back_wheels", + "from": [ + 5.5, + 0.5, + 13 + ], + "to": [ + 10.5, + 1.5, + 14 + ], + "faces": { + "north": { + "uv": [ + 11.532, + 4.032, + 13.968, + 4.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 11.532, + 4.032, + 11.968, + 4.468 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 11.532, + 4.032, + 13.968, + 4.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 11.532, + 4.032, + 11.968, + 4.468 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 11.532, + 4.032, + 13.968, + 4.468 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 11.532, + 4.032, + 13.968, + 4.468 + ], + "texture": "#0" + } + }, + "type": "cube" + }, + { + "name": "tube", + "from": [ + 3.90625, + 2.5, + 12.5 + ], + "to": [ + 4.90625, + 3.5, + 16.5 + ], + "faces": { + "north": { + "uv": [ + 2.032, + 7.032, + 2.468, + 7.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 2.031862745098, + 7.031862745098, + 3.9678308823529, + 7.4678308823529 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 2.032, + 7.032, + 2.468, + 7.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 2.031862745098, + 7.031862745098, + 3.9678308823529, + 7.4678308823529 + ], + "texture": "#0", + "rotation": 180 + }, + "up": { + "uv": [ + 2.031862745098, + 7.031862745098, + 3.9678308823529, + 7.4678308823529 + ], + "texture": "#0", + "rotation": 270 + }, + "down": { + "uv": [ + 2.031862745098, + 7.031862745098, + 3.9678308823529, + 7.4678308823529 + ], + "texture": "#0", + "rotation": 90 + } + }, + "type": "cube" + }, + { + "name": "tube", + "from": [ + 11.09375, + 2.5, + 12.5 + ], + "to": [ + 12.09375, + 3.5, + 16.5 + ], + "faces": { + "north": { + "uv": [ + 2.032, + 7.032, + 2.468, + 7.468 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 2.031862745098, + 7.031862745098, + 3.9678308823529, + 7.4678308823529 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 2.032, + 7.032, + 2.468, + 7.468 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 2.031862745098, + 7.031862745098, + 3.9678308823529, + 7.4678308823529 + ], + "texture": "#0", + "rotation": 180 + }, + "up": { + "uv": [ + 2.031862745098, + 7.031862745098, + 3.9678308823529, + 7.4678308823529 + ], + "texture": "#0", + "rotation": 270 + }, + "down": { + "uv": [ + 2.031862745098, + 7.031862745098, + 3.9678308823529, + 7.4678308823529 + ], + "texture": "#0", + "rotation": 90 + } + }, + "type": "cube" + }, + { + "name": "wheel_connector", + "from": [ + 6, + 2, + 15 + ], + "to": [ + 6.5, + 2.5, + 17 + ], + "faces": { + "north": { + "uv": [ + 15.032, + 7.532, + 15.468, + 7.968 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 13.532, + 7.532, + 15.468, + 7.968 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 13.532, + 7.532, + 13.968, + 7.968 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 13.532, + 7.532, + 15.468, + 7.968 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 13.532, + 7.532, + 15.468, + 7.968 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 13.532, + 7.532, + 15.468, + 7.968 + ], + "texture": "#0", + "rotation": 270 + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "x", + "angle": 0 + }, + "type": "cube" + }, + { + "name": "wheel_connector", + "from": [ + 9.5, + 2, + 15 + ], + "to": [ + 10, + 2.5, + 17 + ], + "faces": { + "north": { + "uv": [ + 15.032, + 7.532, + 15.468, + 7.968 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 13.532, + 7.532, + 15.468, + 7.968 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 13.532, + 7.532, + 13.968, + 7.968 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 13.532, + 7.532, + 15.468, + 7.968 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 13.532, + 7.532, + 15.468, + 7.968 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 13.532, + 7.532, + 15.468, + 7.968 + ], + "texture": "#0", + "rotation": 270 + } + }, + "rotation": { + "origin": [ + 8, + 5, + 0.5 + ], + "axis": "x", + "angle": 0 + }, + "type": "cube" + }, + { + "name": "cube", + "from": [ + 9, + 1.5, + 17 + ], + "to": [ + 10.5, + 3, + 17.5 + ], + "faces": { + "north": { + "uv": [ + 4.5, + 7.5, + 6, + 9 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 7.5, + 6.5, + 9 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4.5, + 7.5, + 6, + 9 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 7.5, + 6.5, + 9 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 7.5, + 6.5, + 9 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 6, + 7.5, + 6.5, + 9 + ], + "texture": "#0", + "rotation": 90 + } + }, + "type": "cube" + }, + { + "name": "cube", + "from": [ + 5.5, + 1.5, + 17 + ], + "to": [ + 7, + 3, + 17.5 + ], + "faces": { + "north": { + "uv": [ + 4.5, + 7.5, + 6, + 9 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 6, + 7.5, + 6.5, + 9 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 4.5, + 7.5, + 6, + 9 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 6, + 7.5, + 6.5, + 9 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 6, + 7.5, + 6.5, + 9 + ], + "texture": "#0", + "rotation": 90 + }, + "down": { + "uv": [ + 6, + 7.5, + 6.5, + 9 + ], + "texture": "#0", + "rotation": 90 + } + }, + "type": "cube" + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 83, + 0, + 0 + ], + "translation": [ + 1, + -1, + 18 + ] + }, + "firstperson_lefthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "firstperson_righthand": { + "translation": [ + 0, + -32, + 32 + ] + }, + "head": { + "scale": [ + 1, + 1, + 1 + ], + "translation": [ + 0, + 14.5, + 0 + ] + }, + "ground": { + "scale": [ + 0.35, + 0.35, + 0.35 + ], + "rotation": [ + 0, + 0, + 0 + ], + "translation": [ + 0, + 2, + 0 + ] + }, + "gui": { + "scale": [ + 0.8, + 0.85, + 0.8 + ], + "rotation": [ + 23, + 135, + 0 + ], + "translation": [ + 0, + 1, + 0 + ] + }, + "fixed": { + "scale": [ + 1, + 1, + 1 + ], + "rotation": [ + 0, + 90, + 0 + ] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp1.mp3 new file mode 100644 index 0000000..5715e54 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp1.ogg new file mode 100644 index 0000000..e4f1a5f Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp2.mp3 new file mode 100644 index 0000000..a014dd0 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp2.ogg new file mode 100644 index 0000000..fca5857 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp3.mp3 new file mode 100644 index 0000000..3742699 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp3.ogg new file mode 100644 index 0000000..a952e0b Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chick/chick_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp1.mp3 new file mode 100644 index 0000000..2017e80 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp1.ogg new file mode 100644 index 0000000..2ea5e4b Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp2.mp3 new file mode 100644 index 0000000..750d180 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp2.ogg new file mode 100644 index 0000000..8fec9b6 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp3.mp3 new file mode 100644 index 0000000..3d018e1 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp3.ogg new file mode 100644 index 0000000..9aa68d0 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/chicken/chicken_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/gible/gible_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/gible/gible_burp1.ogg new file mode 100644 index 0000000..8bc1a6c Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/gible/gible_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/gible/gible_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/gible/gible_burp2.ogg new file mode 100644 index 0000000..d4517cf Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/gible/gible_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/gible/gible_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/gible/gible_burp3.ogg new file mode 100644 index 0000000..e53f26e Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/gible/gible_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp1.mp3 new file mode 100644 index 0000000..9babaf5 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp1.ogg new file mode 100644 index 0000000..ece7545 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp2.mp3 new file mode 100644 index 0000000..fc96481 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp2.ogg new file mode 100644 index 0000000..78c2932 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp3.mp3 new file mode 100644 index 0000000..29aa50a Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp3.ogg new file mode 100644 index 0000000..43d52f4 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/husky/husky_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp1.ogg new file mode 100644 index 0000000..7bff573 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp2.mp3 new file mode 100644 index 0000000..94c9a69 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp2.ogg new file mode 100644 index 0000000..43dc2ca Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp3.ogg new file mode 100644 index 0000000..474ce5e Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/iron_golem/iron_golem_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp1.mp3 new file mode 100644 index 0000000..45472be Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp1.ogg new file mode 100644 index 0000000..2404f66 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp2.mp3 new file mode 100644 index 0000000..3e5993b Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp2.ogg new file mode 100644 index 0000000..1fb942f Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp3.mp3 new file mode 100644 index 0000000..c40ddff Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp3.ogg new file mode 100644 index 0000000..9b2630c Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/kfc/kfc_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp1.mp3 new file mode 100644 index 0000000..3da6c84 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp1.ogg new file mode 100644 index 0000000..6f53d3a Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp2.mp3 new file mode 100644 index 0000000..2a3fadb Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp2.ogg new file mode 100644 index 0000000..aa65723 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp3.mp3 new file mode 100644 index 0000000..c5a26ed Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp3.ogg new file mode 100644 index 0000000..6bf95a7 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/lavender/lavender_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp1.mp3 new file mode 100644 index 0000000..06906bc Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp1.ogg new file mode 100644 index 0000000..a517629 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp2.mp3 new file mode 100644 index 0000000..4ceec9e Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp2.ogg new file mode 100644 index 0000000..9fed5ef Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp3.mp3 new file mode 100644 index 0000000..422a80f Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp3.ogg new file mode 100644 index 0000000..5680597 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mcdonalds/mcdonalds_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp1.mp3 new file mode 100644 index 0000000..810073b Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp1.ogg new file mode 100644 index 0000000..f61113d Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp2.mp3 new file mode 100644 index 0000000..0908cfb Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp2.ogg new file mode 100644 index 0000000..11b4211 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp3.mp3 new file mode 100644 index 0000000..58774ba Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp3.ogg new file mode 100644 index 0000000..0fe25f0 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/mooshroom/mushroom_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp1.mp3 new file mode 100644 index 0000000..5d14116 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp1.ogg new file mode 100644 index 0000000..2f709e9 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp2.mp3 new file mode 100644 index 0000000..f27dd07 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp2.ogg new file mode 100644 index 0000000..62cf75a Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp3.mp3 new file mode 100644 index 0000000..ff9a285 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp3.ogg new file mode 100644 index 0000000..c207335 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/nautilus/nautilus_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp1.mp3 new file mode 100644 index 0000000..3869a90 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp1.ogg new file mode 100644 index 0000000..644d381 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp2.mp3 new file mode 100644 index 0000000..0b8c4e0 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp2.ogg new file mode 100644 index 0000000..302b0e0 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp3.mp3 new file mode 100644 index 0000000..d4c0576 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp3.ogg new file mode 100644 index 0000000..7159105 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/patrick/patrick_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp1.mp3 new file mode 100644 index 0000000..febf836 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp1.ogg new file mode 100644 index 0000000..752532c Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp2.mp3 new file mode 100644 index 0000000..802e74f Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp2.ogg new file mode 100644 index 0000000..ff862cc Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp3.mp3 new file mode 100644 index 0000000..0fba559 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp3.ogg new file mode 100644 index 0000000..71b66e2 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/pig/pig_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp1.mp3 new file mode 100644 index 0000000..568017c Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp1.ogg new file mode 100644 index 0000000..262d60e Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp2.mp3 new file mode 100644 index 0000000..5a1363c Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp2.ogg new file mode 100644 index 0000000..fe36361 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp3.mp3 new file mode 100644 index 0000000..c825a80 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp3.ogg new file mode 100644 index 0000000..c83d45c Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/seal/seal_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp1.mp3 new file mode 100644 index 0000000..63d385e Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp1.ogg new file mode 100644 index 0000000..ad07d2e Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp2.mp3 new file mode 100644 index 0000000..d47e347 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp2.ogg new file mode 100644 index 0000000..34b4666 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp3.mp3 new file mode 100644 index 0000000..a888965 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp3.ogg new file mode 100644 index 0000000..e23b2ce Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/shark/shark_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp1.mp3 new file mode 100644 index 0000000..5236147 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp1.ogg new file mode 100644 index 0000000..04836b7 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp2.mp3 new file mode 100644 index 0000000..79a5324 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp2.ogg new file mode 100644 index 0000000..279fe00 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp3.mp3 new file mode 100644 index 0000000..6dd5ee4 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp3.ogg new file mode 100644 index 0000000..1d5eaab Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/sheep/sheep_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp1.mp3 new file mode 100644 index 0000000..7bdec5b Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp1.ogg new file mode 100644 index 0000000..16b89a6 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp2.mp3 new file mode 100644 index 0000000..4d3411c Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp2.ogg new file mode 100644 index 0000000..2d94f47 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp3.mp3 new file mode 100644 index 0000000..db70fbc Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp3.ogg new file mode 100644 index 0000000..bed165b Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/spider/spider_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp1.mp3 new file mode 100644 index 0000000..71eb98c Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp1.ogg new file mode 100644 index 0000000..79899be Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp2.mp3 new file mode 100644 index 0000000..f40c6ab Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp2.ogg new file mode 100644 index 0000000..98f974f Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp3.mp3 new file mode 100644 index 0000000..aed7fb9 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp3.ogg new file mode 100644 index 0000000..e20f11a Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/squid/squid_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp1.mp3 new file mode 100644 index 0000000..b593222 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp1.ogg new file mode 100644 index 0000000..7b89503 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp2.mp3 new file mode 100644 index 0000000..5526698 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp2.ogg new file mode 100644 index 0000000..d4e0335 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp3.mp3 new file mode 100644 index 0000000..36c27ad Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp3.ogg new file mode 100644 index 0000000..061e568 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/swablu/bird_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp1.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp1.mp3 new file mode 100644 index 0000000..71218fb Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp1.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp1.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp1.ogg new file mode 100644 index 0000000..cc3b3be Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp1.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp2.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp2.mp3 new file mode 100644 index 0000000..08665a5 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp2.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp2.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp2.ogg new file mode 100644 index 0000000..b67987b Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp2.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp3.mp3 b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp3.mp3 new file mode 100644 index 0000000..ddf9144 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp3.mp3 differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp3.ogg b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp3.ogg new file mode 100644 index 0000000..1c59565 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/sounds/train/train_burp3.ogg differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/McDonaldsLogo.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/McDonaldsLogo.png new file mode 100644 index 0000000..e793b72 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/McDonaldsLogo.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/McDonaldsLogoBranco.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/McDonaldsLogoBranco.png new file mode 100644 index 0000000..8431502 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/McDonaldsLogoBranco.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/Potato.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/Potato.png new file mode 100644 index 0000000..614989b Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/Potato.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/canudo.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/canudo.png new file mode 100644 index 0000000..1ae7e7c Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/canudo.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/chick.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/chick.png new file mode 100644 index 0000000..ac3c503 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/chick.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/chicken.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/chicken.png new file mode 100644 index 0000000..fb775f3 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/chicken.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/gible.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/gible.png new file mode 100644 index 0000000..a0643ef Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/gible.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/husky.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/husky.png new file mode 100644 index 0000000..c746ca8 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/husky.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/iron_golem.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/iron_golem.png new file mode 100644 index 0000000..1a4b1a0 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/iron_golem.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/kfc.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/kfc.png new file mode 100644 index 0000000..26ed692 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/kfc.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/lavender.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/lavender.png new file mode 100644 index 0000000..cf8a643 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/lavender.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/mooshroom.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/mooshroom.png new file mode 100644 index 0000000..3458ca7 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/mooshroom.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/nautilus.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/nautilus.png new file mode 100644 index 0000000..a67bb96 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/nautilus.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/patrick.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/patrick.png new file mode 100644 index 0000000..75083b2 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/patrick.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/pig.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/pig.png new file mode 100644 index 0000000..bd59fe1 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/pig.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/seal.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/seal.png new file mode 100644 index 0000000..f69c1e0 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/seal.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/shark.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/shark.png new file mode 100644 index 0000000..27f4167 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/shark.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/sheep.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/sheep.png new file mode 100644 index 0000000..38904c5 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/sheep.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/spider.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/spider.png new file mode 100644 index 0000000..fc8eabe Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/spider.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/squid.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/squid.png new file mode 100644 index 0000000..9a52681 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/squid.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/swablu.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/swablu.png new file mode 100644 index 0000000..e410cb9 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/swablu.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/topcopo.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/topcopo.png new file mode 100644 index 0000000..1615366 Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/topcopo.png differ diff --git a/stweaks-resourcepack/assets/hotbar_pets/textures/item/train.png b/stweaks-resourcepack/assets/hotbar_pets/textures/item/train.png new file mode 100644 index 0000000..982af3b Binary files /dev/null and b/stweaks-resourcepack/assets/hotbar_pets/textures/item/train.png differ diff --git a/stweaks-resourcepack/assets/minecraft/font/default.json b/stweaks-resourcepack/assets/minecraft/font/default.json new file mode 100644 index 0000000..6e053ad --- /dev/null +++ b/stweaks-resourcepack/assets/minecraft/font/default.json @@ -0,0 +1 @@ +{"providers":[{"file":"storytime:font/logo.png","chars":["\ua000"],"height":50,"ascent":10,"type":"bitmap"}]} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/minecraft/shaders/core/rendertype_text.fsh b/stweaks-resourcepack/assets/minecraft/shaders/core/rendertype_text.fsh new file mode 100644 index 0000000..1ce13f0 --- /dev/null +++ b/stweaks-resourcepack/assets/minecraft/shaders/core/rendertype_text.fsh @@ -0,0 +1,43 @@ +#version 330 + +#moj_import +#moj_import + +uniform sampler2D Sampler0; +uniform vec2 ScreenSize; + +in float sphericalVertexDistance; +in float cylindricalVertexDistance; +in vec4 vertexColor; +in vec2 texCoord0; + +out vec4 fragColor; + +void main() { + vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator; + if (color.a < 0.1) { + discard; + } + + fragColor = apply_fog( + color, + sphericalVertexDistance, + cylindricalVertexDistance, + FogEnvironmentalStart, + FogEnvironmentalEnd, + FogRenderDistanceStart, + FogRenderDistanceEnd, + FogColor + ); + + // Sidebar score remover condition. + if ( + ScreenSize.x - gl_FragCoord.x < 69.0 + && fragColor.a == 1.0 + && fragColor.r == 0.988235294 + && fragColor.g == 0.329411765 + && fragColor.b == 0.329411765 + ) { + discard; + } +} diff --git a/stweaks-resourcepack/assets/minecraft/sounds.json b/stweaks-resourcepack/assets/minecraft/sounds.json new file mode 100644 index 0000000..7ea2a64 --- /dev/null +++ b/stweaks-resourcepack/assets/minecraft/sounds.json @@ -0,0 +1,257 @@ +{ + "you_are_my_sunshine": { + "sounds": [ + { + "name": "themes/you_are_my_sunshine", + "stream": "true" + } + ] + }, + "gible": { + "sounds": [ + { + "name": "hotbar_pets:gible/gible_burp1" + }, + { + "name": "hotbar_pets:gible/gible_burp2" + }, + { + "name": "hotbar_pets:gible/gible_burp3" + } + ] + }, + "husky": { + "sounds": [ + { + "name": "hotbar_pets:husky/husky_burp1" + }, + { + "name": "hotbar_pets:husky/husky_burp2" + }, + { + "name": "hotbar_pets:husky/husky_burp3" + } + ] + }, + "kfc": { + "sounds": [ + { + "name": "hotbar_pets:kfc/kfc_burp1" + }, + { + "name": "hotbar_pets:kfc/kfc_burp2" + }, + { + "name": "hotbar_pets:kfc/kfc_burp3" + } + ] + }, + "mcdonalds": { + "sounds": [ + { + "name": "hotbar_pets:mcdonalds/mcdonalds_burp1" + }, + { + "name": "hotbar_pets:mcdonalds/mcdonalds_burp2" + }, + { + "name": "hotbar_pets:mcdonalds/mcdonalds_burp3" + } + ] + }, + "nautilus": { + "sounds": [ + { + "name": "hotbar_pets:nautilus/nautilus_burp1" + }, + { + "name": "hotbar_pets:nautilus/nautilus_burp2" + }, + { + "name": "hotbar_pets:nautilus/nautilus_burp3" + } + ] + }, + "patrick": { + "sounds": [ + { + "name": "hotbar_pets:patrick/patrick_burp1" + }, + { + "name": "hotbar_pets:patrick/patrick_burp2" + }, + { + "name": "hotbar_pets:patrick/patrick_burp3" + } + ] + }, + "seal": { + "sounds": [ + { + "name": "hotbar_pets:seal/seal_burp1" + }, + { + "name": "hotbar_pets:seal/seal_burp2" + }, + { + "name": "hotbar_pets:seal/seal_burp3" + } + ] + }, + "spider": { + "sounds": [ + { + "name": "hotbar_pets:spider/spider_burp1" + }, + { + "name": "hotbar_pets:spider/spider_burp2" + }, + { + "name": "hotbar_pets:spider/spider_burp3" + } + ] + }, + "swablu": { + "sounds": [ + { + "name": "hotbar_pets:swablu/swablu_burp1" + }, + { + "name": "hotbar_pets:swablu/swablu_burp2" + }, + { + "name": "hotbar_pets:swablu/swablu_burp3" + } + ] + }, + "train": { + "sounds": [ + { + "name": "hotbar_pets:train/train_burp1" + }, + { + "name": "hotbar_pets:train/train_burp2" + }, + { + "name": "hotbar_pets:train/train_burp3" + } + ] + }, + "shark": { + "sounds": [ + { + "name": "hotbar_pets:shark/shark_burp1" + }, + { + "name": "hotbar_pets:shark/shark_burp2" + }, + { + "name": "hotbar_pets:shark/shark_burp3" + } + ] + }, + "chick": { + "sounds": [ + { + "name": "hotbar_pets:chick/chick_burp1" + }, + { + "name": "hotbar_pets:chick/chick_burp2" + }, + { + "name": "hotbar_pets:chick/chick_burp3" + } + ] + }, + "squid": { + "sounds": [ + { + "name": "hotbar_pets:squid/squid_burp1" + }, + { + "name": "hotbar_pets:squid/squid_burp2" + }, + { + "name": "hotbar_pets:squid/squid_burp3" + } + ] + }, + "pig": { + "sounds": [ + { + "name": "hotbar_pets:pig/pig_burp1" + }, + { + "name": "hotbar_pets:pig/pig_burp2" + }, + { + "name": "hotbar_pets:pig/pig_burp3" + } + ] + }, + "sheep": { + "sounds": [ + { + "name": "hotbar_pets:sheep/sheep_burp1" + }, + { + "name": "hotbar_pets:sheep/sheep_burp2" + }, + { + "name": "hotbar_pets:sheep/sheep_burp3" + } + ] + }, + "lavender": { + "sounds": [ + { + "name": "hotbar_pets:lavender/lavender_burp1" + }, + { + "name": "hotbar_pets:lavender/lavender_burp2" + }, + { + "name": "hotbar_pets:lavender/lavender_burp3" + } + ] + }, + "chicken": { + "sounds": [ + { + "name": "hotbar_pets:chicken/chicken_burp1" + }, + { + "name": "hotbar_pets:chicken/chicken_burp2" + }, + { + "name": "hotbar_pets:chicken/chicken_burp3" + } + ] + }, + "iron_golem": { + "sounds": [ + { + "name": "iron_golem/iron_golem_burp1" + }, + { + "name": "iron_golem/iron_golem_burp2" + }, + { + "name": "iron_golem/iron_golem_burp3" + } + ] + }, + "mooshroom": { + "sounds": [ + { + "name": "hotbar_pets:mooshroom/mooshroom_burp1" + }, + { + "name": "hotbar_pets:mooshroom/mooshroom_burp2" + }, + { + "name": "hotbar_pets:mooshroom/mooshroom_burp3" + } + ] + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/minecraft/sounds/themes/you_are_my_sunshine.ogg b/stweaks-resourcepack/assets/minecraft/sounds/themes/you_are_my_sunshine.ogg new file mode 100644 index 0000000..90aaab8 Binary files /dev/null and b/stweaks-resourcepack/assets/minecraft/sounds/themes/you_are_my_sunshine.ogg differ diff --git a/stweaks-resourcepack/assets/mini_sus/items/mini_sus_black.json b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_black.json new file mode 100644 index 0000000..c5eecc4 --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_black.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "mini_sus:item/mini_sus_black" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/items/mini_sus_blue.json b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_blue.json new file mode 100644 index 0000000..b5b865e --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_blue.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "mini_sus:item/mini_sus_blue" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/items/mini_sus_green.json b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_green.json new file mode 100644 index 0000000..e093cf0 --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_green.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "mini_sus:item/mini_sus_green" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/items/mini_sus_purple.json b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_purple.json new file mode 100644 index 0000000..e85a46e --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_purple.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "mini_sus:item/mini_sus_purple" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/items/mini_sus_red.json b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_red.json new file mode 100644 index 0000000..bf3167c --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_red.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "mini_sus:item/mini_sus_red" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/items/mini_sus_white.json b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_white.json new file mode 100644 index 0000000..0002788 --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_white.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "mini_sus:item/mini_sus_white" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/items/mini_sus_yellow.json b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_yellow.json new file mode 100644 index 0000000..c13f7bc --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/items/mini_sus_yellow.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "mini_sus:item/mini_sus_yellow" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_black.json b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_black.json new file mode 100644 index 0000000..0617bd3 --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_black.json @@ -0,0 +1,118 @@ +{ + "credit": "Made By Rehiga", + "texture_size": [32, 32], + "textures": { + "0": "mini_sus:item/mini_sus_black" + }, + "elements": [ + { + "from": [6.5, 2, 8], + "to": [9.5, 6, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [5, 1.5, 6.5, 3.5], "texture": "#0"}, + "east": {"uv": [4.5, 6, 5, 8], "texture": "#0"}, + "south": {"uv": [3, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [5, 6, 5.5, 8], "texture": "#0"}, + "up": {"uv": [9, 2.5, 7.5, 2], "texture": "#0"}, + "down": {"uv": [9, 2.5, 7.5, 3], "texture": "#0"} + } + }, + { + "from": [8.5, 0, 4], + "to": [10.5, 2, 6], + "faces": { + "north": {"uv": [5.5, 6, 6.5, 7], "texture": "#0"}, + "east": {"uv": [6.5, 1.5, 7.5, 2.5], "texture": "#0"}, + "south": {"uv": [6.5, 2.5, 7.5, 3.5], "texture": "#0"}, + "west": {"uv": [6.5, 4.5, 7.5, 5.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.5, 6.5, 5.5], "texture": "#0"}, + "down": {"uv": [7.5, 6.5, 6.5, 7.5], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 4], + "to": [7.5, 2, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0, 7, 1, 8], "texture": "#0"}, + "east": {"uv": [1, 7, 2, 8], "texture": "#0"}, + "south": {"uv": [2, 7, 3, 8], "texture": "#0"}, + "west": {"uv": [3, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [6.5, 8, 5.5, 7], "texture": "#0"}, + "down": {"uv": [8.5, 0, 7.5, 1], "texture": "#0"} + } + }, + { + "from": [6, 4, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [4.5, 5, 6.5, 6], "texture": "#0"}, + "east": {"uv": [4, 7, 4.5, 8], "texture": "#0"}, + "south": {"uv": [5.5, 3.5, 7.5, 4.5], "texture": "#0"}, + "west": {"uv": [7.5, 3, 8, 4], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 7.5, 1], "texture": "#0"}, + "down": {"uv": [9.5, 1.5, 7.5, 2], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 6], + "to": [10.5, 7, 8], + "faces": { + "north": {"uv": [0, 0, 2.5, 3.5], "texture": "#0"}, + "east": {"uv": [0, 3.5, 1.5, 7], "texture": "#0"}, + "south": {"uv": [2.5, 0, 5, 3.5], "texture": "#0"}, + "west": {"uv": [1.5, 3.5, 3, 7], "texture": "#0"}, + "up": {"uv": [5.5, 5, 3, 3.5], "texture": "#0"}, + "down": {"uv": [7.5, 0, 5, 1.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 4, 0] + }, + "gui": { + "rotation": [6, -131, 0], + "translation": [1, 3.75, 0], + "scale": [1.4, 1.4, 1.4] + }, + "head": { + "translation": [0, 16, 0], + "scale": [1.2, 1.2, 1.2] + }, + "fixed": { + "translation": [0, 7.5, -1.25], + "scale": [1.5, 1.5, 1.5] + } + }, + "groups": [ + { + "name": "topi_sus", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_blue.json b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_blue.json new file mode 100644 index 0000000..c554bab --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_blue.json @@ -0,0 +1,118 @@ +{ + "credit": "Made By Rehiga", + "texture_size": [32, 32], + "textures": { + "0": "mini_sus:item/mini_sus_blue" + }, + "elements": [ + { + "from": [6.5, 2, 8], + "to": [9.5, 6, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [5, 1.5, 6.5, 3.5], "texture": "#0"}, + "east": {"uv": [4.5, 6, 5, 8], "texture": "#0"}, + "south": {"uv": [3, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [5, 6, 5.5, 8], "texture": "#0"}, + "up": {"uv": [9, 2.5, 7.5, 2], "texture": "#0"}, + "down": {"uv": [9, 2.5, 7.5, 3], "texture": "#0"} + } + }, + { + "from": [8.5, 0, 4], + "to": [10.5, 2, 6], + "faces": { + "north": {"uv": [5.5, 6, 6.5, 7], "texture": "#0"}, + "east": {"uv": [6.5, 1.5, 7.5, 2.5], "texture": "#0"}, + "south": {"uv": [6.5, 2.5, 7.5, 3.5], "texture": "#0"}, + "west": {"uv": [6.5, 4.5, 7.5, 5.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.5, 6.5, 5.5], "texture": "#0"}, + "down": {"uv": [7.5, 6.5, 6.5, 7.5], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 4], + "to": [7.5, 2, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0, 7, 1, 8], "texture": "#0"}, + "east": {"uv": [1, 7, 2, 8], "texture": "#0"}, + "south": {"uv": [2, 7, 3, 8], "texture": "#0"}, + "west": {"uv": [3, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [6.5, 8, 5.5, 7], "texture": "#0"}, + "down": {"uv": [8.5, 0, 7.5, 1], "texture": "#0"} + } + }, + { + "from": [6, 4, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [4.5, 5, 6.5, 6], "texture": "#0"}, + "east": {"uv": [4, 7, 4.5, 8], "texture": "#0"}, + "south": {"uv": [5.5, 3.5, 7.5, 4.5], "texture": "#0"}, + "west": {"uv": [7.5, 3, 8, 4], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 7.5, 1], "texture": "#0"}, + "down": {"uv": [9.5, 1.5, 7.5, 2], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 6], + "to": [10.5, 7, 8], + "faces": { + "north": {"uv": [0, 0, 2.5, 3.5], "texture": "#0"}, + "east": {"uv": [0, 3.5, 1.5, 7], "texture": "#0"}, + "south": {"uv": [2.5, 0, 5, 3.5], "texture": "#0"}, + "west": {"uv": [1.5, 3.5, 3, 7], "texture": "#0"}, + "up": {"uv": [5.5, 5, 3, 3.5], "texture": "#0"}, + "down": {"uv": [7.5, 0, 5, 1.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 4, 0] + }, + "gui": { + "rotation": [6, -131, 0], + "translation": [1, 3.75, 0], + "scale": [1.4, 1.4, 1.4] + }, + "head": { + "translation": [0, 16, 0], + "scale": [1.2, 1.2, 1.2] + }, + "fixed": { + "translation": [0, 7.5, -1.25], + "scale": [1.5, 1.5, 1.5] + } + }, + "groups": [ + { + "name": "topi_sus", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_green.json b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_green.json new file mode 100644 index 0000000..4011bb0 --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_green.json @@ -0,0 +1,118 @@ +{ + "credit": "Made By Rehiga", + "texture_size": [32, 32], + "textures": { + "0": "mini_sus:item/mini_sus_green" + }, + "elements": [ + { + "from": [6.5, 2, 8], + "to": [9.5, 6, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [5, 1.5, 6.5, 3.5], "texture": "#0"}, + "east": {"uv": [4.5, 6, 5, 8], "texture": "#0"}, + "south": {"uv": [3, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [5, 6, 5.5, 8], "texture": "#0"}, + "up": {"uv": [9, 2.5, 7.5, 2], "texture": "#0"}, + "down": {"uv": [9, 2.5, 7.5, 3], "texture": "#0"} + } + }, + { + "from": [8.5, 0, 4], + "to": [10.5, 2, 6], + "faces": { + "north": {"uv": [5.5, 6, 6.5, 7], "texture": "#0"}, + "east": {"uv": [6.5, 1.5, 7.5, 2.5], "texture": "#0"}, + "south": {"uv": [6.5, 2.5, 7.5, 3.5], "texture": "#0"}, + "west": {"uv": [6.5, 4.5, 7.5, 5.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.5, 6.5, 5.5], "texture": "#0"}, + "down": {"uv": [7.5, 6.5, 6.5, 7.5], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 4], + "to": [7.5, 2, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0, 7, 1, 8], "texture": "#0"}, + "east": {"uv": [1, 7, 2, 8], "texture": "#0"}, + "south": {"uv": [2, 7, 3, 8], "texture": "#0"}, + "west": {"uv": [3, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [6.5, 8, 5.5, 7], "texture": "#0"}, + "down": {"uv": [8.5, 0, 7.5, 1], "texture": "#0"} + } + }, + { + "from": [6, 4, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [4.5, 5, 6.5, 6], "texture": "#0"}, + "east": {"uv": [4, 7, 4.5, 8], "texture": "#0"}, + "south": {"uv": [5.5, 3.5, 7.5, 4.5], "texture": "#0"}, + "west": {"uv": [7.5, 3, 8, 4], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 7.5, 1], "texture": "#0"}, + "down": {"uv": [9.5, 1.5, 7.5, 2], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 6], + "to": [10.5, 7, 8], + "faces": { + "north": {"uv": [0, 0, 2.5, 3.5], "texture": "#0"}, + "east": {"uv": [0, 3.5, 1.5, 7], "texture": "#0"}, + "south": {"uv": [2.5, 0, 5, 3.5], "texture": "#0"}, + "west": {"uv": [1.5, 3.5, 3, 7], "texture": "#0"}, + "up": {"uv": [5.5, 5, 3, 3.5], "texture": "#0"}, + "down": {"uv": [7.5, 0, 5, 1.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 4, 0] + }, + "gui": { + "rotation": [6, -131, 0], + "translation": [1, 3.75, 0], + "scale": [1.4, 1.4, 1.4] + }, + "head": { + "translation": [0, 16, 0], + "scale": [1.2, 1.2, 1.2] + }, + "fixed": { + "translation": [0, 7.5, -1.25], + "scale": [1.5, 1.5, 1.5] + } + }, + "groups": [ + { + "name": "topi_sus", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_purple.json b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_purple.json new file mode 100644 index 0000000..d1a5528 --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_purple.json @@ -0,0 +1,118 @@ +{ + "credit": "Made By Rehiga", + "texture_size": [32, 32], + "textures": { + "0": "mini_sus:item/mini_sus_purple" + }, + "elements": [ + { + "from": [6.5, 2, 8], + "to": [9.5, 6, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [5, 1.5, 6.5, 3.5], "texture": "#0"}, + "east": {"uv": [4.5, 6, 5, 8], "texture": "#0"}, + "south": {"uv": [3, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [5, 6, 5.5, 8], "texture": "#0"}, + "up": {"uv": [9, 2.5, 7.5, 2], "texture": "#0"}, + "down": {"uv": [9, 2.5, 7.5, 3], "texture": "#0"} + } + }, + { + "from": [8.5, 0, 4], + "to": [10.5, 2, 6], + "faces": { + "north": {"uv": [5.5, 6, 6.5, 7], "texture": "#0"}, + "east": {"uv": [6.5, 1.5, 7.5, 2.5], "texture": "#0"}, + "south": {"uv": [6.5, 2.5, 7.5, 3.5], "texture": "#0"}, + "west": {"uv": [6.5, 4.5, 7.5, 5.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.5, 6.5, 5.5], "texture": "#0"}, + "down": {"uv": [7.5, 6.5, 6.5, 7.5], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 4], + "to": [7.5, 2, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0, 7, 1, 8], "texture": "#0"}, + "east": {"uv": [1, 7, 2, 8], "texture": "#0"}, + "south": {"uv": [2, 7, 3, 8], "texture": "#0"}, + "west": {"uv": [3, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [6.5, 8, 5.5, 7], "texture": "#0"}, + "down": {"uv": [8.5, 0, 7.5, 1], "texture": "#0"} + } + }, + { + "from": [6, 4, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [4.5, 5, 6.5, 6], "texture": "#0"}, + "east": {"uv": [4, 7, 4.5, 8], "texture": "#0"}, + "south": {"uv": [5.5, 3.5, 7.5, 4.5], "texture": "#0"}, + "west": {"uv": [7.5, 3, 8, 4], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 7.5, 1], "texture": "#0"}, + "down": {"uv": [9.5, 1.5, 7.5, 2], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 6], + "to": [10.5, 7, 8], + "faces": { + "north": {"uv": [0, 0, 2.5, 3.5], "texture": "#0"}, + "east": {"uv": [0, 3.5, 1.5, 7], "texture": "#0"}, + "south": {"uv": [2.5, 0, 5, 3.5], "texture": "#0"}, + "west": {"uv": [1.5, 3.5, 3, 7], "texture": "#0"}, + "up": {"uv": [5.5, 5, 3, 3.5], "texture": "#0"}, + "down": {"uv": [7.5, 0, 5, 1.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 4, 0] + }, + "gui": { + "rotation": [6, -131, 0], + "translation": [1, 3.75, 0], + "scale": [1.4, 1.4, 1.4] + }, + "head": { + "translation": [0, 16, 0], + "scale": [1.2, 1.2, 1.2] + }, + "fixed": { + "translation": [0, 7.5, -1.25], + "scale": [1.5, 1.5, 1.5] + } + }, + "groups": [ + { + "name": "topi_sus", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_red.json b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_red.json new file mode 100644 index 0000000..9fd10ab --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_red.json @@ -0,0 +1,118 @@ +{ + "credit": "Made By Rehiga", + "texture_size": [32, 32], + "textures": { + "0": "mini_sus:item/mini_sus_red" + }, + "elements": [ + { + "from": [6.5, 2, 8], + "to": [9.5, 6, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [5, 1.5, 6.5, 3.5], "texture": "#0"}, + "east": {"uv": [4.5, 6, 5, 8], "texture": "#0"}, + "south": {"uv": [3, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [5, 6, 5.5, 8], "texture": "#0"}, + "up": {"uv": [9, 2.5, 7.5, 2], "texture": "#0"}, + "down": {"uv": [9, 2.5, 7.5, 3], "texture": "#0"} + } + }, + { + "from": [8.5, 0, 4], + "to": [10.5, 2, 6], + "faces": { + "north": {"uv": [5.5, 6, 6.5, 7], "texture": "#0"}, + "east": {"uv": [6.5, 1.5, 7.5, 2.5], "texture": "#0"}, + "south": {"uv": [6.5, 2.5, 7.5, 3.5], "texture": "#0"}, + "west": {"uv": [6.5, 4.5, 7.5, 5.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.5, 6.5, 5.5], "texture": "#0"}, + "down": {"uv": [7.5, 6.5, 6.5, 7.5], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 4], + "to": [7.5, 2, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0, 7, 1, 8], "texture": "#0"}, + "east": {"uv": [1, 7, 2, 8], "texture": "#0"}, + "south": {"uv": [2, 7, 3, 8], "texture": "#0"}, + "west": {"uv": [3, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [6.5, 8, 5.5, 7], "texture": "#0"}, + "down": {"uv": [8.5, 0, 7.5, 1], "texture": "#0"} + } + }, + { + "from": [6, 4, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [4.5, 5, 6.5, 6], "texture": "#0"}, + "east": {"uv": [4, 7, 4.5, 8], "texture": "#0"}, + "south": {"uv": [5.5, 3.5, 7.5, 4.5], "texture": "#0"}, + "west": {"uv": [7.5, 3, 8, 4], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 7.5, 1], "texture": "#0"}, + "down": {"uv": [9.5, 1.5, 7.5, 2], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 6], + "to": [10.5, 7, 8], + "faces": { + "north": {"uv": [0, 0, 2.5, 3.5], "texture": "#0"}, + "east": {"uv": [0, 3.5, 1.5, 7], "texture": "#0"}, + "south": {"uv": [2.5, 0, 5, 3.5], "texture": "#0"}, + "west": {"uv": [1.5, 3.5, 3, 7], "texture": "#0"}, + "up": {"uv": [5.5, 5, 3, 3.5], "texture": "#0"}, + "down": {"uv": [7.5, 0, 5, 1.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 4, 0] + }, + "gui": { + "rotation": [6, -131, 0], + "translation": [1, 3.75, 0], + "scale": [1.4, 1.4, 1.4] + }, + "head": { + "translation": [0, 16, 0], + "scale": [1.2, 1.2, 1.2] + }, + "fixed": { + "translation": [0, 7.5, -1.25], + "scale": [1.5, 1.5, 1.5] + } + }, + "groups": [ + { + "name": "topi_sus", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_white.json b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_white.json new file mode 100644 index 0000000..4532a51 --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_white.json @@ -0,0 +1,118 @@ +{ + "credit": "Made By Rehiga", + "texture_size": [32, 32], + "textures": { + "0": "mini_sus:item/mini_sus_white" + }, + "elements": [ + { + "from": [6.5, 2, 8], + "to": [9.5, 6, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [5, 1.5, 6.5, 3.5], "texture": "#0"}, + "east": {"uv": [4.5, 6, 5, 8], "texture": "#0"}, + "south": {"uv": [3, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [5, 6, 5.5, 8], "texture": "#0"}, + "up": {"uv": [9, 2.5, 7.5, 2], "texture": "#0"}, + "down": {"uv": [9, 2.5, 7.5, 3], "texture": "#0"} + } + }, + { + "from": [8.5, 0, 4], + "to": [10.5, 2, 6], + "faces": { + "north": {"uv": [5.5, 6, 6.5, 7], "texture": "#0"}, + "east": {"uv": [6.5, 1.5, 7.5, 2.5], "texture": "#0"}, + "south": {"uv": [6.5, 2.5, 7.5, 3.5], "texture": "#0"}, + "west": {"uv": [6.5, 4.5, 7.5, 5.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.5, 6.5, 5.5], "texture": "#0"}, + "down": {"uv": [7.5, 6.5, 6.5, 7.5], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 4], + "to": [7.5, 2, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0, 7, 1, 8], "texture": "#0"}, + "east": {"uv": [1, 7, 2, 8], "texture": "#0"}, + "south": {"uv": [2, 7, 3, 8], "texture": "#0"}, + "west": {"uv": [3, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [6.5, 8, 5.5, 7], "texture": "#0"}, + "down": {"uv": [8.5, 0, 7.5, 1], "texture": "#0"} + } + }, + { + "from": [6, 4, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [4.5, 5, 6.5, 6], "texture": "#0"}, + "east": {"uv": [4, 7, 4.5, 8], "texture": "#0"}, + "south": {"uv": [5.5, 3.5, 7.5, 4.5], "texture": "#0"}, + "west": {"uv": [7.5, 3, 8, 4], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 7.5, 1], "texture": "#0"}, + "down": {"uv": [9.5, 1.5, 7.5, 2], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 6], + "to": [10.5, 7, 8], + "faces": { + "north": {"uv": [0, 0, 2.5, 3.5], "texture": "#0"}, + "east": {"uv": [0, 3.5, 1.5, 7], "texture": "#0"}, + "south": {"uv": [2.5, 0, 5, 3.5], "texture": "#0"}, + "west": {"uv": [1.5, 3.5, 3, 7], "texture": "#0"}, + "up": {"uv": [5.5, 5, 3, 3.5], "texture": "#0"}, + "down": {"uv": [7.5, 0, 5, 1.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 4, 0] + }, + "gui": { + "rotation": [6, -131, 0], + "translation": [1, 3.75, 0], + "scale": [1.4, 1.4, 1.4] + }, + "head": { + "translation": [0, 16, 0], + "scale": [1.2, 1.2, 1.2] + }, + "fixed": { + "translation": [0, 7.5, -1.25], + "scale": [1.5, 1.5, 1.5] + } + }, + "groups": [ + { + "name": "topi_sus", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_yellow.json b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_yellow.json new file mode 100644 index 0000000..5ccee5c --- /dev/null +++ b/stweaks-resourcepack/assets/mini_sus/models/item/mini_sus_yellow.json @@ -0,0 +1,118 @@ +{ + "credit": "Made By Rehiga", + "texture_size": [32, 32], + "textures": { + "0": "mini_sus:item/mini_sus_yellow" + }, + "elements": [ + { + "from": [6.5, 2, 8], + "to": [9.5, 6, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [5, 1.5, 6.5, 3.5], "texture": "#0"}, + "east": {"uv": [4.5, 6, 5, 8], "texture": "#0"}, + "south": {"uv": [3, 5, 4.5, 7], "texture": "#0"}, + "west": {"uv": [5, 6, 5.5, 8], "texture": "#0"}, + "up": {"uv": [9, 2.5, 7.5, 2], "texture": "#0"}, + "down": {"uv": [9, 2.5, 7.5, 3], "texture": "#0"} + } + }, + { + "from": [8.5, 0, 4], + "to": [10.5, 2, 6], + "faces": { + "north": {"uv": [5.5, 6, 6.5, 7], "texture": "#0"}, + "east": {"uv": [6.5, 1.5, 7.5, 2.5], "texture": "#0"}, + "south": {"uv": [6.5, 2.5, 7.5, 3.5], "texture": "#0"}, + "west": {"uv": [6.5, 4.5, 7.5, 5.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.5, 6.5, 5.5], "texture": "#0"}, + "down": {"uv": [7.5, 6.5, 6.5, 7.5], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 4], + "to": [7.5, 2, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [0, 7, 1, 8], "texture": "#0"}, + "east": {"uv": [1, 7, 2, 8], "texture": "#0"}, + "south": {"uv": [2, 7, 3, 8], "texture": "#0"}, + "west": {"uv": [3, 7, 4, 8], "texture": "#0"}, + "up": {"uv": [6.5, 8, 5.5, 7], "texture": "#0"}, + "down": {"uv": [8.5, 0, 7.5, 1], "texture": "#0"} + } + }, + { + "from": [6, 4, 5], + "to": [10, 6, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [4.5, 5, 6.5, 6], "texture": "#0"}, + "east": {"uv": [4, 7, 4.5, 8], "texture": "#0"}, + "south": {"uv": [5.5, 3.5, 7.5, 4.5], "texture": "#0"}, + "west": {"uv": [7.5, 3, 8, 4], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 7.5, 1], "texture": "#0"}, + "down": {"uv": [9.5, 1.5, 7.5, 2], "texture": "#0"} + } + }, + { + "from": [5.5, 0, 6], + "to": [10.5, 7, 8], + "faces": { + "north": {"uv": [0, 0, 2.5, 3.5], "texture": "#0"}, + "east": {"uv": [0, 3.5, 1.5, 7], "texture": "#0"}, + "south": {"uv": [2.5, 0, 5, 3.5], "texture": "#0"}, + "west": {"uv": [1.5, 3.5, 3, 7], "texture": "#0"}, + "up": {"uv": [5.5, 5, 3, 3.5], "texture": "#0"}, + "down": {"uv": [7.5, 0, 5, 1.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [69, 0, 0], + "translation": [0, 2.25, 6], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_lefthand": { + "rotation": [0, -180, 0], + "translation": [0.6, 7.95, 0.9], + "scale": [0.8, 0.8, 0.8] + }, + "ground": { + "translation": [0, 4, 0] + }, + "gui": { + "rotation": [6, -131, 0], + "translation": [1, 3.75, 0], + "scale": [1.4, 1.4, 1.4] + }, + "head": { + "translation": [0, 16, 0], + "scale": [1.2, 1.2, 1.2] + }, + "fixed": { + "translation": [0, 7.5, -1.25], + "scale": [1.5, 1.5, 1.5] + } + }, + "groups": [ + { + "name": "topi_sus", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_black.png b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_black.png new file mode 100644 index 0000000..0718457 Binary files /dev/null and b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_black.png differ diff --git a/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_blue.png b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_blue.png new file mode 100644 index 0000000..a20dbf9 Binary files /dev/null and b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_blue.png differ diff --git a/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_green.png b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_green.png new file mode 100644 index 0000000..4de3d43 Binary files /dev/null and b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_green.png differ diff --git a/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_purple.png b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_purple.png new file mode 100644 index 0000000..f351f68 Binary files /dev/null and b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_purple.png differ diff --git a/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_red.png b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_red.png new file mode 100644 index 0000000..1f247f1 Binary files /dev/null and b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_red.png differ diff --git a/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_white.png b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_white.png new file mode 100644 index 0000000..4dca575 Binary files /dev/null and b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_white.png differ diff --git a/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_yellow.png b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_yellow.png new file mode 100644 index 0000000..f5c6a51 Binary files /dev/null and b/stweaks-resourcepack/assets/mini_sus/textures/item/mini_sus_yellow.png differ diff --git a/stweaks-resourcepack/assets/repohats/items/repohatblack.json b/stweaks-resourcepack/assets/repohats/items/repohatblack.json new file mode 100644 index 0000000..0473d40 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatblack.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatblack" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatblackcrown.json b/stweaks-resourcepack/assets/repohats/items/repohatblackcrown.json new file mode 100644 index 0000000..b1d61d8 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatblackcrown.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatblackcrown" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatblue.json b/stweaks-resourcepack/assets/repohats/items/repohatblue.json new file mode 100644 index 0000000..5c774d2 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatblue.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatblue" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatbluecrown.json b/stweaks-resourcepack/assets/repohats/items/repohatbluecrown.json new file mode 100644 index 0000000..d48810b --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatbluecrown.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatbluecrown" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatgreen.json b/stweaks-resourcepack/assets/repohats/items/repohatgreen.json new file mode 100644 index 0000000..a564d78 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatgreen.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatgreen" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatgreencrown.json b/stweaks-resourcepack/assets/repohats/items/repohatgreencrown.json new file mode 100644 index 0000000..117f55b --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatgreencrown.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatgreencrown" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatpink.json b/stweaks-resourcepack/assets/repohats/items/repohatpink.json new file mode 100644 index 0000000..373a2ec --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatpink.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatpink" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatpinkcrown.json b/stweaks-resourcepack/assets/repohats/items/repohatpinkcrown.json new file mode 100644 index 0000000..4b2a915 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatpinkcrown.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatpinkcrown" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatpurple.json b/stweaks-resourcepack/assets/repohats/items/repohatpurple.json new file mode 100644 index 0000000..3118d23 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatpurple.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatpurple" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatpurplecrown.json b/stweaks-resourcepack/assets/repohats/items/repohatpurplecrown.json new file mode 100644 index 0000000..69c8ea0 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatpurplecrown.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatpurplecrown" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatred.json b/stweaks-resourcepack/assets/repohats/items/repohatred.json new file mode 100644 index 0000000..a531663 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatred.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatred" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatredcrown.json b/stweaks-resourcepack/assets/repohats/items/repohatredcrown.json new file mode 100644 index 0000000..befdcdc --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatredcrown.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatredcrown" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatwhite.json b/stweaks-resourcepack/assets/repohats/items/repohatwhite.json new file mode 100644 index 0000000..b7419a5 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatwhite.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatwhite" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatwhitecrown.json b/stweaks-resourcepack/assets/repohats/items/repohatwhitecrown.json new file mode 100644 index 0000000..c22ac96 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatwhitecrown.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatwhitecrown" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatyellow.json b/stweaks-resourcepack/assets/repohats/items/repohatyellow.json new file mode 100644 index 0000000..280a27f --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatyellow.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatyellow" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/items/repohatyellowcrown.json b/stweaks-resourcepack/assets/repohats/items/repohatyellowcrown.json new file mode 100644 index 0000000..ff86c49 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/items/repohatyellowcrown.json @@ -0,0 +1,7 @@ +{ + "model": { + "type": "minecraft:model", + "model": "repohats:item/repohatyellowcrown" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatblack.json b/stweaks-resourcepack/assets/repohats/models/item/repohatblack.json new file mode 100644 index 0000000..8f10ceb --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatblack.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatblackcrown", + "particle": "repohats:item/repohatblackcrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatblackcrown.json b/stweaks-resourcepack/assets/repohats/models/item/repohatblackcrown.json new file mode 100644 index 0000000..1664fea --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatblackcrown.json @@ -0,0 +1,125 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatblackcrown", + "particle": "repohats:item/repohatblackcrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + }, + { + "from": [5.625, 15, 6.25], + "to": [9.125, 18.5, 9.75], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "east": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "south": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "west": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [9.125, 18.5, 9.75], + "to": [5.625, 15, 6.25], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "east": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "south": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "west": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatblue.json b/stweaks-resourcepack/assets/repohats/models/item/repohatblue.json new file mode 100644 index 0000000..6d027e8 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatblue.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatbluecrown", + "particle": "repohats:item/repohatbluecrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatbluecrown.json b/stweaks-resourcepack/assets/repohats/models/item/repohatbluecrown.json new file mode 100644 index 0000000..c557df2 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatbluecrown.json @@ -0,0 +1,125 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatbluecrown", + "particle": "repohats:item/repohatbluecrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + }, + { + "from": [5.625, 15, 6.25], + "to": [9.125, 18.5, 9.75], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "east": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "south": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "west": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [9.125, 18.5, 9.75], + "to": [5.625, 15, 6.25], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "east": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "south": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "west": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatgreen.json b/stweaks-resourcepack/assets/repohats/models/item/repohatgreen.json new file mode 100644 index 0000000..3fe163d --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatgreen.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatgreencrown", + "particle": "repohats:item/repohatgreencrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatgreencrown.json b/stweaks-resourcepack/assets/repohats/models/item/repohatgreencrown.json new file mode 100644 index 0000000..ff5a3d5 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatgreencrown.json @@ -0,0 +1,125 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatgreencrown", + "particle": "repohats:item/repohatgreencrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + }, + { + "from": [5.625, 15, 6.25], + "to": [9.125, 18.5, 9.75], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "east": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "south": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "west": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [9.125, 18.5, 9.75], + "to": [5.625, 15, 6.25], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "east": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "south": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "west": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatpink.json b/stweaks-resourcepack/assets/repohats/models/item/repohatpink.json new file mode 100644 index 0000000..df71441 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatpink.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatpinkcrown", + "particle": "repohats:item/repohatpinkcrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatpinkcrown.json b/stweaks-resourcepack/assets/repohats/models/item/repohatpinkcrown.json new file mode 100644 index 0000000..92d1cb9 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatpinkcrown.json @@ -0,0 +1,125 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatpinkcrown", + "particle": "repohats:item/repohatpinkcrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + }, + { + "from": [5.625, 15, 6.25], + "to": [9.125, 18.5, 9.75], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "east": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "south": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "west": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [9.125, 18.5, 9.75], + "to": [5.625, 15, 6.25], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "east": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "south": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "west": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatpurple.json b/stweaks-resourcepack/assets/repohats/models/item/repohatpurple.json new file mode 100644 index 0000000..b7f9ca1 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatpurple.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatpurplecrown", + "particle": "repohats:item/repohatpurplecrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatpurplecrown.json b/stweaks-resourcepack/assets/repohats/models/item/repohatpurplecrown.json new file mode 100644 index 0000000..800d93d --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatpurplecrown.json @@ -0,0 +1,125 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatpurplecrown", + "particle": "repohats:item/repohatpurplecrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + }, + { + "from": [5.625, 15, 6.25], + "to": [9.125, 18.5, 9.75], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "east": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "south": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "west": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [9.125, 18.5, 9.75], + "to": [5.625, 15, 6.25], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "east": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "south": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "west": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatred.json b/stweaks-resourcepack/assets/repohats/models/item/repohatred.json new file mode 100644 index 0000000..bc7ff7f --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatred.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatredcrown", + "particle": "repohats:item/repohatredcrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatredcrown.json b/stweaks-resourcepack/assets/repohats/models/item/repohatredcrown.json new file mode 100644 index 0000000..879273c --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatredcrown.json @@ -0,0 +1,125 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatredcrown", + "particle": "repohats:item/repohatredcrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + }, + { + "from": [5.625, 15, 6.25], + "to": [9.125, 18.5, 9.75], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "east": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "south": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "west": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [9.125, 18.5, 9.75], + "to": [5.625, 15, 6.25], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "east": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "south": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "west": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatwhite.json b/stweaks-resourcepack/assets/repohats/models/item/repohatwhite.json new file mode 100644 index 0000000..69f1f05 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatwhite.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatwhitecrown", + "particle": "repohats:item/repohatwhitecrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatwhitecrown.json b/stweaks-resourcepack/assets/repohats/models/item/repohatwhitecrown.json new file mode 100644 index 0000000..ba65b33 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatwhitecrown.json @@ -0,0 +1,125 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatwhitecrown", + "particle": "repohats:item/repohatwhitecrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + }, + { + "from": [5.625, 15, 6.25], + "to": [9.125, 18.5, 9.75], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "east": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "south": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "west": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [9.125, 18.5, 9.75], + "to": [5.625, 15, 6.25], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "east": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "south": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "west": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatyellow.json b/stweaks-resourcepack/assets/repohats/models/item/repohatyellow.json new file mode 100644 index 0000000..10a02e5 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatyellow.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatyellowcrown", + "particle": "repohats:item/repohatyellowcrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/models/item/repohatyellowcrown.json b/stweaks-resourcepack/assets/repohats/models/item/repohatyellowcrown.json new file mode 100644 index 0000000..edf4b37 --- /dev/null +++ b/stweaks-resourcepack/assets/repohats/models/item/repohatyellowcrown.json @@ -0,0 +1,125 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "repohats:item/repohatyellowcrown", + "particle": "repohats:item/repohatyellowcrown" + }, + "elements": [ + { + "from": [1, 8, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 0, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [3.25, 4.5, 6.25, 6.75], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 8.25], "texture": "#0"}, + "up": {"uv": [3.25, 3, 0, 0], "texture": "#0"}, + "down": {"uv": [3.25, 3, 0, 6], "texture": "#0"} + } + }, + { + "from": [9, 10, 1], + "to": [13, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 0, 13.25, 1.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.25, 7], "texture": "#0"}, + "south": {"uv": [6.25, 5.5, 7.25, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 2, 6.75, 3], "texture": "#0"}, + "up": {"uv": [7.5, 3.25, 6.5, 3], "texture": "#0"}, + "down": {"uv": [7.5, 3.25, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [2, 10, 1], + "to": [6, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 7, -5]}, + "faces": { + "north": {"uv": [11.75, 1.75, 13.25, 3.25], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 6.75, 4.5], "texture": "#0"}, + "south": {"uv": [6.5, 1, 7.5, 2], "texture": "#0"}, + "west": {"uv": [6.25, 6.5, 6.5, 7.5], "texture": "#0"}, + "up": {"uv": [7.5, 6.75, 6.5, 6.5], "texture": "#0"}, + "down": {"uv": [7.75, 2, 6.75, 2.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [14, 15, 14], + "to": [1, 8, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3.25, 4.5, 6.5, 2.25], "texture": "#0"}, + "east": {"uv": [0, 8.25, 3, 6], "texture": "#0"}, + "south": {"uv": [3.25, 2.25, 6.5, 0], "texture": "#0"}, + "west": {"uv": [3.25, 6.75, 6.25, 4.5], "texture": "#0"}, + "up": {"uv": [0, 3, 3.25, 6], "texture": "#0"}, + "down": {"uv": [0, 3, 3.25, 0], "texture": "#0"} + } + }, + { + "from": [5.625, 15, 6.25], + "to": [9.125, 18.5, 9.75], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "east": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "south": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"}, + "west": {"uv": [12.25, 7.5, 14.25, 9.25], "texture": "#0"} + } + }, + { + "name": "cube inverted", + "from": [9.125, 18.5, 9.75], + "to": [5.625, 15, 6.25], + "rotation": {"angle": 0, "axis": "y", "origin": [5.625, 15, 6.25]}, + "faces": { + "north": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "east": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "south": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"}, + "west": {"uv": [12.25, 9.25, 14.25, 7.5], "texture": "#0"} + } + } + ], + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "thirdperson_lefthand": { + "rotation": [-160.87, 10.9, -173.6], + "translation": [0, 0, -2.25], + "scale": [0.49219, 0.49219, 0.49219] + }, + "firstperson_righthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "firstperson_lefthand": { + "rotation": [-180, 33.75, 180], + "translation": [0.5, 1, -2.5], + "scale": [0.65781, 0.65781, 0.65781] + }, + "ground": { + "translation": [0, -2.25, 0], + "scale": [0.59961, 0.59961, 0.59961] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [-0.25, -3.5, 0], + "scale": [0.88086, 0.88086, 0.88086] + }, + "head": { + "translation": [0.75, -1, 0], + "scale": [1.22852, 1.22852, 1.22852] + }, + "fixed": { + "translation": [0, -3.5, -6] + } + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/repohats/textures/item/repohatblackcrown.png b/stweaks-resourcepack/assets/repohats/textures/item/repohatblackcrown.png new file mode 100644 index 0000000..5599f3c Binary files /dev/null and b/stweaks-resourcepack/assets/repohats/textures/item/repohatblackcrown.png differ diff --git a/stweaks-resourcepack/assets/repohats/textures/item/repohatbluecrown.png b/stweaks-resourcepack/assets/repohats/textures/item/repohatbluecrown.png new file mode 100644 index 0000000..18f3548 Binary files /dev/null and b/stweaks-resourcepack/assets/repohats/textures/item/repohatbluecrown.png differ diff --git a/stweaks-resourcepack/assets/repohats/textures/item/repohatgreencrown.png b/stweaks-resourcepack/assets/repohats/textures/item/repohatgreencrown.png new file mode 100644 index 0000000..c3b335a Binary files /dev/null and b/stweaks-resourcepack/assets/repohats/textures/item/repohatgreencrown.png differ diff --git a/stweaks-resourcepack/assets/repohats/textures/item/repohatpinkcrown.png b/stweaks-resourcepack/assets/repohats/textures/item/repohatpinkcrown.png new file mode 100644 index 0000000..cb5053b Binary files /dev/null and b/stweaks-resourcepack/assets/repohats/textures/item/repohatpinkcrown.png differ diff --git a/stweaks-resourcepack/assets/repohats/textures/item/repohatpurplecrown.png b/stweaks-resourcepack/assets/repohats/textures/item/repohatpurplecrown.png new file mode 100644 index 0000000..29e4854 Binary files /dev/null and b/stweaks-resourcepack/assets/repohats/textures/item/repohatpurplecrown.png differ diff --git a/stweaks-resourcepack/assets/repohats/textures/item/repohatredcrown.png b/stweaks-resourcepack/assets/repohats/textures/item/repohatredcrown.png new file mode 100644 index 0000000..644c693 Binary files /dev/null and b/stweaks-resourcepack/assets/repohats/textures/item/repohatredcrown.png differ diff --git a/stweaks-resourcepack/assets/repohats/textures/item/repohatwhitecrown.png b/stweaks-resourcepack/assets/repohats/textures/item/repohatwhitecrown.png new file mode 100644 index 0000000..463a994 Binary files /dev/null and b/stweaks-resourcepack/assets/repohats/textures/item/repohatwhitecrown.png differ diff --git a/stweaks-resourcepack/assets/repohats/textures/item/repohatyellowcrown.png b/stweaks-resourcepack/assets/repohats/textures/item/repohatyellowcrown.png new file mode 100644 index 0000000..de55eff Binary files /dev/null and b/stweaks-resourcepack/assets/repohats/textures/item/repohatyellowcrown.png differ diff --git a/stweaks-resourcepack/assets/storytime/equipment/pink.json b/stweaks-resourcepack/assets/storytime/equipment/pink.json new file mode 100644 index 0000000..fbcfbf7 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/equipment/pink.json @@ -0,0 +1,19 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "storytime:pink_armor_layer_1" + } + ], + "humanoid_leggings": [ + { + "texture": "storytime:pink_armor_layer_2" + } + ], + "horse_body": [ + { + "texture": "storytime:horse_armor_diamond" + } + ] + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/anvil_token.json b/stweaks-resourcepack/assets/storytime/items/anvil_token.json new file mode 100644 index 0000000..cb0cbc8 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/anvil_token.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/anvil_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/back_token.json b/stweaks-resourcepack/assets/storytime/items/back_token.json new file mode 100644 index 0000000..89f26fb --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/back_token.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/back_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/boost_token.json b/stweaks-resourcepack/assets/storytime/items/boost_token.json new file mode 100644 index 0000000..b6ca472 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/boost_token.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/boost_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/cow_skinner.json b/stweaks-resourcepack/assets/storytime/items/cow_skinner.json new file mode 100644 index 0000000..bfe0036 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/cow_skinner.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/cow_skinner" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/enderchest_token.json b/stweaks-resourcepack/assets/storytime/items/enderchest_token.json new file mode 100644 index 0000000..9edc1d6 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/enderchest_token.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/enderchest_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/entitysize_token.json b/stweaks-resourcepack/assets/storytime/items/entitysize_token.json new file mode 100644 index 0000000..75b0716 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/entitysize_token.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/entitysize_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/fbi_disc.json b/stweaks-resourcepack/assets/storytime/items/fbi_disc.json new file mode 100644 index 0000000..a974f02 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/fbi_disc.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/fbi_disc" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/illegal_water.json b/stweaks-resourcepack/assets/storytime/items/illegal_water.json new file mode 100644 index 0000000..d800bae --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/illegal_water.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/illegal_water" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/kebab.json b/stweaks-resourcepack/assets/storytime/items/kebab.json new file mode 100644 index 0000000..b8c4519 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/kebab.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/kebab" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/lebron_boots.json b/stweaks-resourcepack/assets/storytime/items/lebron_boots.json new file mode 100644 index 0000000..88814dc --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/lebron_boots.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/lebron_boots" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/lebron_chestplate.json b/stweaks-resourcepack/assets/storytime/items/lebron_chestplate.json new file mode 100644 index 0000000..0cd48ae --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/lebron_chestplate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/lebron_chestplate" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/lebron_helmet.json b/stweaks-resourcepack/assets/storytime/items/lebron_helmet.json new file mode 100644 index 0000000..9987d16 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/lebron_helmet.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/lebron_helmet" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/lebron_leggings.json b/stweaks-resourcepack/assets/storytime/items/lebron_leggings.json new file mode 100644 index 0000000..8fe2a41 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/lebron_leggings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/lebron_leggings" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/nick_token.json b/stweaks-resourcepack/assets/storytime/items/nick_token.json new file mode 100644 index 0000000..ba17e9f --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/nick_token.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/nick_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pancake.json b/stweaks-resourcepack/assets/storytime/items/pancake.json new file mode 100644 index 0000000..42e231a --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pancake.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pancake" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_arrow.json b/stweaks-resourcepack/assets/storytime/items/pink_arrow.json new file mode 100644 index 0000000..6669af66 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_arrow.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_arrow" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_axe.json b/stweaks-resourcepack/assets/storytime/items/pink_axe.json new file mode 100644 index 0000000..895fd9a --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_axe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_axe" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_boots.json b/stweaks-resourcepack/assets/storytime/items/pink_boots.json new file mode 100644 index 0000000..8486203 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_boots.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_boots" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_bow.json b/stweaks-resourcepack/assets/storytime/items/pink_bow.json new file mode 100644 index 0000000..c0d1aef --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_bow.json @@ -0,0 +1,78 @@ +{ + "model": { + "type": "minecraft:range_dispatch", + "property": "minecraft:custom_model_data", + "entries": [ + { + "threshold": 12345, + "model": { + "type": "minecraft:condition", + "property": "minecraft:using_item", + "on_false": { + "type": "minecraft:model", + "model": "storytime:item/pink_bow" + }, + "on_true": { + "type": "minecraft:range_dispatch", + "property": "minecraft:use_duration", + "scale": 0.05, + "entries": [ + { + "threshold": 0.65, + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_bow_pulling_1" + } + }, + { + "threshold": 0.9, + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_bow_pulling_2" + } + } + ], + "fallback": { + "type": "minecraft:model", + "model": "storytime:item/pink_bow_pulling_0" + } + } + } + } + ], + "fallback": { + "type": "minecraft:condition", + "property": "minecraft:using_item", + "on_false": { + "type": "minecraft:model", + "model": "storytime:item/pink_bow" + }, + "on_true": { + "type": "minecraft:range_dispatch", + "property": "minecraft:use_duration", + "scale": 0.05, + "entries": [ + { + "threshold": 0.65, + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_bow_pulling_1" + } + }, + { + "threshold": 0.9, + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_bow_pulling_2" + } + } + ], + "fallback": { + "type": "minecraft:model", + "model": "storytime:item/pink_bow_pulling_0" + } + } + } + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_chestplate.json b/stweaks-resourcepack/assets/storytime/items/pink_chestplate.json new file mode 100644 index 0000000..f860d4f --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_chestplate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_chestplate" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_enderpearl.json b/stweaks-resourcepack/assets/storytime/items/pink_enderpearl.json new file mode 100644 index 0000000..4344f6b --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_enderpearl.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_enderpearl" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_fishing_rod.json b/stweaks-resourcepack/assets/storytime/items/pink_fishing_rod.json new file mode 100644 index 0000000..dec66a3 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_fishing_rod.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_fishing_rod" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_helmet.json b/stweaks-resourcepack/assets/storytime/items/pink_helmet.json new file mode 100644 index 0000000..cc231df --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_helmet.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_helmet" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_hoe.json b/stweaks-resourcepack/assets/storytime/items/pink_hoe.json new file mode 100644 index 0000000..572c8f4 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_hoe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_hoe" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_horsearmor.json b/stweaks-resourcepack/assets/storytime/items/pink_horsearmor.json new file mode 100644 index 0000000..4832d93 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_horsearmor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_horsearmor" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_leggings.json b/stweaks-resourcepack/assets/storytime/items/pink_leggings.json new file mode 100644 index 0000000..a31e2e6 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_leggings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_leggings" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_pickaxe.json b/stweaks-resourcepack/assets/storytime/items/pink_pickaxe.json new file mode 100644 index 0000000..b6ffef7 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_pickaxe.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_pickaxe" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_shovel.json b/stweaks-resourcepack/assets/storytime/items/pink_shovel.json new file mode 100644 index 0000000..8a028d7 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_shovel.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_shovel" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/pink_sword.json b/stweaks-resourcepack/assets/storytime/items/pink_sword.json new file mode 100644 index 0000000..259a28e --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/pink_sword.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/pink_sword" + } + } \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/playersize_token.json b/stweaks-resourcepack/assets/storytime/items/playersize_token.json new file mode 100644 index 0000000..da586fd --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/playersize_token.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/playersize_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/setwarp_token.json b/stweaks-resourcepack/assets/storytime/items/setwarp_token.json new file mode 100644 index 0000000..078d66c --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/setwarp_token.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/setwarp_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/smithingtable_token.json b/stweaks-resourcepack/assets/storytime/items/smithingtable_token.json new file mode 100644 index 0000000..f5151bd --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/smithingtable_token.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/smithingtable_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/time_ticket.json b/stweaks-resourcepack/assets/storytime/items/time_ticket.json new file mode 100644 index 0000000..53ba759 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/time_ticket.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/time_ticket" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/items/workbench_token.json b/stweaks-resourcepack/assets/storytime/items/workbench_token.json new file mode 100644 index 0000000..18c3420 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/items/workbench_token.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "storytime:item/workbench_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/anvil_token.json b/stweaks-resourcepack/assets/storytime/models/item/anvil_token.json new file mode 100644 index 0000000..3e51781 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/anvil_token.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/anvil_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/back_token.json b/stweaks-resourcepack/assets/storytime/models/item/back_token.json new file mode 100644 index 0000000..ac27f0f --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/back_token.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/back_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/boost_token.json b/stweaks-resourcepack/assets/storytime/models/item/boost_token.json new file mode 100644 index 0000000..057375c --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/boost_token.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/boost_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/cow_skinner.json b/stweaks-resourcepack/assets/storytime/models/item/cow_skinner.json new file mode 100644 index 0000000..adc218a --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/cow_skinner.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/cow_skinner" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/enderchest_token.json b/stweaks-resourcepack/assets/storytime/models/item/enderchest_token.json new file mode 100644 index 0000000..0bba7ab --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/enderchest_token.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/enderchest_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/entitysize_token.json b/stweaks-resourcepack/assets/storytime/models/item/entitysize_token.json new file mode 100644 index 0000000..f939d16 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/entitysize_token.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/entitysize_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/fbi_disc.json b/stweaks-resourcepack/assets/storytime/models/item/fbi_disc.json new file mode 100644 index 0000000..6d9435c --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/fbi_disc.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/fbi_disc" + } + } + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/illegal_water.json b/stweaks-resourcepack/assets/storytime/models/item/illegal_water.json new file mode 100644 index 0000000..c85e2a9 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/illegal_water.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/illegal_water" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/kebab.json b/stweaks-resourcepack/assets/storytime/models/item/kebab.json new file mode 100644 index 0000000..9c0a301 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/kebab.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/kebab" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/lebron_boots.json b/stweaks-resourcepack/assets/storytime/models/item/lebron_boots.json new file mode 100644 index 0000000..b82808a --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/lebron_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/lebron_boots" + } +} diff --git a/stweaks-resourcepack/assets/storytime/models/item/lebron_chestplate.json b/stweaks-resourcepack/assets/storytime/models/item/lebron_chestplate.json new file mode 100644 index 0000000..de2f628 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/lebron_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/lebron_chestplate" + } +} diff --git a/stweaks-resourcepack/assets/storytime/models/item/lebron_helmet.json b/stweaks-resourcepack/assets/storytime/models/item/lebron_helmet.json new file mode 100644 index 0000000..09932f8 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/lebron_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/lebron_helmet" + } +} diff --git a/stweaks-resourcepack/assets/storytime/models/item/lebron_leggings.json b/stweaks-resourcepack/assets/storytime/models/item/lebron_leggings.json new file mode 100644 index 0000000..ba6cce8 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/lebron_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/lebron_leggings" + } +} diff --git a/stweaks-resourcepack/assets/storytime/models/item/nick_token.json b/stweaks-resourcepack/assets/storytime/models/item/nick_token.json new file mode 100644 index 0000000..b99e21b --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/nick_token.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/nick_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pancake.json b/stweaks-resourcepack/assets/storytime/models/item/pancake.json new file mode 100644 index 0000000..569aef6 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pancake.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/pancake" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_arrow.json b/stweaks-resourcepack/assets/storytime/models/item/pink_arrow.json new file mode 100644 index 0000000..19470cf --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_arrow.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/pink_arrow" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_axe.json b/stweaks-resourcepack/assets/storytime/models/item/pink_axe.json new file mode 100644 index 0000000..f81ab5f --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_axe.json @@ -0,0 +1,7 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/pink_axe" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_boots.json b/stweaks-resourcepack/assets/storytime/models/item/pink_boots.json new file mode 100644 index 0000000..02ac97a --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_boots.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/pink_boots" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_bow.json b/stweaks-resourcepack/assets/storytime/models/item/pink_bow.json new file mode 100644 index 0000000..4a849b9 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_bow.json @@ -0,0 +1,51 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/pink_bow" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ -80, 260, -40 ], + "translation": [ -1, -2, 2.5 ], + "scale": [ 0.9, 0.9, 0.9 ] + }, + "thirdperson_lefthand": { + "rotation": [ -80, -280, 40 ], + "translation": [ -1, -2, 2.5 ], + "scale": [ 0.9, 0.9, 0.9 ] + }, + "firstperson_righthand": { + "rotation": [ 0, -90, 25 ], + "translation": [ 1.13, 3.2, 1.13], + "scale": [ 0.68, 0.68, 0.68 ] + }, + "firstperson_lefthand": { + "rotation": [ 0, 90, -25 ], + "translation": [ 1.13, 3.2, 1.13], + "scale": [ 0.68, 0.68, 0.68 ] + } + }, + "overrides": [ + { + "predicate": { + "pulling": 1 + }, + "model": "storytime:item/pink_bow_pulling_0" + }, + { + "predicate": { + "pulling": 1, + "pull": 0.65 + }, + "model": "storytime:item/pink_bow_pulling_1" + }, + { + "predicate": { + "pulling": 1, + "pull": 0.9 + }, + "model": "storytime:item/pink_bow_pulling_2" + } + ] +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_bow_pulling_0.json b/stweaks-resourcepack/assets/storytime/models/item/pink_bow_pulling_0.json new file mode 100644 index 0000000..a305b95 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_bow_pulling_0.json @@ -0,0 +1,6 @@ +{ + "parent": "storytime:item/pink_bow", + "textures": { + "layer0": "storytime:item/pink_bow_pulling_0" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_bow_pulling_1.json b/stweaks-resourcepack/assets/storytime/models/item/pink_bow_pulling_1.json new file mode 100644 index 0000000..fe23507 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_bow_pulling_1.json @@ -0,0 +1,6 @@ +{ + "parent": "storytime:item/pink_bow", + "textures": { + "layer0": "storytime:item/pink_bow_pulling_1" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_bow_pulling_2.json b/stweaks-resourcepack/assets/storytime/models/item/pink_bow_pulling_2.json new file mode 100644 index 0000000..e309bfe --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_bow_pulling_2.json @@ -0,0 +1,6 @@ +{ + "parent": "storytime:item/pink_bow", + "textures": { + "layer0": "storytime:item/pink_bow_pulling_2" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_chestplate.json b/stweaks-resourcepack/assets/storytime/models/item/pink_chestplate.json new file mode 100644 index 0000000..59c82ca --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_chestplate.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/pink_chestplate" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_enderpearl.json b/stweaks-resourcepack/assets/storytime/models/item/pink_enderpearl.json new file mode 100644 index 0000000..1477b8e --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_enderpearl.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/pink_enderpearl" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_fishing_rod.json b/stweaks-resourcepack/assets/storytime/models/item/pink_fishing_rod.json new file mode 100644 index 0000000..dfc28b7 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_fishing_rod.json @@ -0,0 +1,7 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/pink_fishingrod" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_helmet.json b/stweaks-resourcepack/assets/storytime/models/item/pink_helmet.json new file mode 100644 index 0000000..30c8d81 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_helmet.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/pink_helmet" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_hoe.json b/stweaks-resourcepack/assets/storytime/models/item/pink_hoe.json new file mode 100644 index 0000000..b71d133 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_hoe.json @@ -0,0 +1,7 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/pink_hoe" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_horsearmor.json b/stweaks-resourcepack/assets/storytime/models/item/pink_horsearmor.json new file mode 100644 index 0000000..6e21811 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_horsearmor.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/pink_horse_armor" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_leggings.json b/stweaks-resourcepack/assets/storytime/models/item/pink_leggings.json new file mode 100644 index 0000000..933b1a2 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_leggings.json @@ -0,0 +1,7 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/pink_leggings" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_pickaxe.json b/stweaks-resourcepack/assets/storytime/models/item/pink_pickaxe.json new file mode 100644 index 0000000..125d4c2 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_pickaxe.json @@ -0,0 +1,7 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/pink_pickaxe" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_shovel.json b/stweaks-resourcepack/assets/storytime/models/item/pink_shovel.json new file mode 100644 index 0000000..b2724de --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_shovel.json @@ -0,0 +1,7 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/pink_shovel" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/pink_sword.json b/stweaks-resourcepack/assets/storytime/models/item/pink_sword.json new file mode 100644 index 0000000..606ae11 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/pink_sword.json @@ -0,0 +1,7 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/pink_sword" + } +} + \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/playersize_token.json b/stweaks-resourcepack/assets/storytime/models/item/playersize_token.json new file mode 100644 index 0000000..c47f509 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/playersize_token.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/playersize_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/setwarp_token.json b/stweaks-resourcepack/assets/storytime/models/item/setwarp_token.json new file mode 100644 index 0000000..432ccd7 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/setwarp_token.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/setwarp_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/smithingtable_token.json b/stweaks-resourcepack/assets/storytime/models/item/smithingtable_token.json new file mode 100644 index 0000000..0a112aa --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/smithingtable_token.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/smithingtable_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/time_ticket.json b/stweaks-resourcepack/assets/storytime/models/item/time_ticket.json new file mode 100644 index 0000000..3fe446c --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/time_ticket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "storytime:item/time_ticket" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/models/item/workbench_token.json b/stweaks-resourcepack/assets/storytime/models/item/workbench_token.json new file mode 100644 index 0000000..8ce5c06 --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/models/item/workbench_token.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "storytime:item/workbench_token" + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/sounds.json b/stweaks-resourcepack/assets/storytime/sounds.json new file mode 100644 index 0000000..41fc10e --- /dev/null +++ b/stweaks-resourcepack/assets/storytime/sounds.json @@ -0,0 +1,18 @@ +{ + "disco.jackpot": { + "sounds": [ + { + "name": "storytime:disco/jackpot", + "stream": true + } + ] + }, + "training.background": { + "sounds": [ + { + "name": "storytime:training/background", + "stream": true + } + ] + } +} \ No newline at end of file diff --git a/stweaks-resourcepack/assets/storytime/sounds/disco/jackpot.ogg b/stweaks-resourcepack/assets/storytime/sounds/disco/jackpot.ogg new file mode 100644 index 0000000..2ced8bf Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/sounds/disco/jackpot.ogg differ diff --git a/stweaks-resourcepack/assets/storytime/sounds/training/background.ogg b/stweaks-resourcepack/assets/storytime/sounds/training/background.ogg new file mode 100644 index 0000000..52e4d93 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/sounds/training/background.ogg differ diff --git a/stweaks-resourcepack/assets/storytime/textures/entity/equipment/horse_body/horse_armor_diamond.png b/stweaks-resourcepack/assets/storytime/textures/entity/equipment/horse_body/horse_armor_diamond.png new file mode 100644 index 0000000..142adee Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/entity/equipment/horse_body/horse_armor_diamond.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/entity/equipment/humanoid/pink_armor_layer_1.png b/stweaks-resourcepack/assets/storytime/textures/entity/equipment/humanoid/pink_armor_layer_1.png new file mode 100644 index 0000000..4b31646 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/entity/equipment/humanoid/pink_armor_layer_1.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/entity/equipment/humanoid_leggings/pink_armor_layer_2.png b/stweaks-resourcepack/assets/storytime/textures/entity/equipment/humanoid_leggings/pink_armor_layer_2.png new file mode 100644 index 0000000..c5dd09a Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/entity/equipment/humanoid_leggings/pink_armor_layer_2.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/font/logo.png b/stweaks-resourcepack/assets/storytime/textures/font/logo.png new file mode 100644 index 0000000..b305745 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/font/logo.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/anvil_token.png b/stweaks-resourcepack/assets/storytime/textures/item/anvil_token.png new file mode 100644 index 0000000..d3fb352 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/anvil_token.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/back_token.png b/stweaks-resourcepack/assets/storytime/textures/item/back_token.png new file mode 100644 index 0000000..86818ab Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/back_token.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/boost_token.png b/stweaks-resourcepack/assets/storytime/textures/item/boost_token.png new file mode 100644 index 0000000..fb41746 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/boost_token.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/cow_skinner.png b/stweaks-resourcepack/assets/storytime/textures/item/cow_skinner.png new file mode 100644 index 0000000..7f92729 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/cow_skinner.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/enderchest_token.png b/stweaks-resourcepack/assets/storytime/textures/item/enderchest_token.png new file mode 100644 index 0000000..2c97f59 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/enderchest_token.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/entitysize_token.png b/stweaks-resourcepack/assets/storytime/textures/item/entitysize_token.png new file mode 100644 index 0000000..f9c6a8f Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/entitysize_token.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/fbi_disc.png b/stweaks-resourcepack/assets/storytime/textures/item/fbi_disc.png new file mode 100644 index 0000000..26cc0ba Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/fbi_disc.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/illegal_water.png b/stweaks-resourcepack/assets/storytime/textures/item/illegal_water.png new file mode 100644 index 0000000..8a2907d Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/illegal_water.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/kebab.png b/stweaks-resourcepack/assets/storytime/textures/item/kebab.png new file mode 100644 index 0000000..f3ebc23 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/kebab.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/lebron_boots.png b/stweaks-resourcepack/assets/storytime/textures/item/lebron_boots.png new file mode 100644 index 0000000..26a935f Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/lebron_boots.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/lebron_chestplate.png b/stweaks-resourcepack/assets/storytime/textures/item/lebron_chestplate.png new file mode 100644 index 0000000..2679735 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/lebron_chestplate.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/lebron_helmet.png b/stweaks-resourcepack/assets/storytime/textures/item/lebron_helmet.png new file mode 100644 index 0000000..5ca7f52 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/lebron_helmet.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/lebron_leggings.png b/stweaks-resourcepack/assets/storytime/textures/item/lebron_leggings.png new file mode 100644 index 0000000..e29f50f Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/lebron_leggings.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/nick_token.png b/stweaks-resourcepack/assets/storytime/textures/item/nick_token.png new file mode 100644 index 0000000..4776964 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/nick_token.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pancake.png b/stweaks-resourcepack/assets/storytime/textures/item/pancake.png new file mode 100644 index 0000000..f387121 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pancake.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_arrow.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_arrow.png new file mode 100644 index 0000000..2728aa5 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_arrow.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_axe.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_axe.png new file mode 100644 index 0000000..533d865 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_axe.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_boots.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_boots.png new file mode 100644 index 0000000..83df4ae Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_boots.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_bow.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_bow.png new file mode 100644 index 0000000..8a0abae Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_bow.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_bow_pulling_0.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_bow_pulling_0.png new file mode 100644 index 0000000..4e7a701 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_bow_pulling_0.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_bow_pulling_1.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_bow_pulling_1.png new file mode 100644 index 0000000..8f3b9ad Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_bow_pulling_1.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_bow_pulling_2.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_bow_pulling_2.png new file mode 100644 index 0000000..82ed88a Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_bow_pulling_2.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_chestplate.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_chestplate.png new file mode 100644 index 0000000..46449c7 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_chestplate.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_enderpearl.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_enderpearl.png new file mode 100644 index 0000000..8d910e3 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_enderpearl.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_fishingrod.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_fishingrod.png new file mode 100644 index 0000000..96f0fe5 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_fishingrod.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_helmet.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_helmet.png new file mode 100644 index 0000000..9c082fb Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_helmet.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_hoe.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_hoe.png new file mode 100644 index 0000000..cff3728 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_hoe.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_horse_armor.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_horse_armor.png new file mode 100644 index 0000000..d82d660 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_horse_armor.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_leggings.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_leggings.png new file mode 100644 index 0000000..a44a7ef Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_leggings.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_pickaxe.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_pickaxe.png new file mode 100644 index 0000000..3602adc Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_pickaxe.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_shovel.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_shovel.png new file mode 100644 index 0000000..565120c Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_shovel.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/pink_sword.png b/stweaks-resourcepack/assets/storytime/textures/item/pink_sword.png new file mode 100644 index 0000000..32c5ade Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/pink_sword.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/playersize_token.png b/stweaks-resourcepack/assets/storytime/textures/item/playersize_token.png new file mode 100644 index 0000000..e78f70f Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/playersize_token.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/setwarp_token.png b/stweaks-resourcepack/assets/storytime/textures/item/setwarp_token.png new file mode 100644 index 0000000..9bf2f39 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/setwarp_token.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/smithingtable_token.png b/stweaks-resourcepack/assets/storytime/textures/item/smithingtable_token.png new file mode 100644 index 0000000..f872da7 Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/smithingtable_token.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/time_ticket.png b/stweaks-resourcepack/assets/storytime/textures/item/time_ticket.png new file mode 100644 index 0000000..516a7fd Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/time_ticket.png differ diff --git a/stweaks-resourcepack/assets/storytime/textures/item/workbench_token.png b/stweaks-resourcepack/assets/storytime/textures/item/workbench_token.png new file mode 100644 index 0000000..dfbd8ea Binary files /dev/null and b/stweaks-resourcepack/assets/storytime/textures/item/workbench_token.png differ diff --git a/stweaks-resourcepack/pack.mcmeta b/stweaks-resourcepack/pack.mcmeta new file mode 100644 index 0000000..54c4f3d --- /dev/null +++ b/stweaks-resourcepack/pack.mcmeta @@ -0,0 +1,7 @@ +{ + "pack": { + "min_format": 69, + "max_format": 69, + "description": "StoryTime SMP Resource Pack" + } +} diff --git a/stweaks-resourcepack/pack.png b/stweaks-resourcepack/pack.png new file mode 100644 index 0000000..c1c4c2b Binary files /dev/null and b/stweaks-resourcepack/pack.png differ diff --git a/stweaks-resourcepack/stweaks-resourcepack.zip b/stweaks-resourcepack/stweaks-resourcepack.zip new file mode 100644 index 0000000..d3283e0 Binary files /dev/null and b/stweaks-resourcepack/stweaks-resourcepack.zip differ diff --git a/world-generator/README.md b/world-generator/README.md new file mode 100644 index 0000000..80b3c77 --- /dev/null +++ b/world-generator/README.md @@ -0,0 +1,57 @@ +# Standalone World Generator + +This is a standalone utility, intentionally separate from DeepCore plugin code. + +## Source Of Truth For Jars + +- The script uses Mojang API as the only method to resolve and download server jars. +- It downloads vanilla server jars from Mojang and caches them in `world-generator/.cache/` by default. + +## Usage + +Run from this folder: + +```powershell +./generate-world.ps1 -Interactive +``` + +Or run with flags: + +```powershell +./generate-world.ps1 -MinecraftVersion 1.21.10 -WorldType normal -WorldName practice_world -GenerateStructures $true +``` + +`-WorldName` can also be passed as `-Name`. + +### Supported World Types + +- `normal` +- `large_biomes` +- `amplified` +- `single_biome` +- `flat` +- `void` (no barrier) + +### Optional Flags + +- `-Seed ` +- `-Force` +- `-OutputRoot ` +- `-WorldOutputPath ` +- `-CacheRoot ` +- `-GenerationTimeoutSeconds ` +- `-MaxRetries ` +- `-JavaExecutable ` +- `-KeepTemporaryFiles` (keeps temp cache/workspace instead of cleaning them on success) + +## Behavior + +- Supports both interactive wizard mode and pure CLI flag mode. +- Validates each input step. +- Retries invalid input up to `-MaxRetries`. +- Uses Mojang version manifest to resolve available versions. +- Downloads vanilla server jar from Mojang for selected version (with SHA1 verification when available). +- Generates ``, `_nether`, and `_the_end` folders. +- Default output path is `world-generator/outputs`. +- Uses a temporary runtime/cache workspace by default and removes it on successful completion. +- Writes only world folders to the output path (`-WorldOutputPath` or `-OutputRoot`), with no server artifact files left behind. diff --git a/world-generator/generate-world.ps1 b/world-generator/generate-world.ps1 new file mode 100644 index 0000000..83573c5 --- /dev/null +++ b/world-generator/generate-world.ps1 @@ -0,0 +1,685 @@ +param( + [string]$MinecraftVersion, + [string]$WorldType, + [Alias("Name")] + [string]$WorldName, + [string]$Seed, + [Nullable[bool]]$GenerateStructures, + [switch]$Interactive, + [switch]$Force, + [int]$MaxRetries = 3, + [int]$GenerationTimeoutSeconds = 180, + [string]$OutputRoot, + [string]$WorldOutputPath, + [string]$CacheRoot, + [switch]$KeepTemporaryFiles, + [string]$JavaExecutable = "java" +) + +$ErrorActionPreference = "Stop" + +$scriptRoot = Split-Path -Parent $MyInvocation.MyCommand.Path +if (-not [string]::IsNullOrWhiteSpace($WorldOutputPath)) { + $OutputRoot = $WorldOutputPath +} +if ([string]::IsNullOrWhiteSpace($OutputRoot)) { + $OutputRoot = Join-Path $scriptRoot "outputs" +} +if ([string]::IsNullOrWhiteSpace($CacheRoot)) { + $CacheRoot = Join-Path ([System.IO.Path]::GetTempPath()) ("deepcore-worldgen-" + [guid]::NewGuid().ToString("N")) +} + +if ($MaxRetries -lt 1) { + throw "MaxRetries must be >= 1." +} +if ($GenerationTimeoutSeconds -lt 30) { + throw "GenerationTimeoutSeconds must be >= 30." +} + +$worldTypeOptions = @( + [pscustomobject]@{ Key = "normal"; Display = "Normal"; LevelType = "minecraft:normal"; GeneratorSettings = "{}" }, + [pscustomobject]@{ Key = "large_biomes"; Display = "Large Biomes"; LevelType = "minecraft:large_biomes"; GeneratorSettings = "{}" }, + [pscustomobject]@{ Key = "amplified"; Display = "Amplified"; LevelType = "minecraft:amplified"; GeneratorSettings = "{}" }, + [pscustomobject]@{ Key = "single_biome"; Display = "Single Biome Surface"; LevelType = "minecraft:single_biome_surface"; GeneratorSettings = "{}" }, + [pscustomobject]@{ Key = "flat"; Display = "Superflat"; LevelType = "minecraft:flat"; GeneratorSettings = "{}" }, + [pscustomobject]@{ Key = "void"; Display = "Void (no barrier)"; LevelType = "minecraft:flat"; GeneratorSettings = '{"biome":"minecraft:the_void","layers":[{"height":1,"block":"minecraft:air"}],"structures":{"structures":{}}}' } +) + +function Invoke-WithRetry { + param( + [scriptblock]$Operation, + [string]$FailurePrefix, + [int]$Retries + ) + + $lastError = $null + for ($attempt = 1; $attempt -le $Retries; $attempt++) { + try { + return (& $Operation) + } + catch { + $lastError = $_ + Write-Host "$FailurePrefix (attempt $attempt/$Retries): $($_.Exception.Message)" -ForegroundColor Yellow + } + } + + throw "${FailurePrefix}: $($lastError.Exception.Message)" +} + +function Get-MojangVersionManifest { + param([int]$Retries) + + $manifestUrl = "https://launchermeta.mojang.com/mc/game/version_manifest_v2.json" + return Invoke-WithRetry -Retries $Retries -FailurePrefix "Failed to fetch Mojang version manifest" -Operation { + Invoke-RestMethod -Method Get -Uri $manifestUrl -TimeoutSec 20 + } +} + +function Get-MojangReleaseVersionList { + param( + [object]$Manifest, + [int]$MaxResults = 25 + ) + + if ($null -eq $Manifest -or $null -eq $Manifest.versions) { + throw "Mojang manifest is missing versions list." + } + + $results = New-Object System.Collections.Generic.List[object] + $releaseCandidates = $Manifest.versions | Where-Object { $_.type -eq "release" } | Select-Object -First $MaxResults + foreach ($candidate in $releaseCandidates) { + $results.Add([pscustomobject]@{ + Version = $candidate.id + MetadataUrl = $candidate.url + }) | Out-Null + } + + if ($results.Count -eq 0) { + throw "No release versions were found in Mojang manifest." + } + + return $results.ToArray() +} + +function Resolve-ServerDownloadForVersion { + param( + [object]$VersionSelection, + [int]$Retries + ) + + $metadata = Invoke-WithRetry -Retries $Retries -FailurePrefix "Failed to fetch metadata for version $($VersionSelection.Version)" -Operation { + Invoke-RestMethod -Method Get -Uri $VersionSelection.MetadataUrl -TimeoutSec 20 + } + + if ($null -eq $metadata.downloads -or $null -eq $metadata.downloads.server) { + throw "Selected version '$($VersionSelection.Version)' does not expose a Mojang server download." + } + + return [pscustomobject]@{ + Version = $VersionSelection.Version + ServerUrl = $metadata.downloads.server.url + ServerSha1 = $metadata.downloads.server.sha1 + } +} + +function Ensure-MojangVanillaJar { + param( + [object]$VersionSelection, + [string]$CacheBase, + [int]$Retries + ) + + $versionCacheDir = Join-Path $CacheBase $VersionSelection.Version + if (-not (Test-Path -LiteralPath $versionCacheDir)) { + New-Item -ItemType Directory -Path $versionCacheDir -Force | Out-Null + } + + $jarPath = Join-Path $versionCacheDir ("vanilla-server-" + $VersionSelection.Version + ".jar") + $sha1Path = Join-Path $versionCacheDir ("vanilla-server-" + $VersionSelection.Version + ".sha1") + + if (Test-Path -LiteralPath $jarPath) { + if (-not [string]::IsNullOrWhiteSpace($VersionSelection.ServerSha1)) { + $localSha1 = (Get-FileHash -LiteralPath $jarPath -Algorithm SHA1).Hash.ToLowerInvariant() + if ($localSha1 -eq $VersionSelection.ServerSha1.ToLowerInvariant()) { + return $jarPath + } + Remove-Item -LiteralPath $jarPath -Force + if (Test-Path -LiteralPath $sha1Path) { + Remove-Item -LiteralPath $sha1Path -Force + } + } + else { + return $jarPath + } + } + + Invoke-WithRetry -Retries $Retries -FailurePrefix "Failed downloading vanilla server jar" -Operation { + Invoke-WebRequest -Uri $VersionSelection.ServerUrl -OutFile $jarPath -TimeoutSec 120 | Out-Null + return $null + } | Out-Null + + if (-not [string]::IsNullOrWhiteSpace($VersionSelection.ServerSha1)) { + $downloadSha1 = (Get-FileHash -LiteralPath $jarPath -Algorithm SHA1).Hash.ToLowerInvariant() + if ($downloadSha1 -ne $VersionSelection.ServerSha1.ToLowerInvariant()) { + Remove-Item -LiteralPath $jarPath -Force + throw "Downloaded jar hash mismatch for version $($VersionSelection.Version)." + } + Set-Content -LiteralPath $sha1Path -Value $VersionSelection.ServerSha1 -Encoding ASCII + } + + return $jarPath +} + +function Read-ValidatedInput { + param( + [string]$Prompt, + [scriptblock]$Validator, + [string]$FailureMessage, + [int]$Retries + ) + + for ($attempt = 1; $attempt -le $Retries; $attempt++) { + $value = Read-Host $Prompt + if (& $Validator $value) { + return $value + } + Write-Host "$FailureMessage (attempt $attempt/$Retries)" -ForegroundColor Yellow + } + + throw "Input validation failed after $Retries attempts for prompt: $Prompt" +} + +function Resolve-VersionSelection { + param( + [string]$Provided, + [array]$Available, + [switch]$UseInteractive, + [int]$Retries + ) + + if ([string]::IsNullOrWhiteSpace($Provided)) { + if (-not $UseInteractive) { + throw "MinecraftVersion is required in flag mode." + } + + Write-Host "Available Minecraft versions:" -ForegroundColor Cyan + for ($i = 0; $i -lt $Available.Count; $i++) { + Write-Host "[$($i + 1)] $($Available[$i].Version)" + } + + $selectedText = Read-ValidatedInput -Prompt "Choose version by number or exact value" ` + -Validator { + param($candidate) + if ([string]::IsNullOrWhiteSpace($candidate)) { + return $false + } + if ($candidate -match '^\d+$') { + $idx = [int]$candidate + return $idx -ge 1 -and $idx -le $Available.Count + } + return $Available.Version -contains $candidate + } ` + -FailureMessage "Invalid version selection" -Retries $Retries + + if ($selectedText -match '^\d+$') { + return $Available[[int]$selectedText - 1] + } + return ($Available | Where-Object { $_.Version -eq $selectedText } | Select-Object -First 1) + } + + $selected = $Available | Where-Object { $_.Version -eq $Provided } | Select-Object -First 1 + if ($null -eq $selected) { + throw "Minecraft version '$Provided' is not available from Mojang release manifest." + } + return $selected +} + +function Resolve-WorldTypeSelection { + param( + [string]$Provided, + [array]$TypeOptions, + [switch]$UseInteractive, + [int]$Retries + ) + + if ([string]::IsNullOrWhiteSpace($Provided)) { + if (-not $UseInteractive) { + throw "WorldType is required in flag mode." + } + + Write-Host "World type options:" -ForegroundColor Cyan + for ($i = 0; $i -lt $TypeOptions.Count; $i++) { + Write-Host "[$($i + 1)] $($TypeOptions[$i].Display) [$($TypeOptions[$i].Key)]" + } + + $selectedText = Read-ValidatedInput -Prompt "Choose world type by number or key" ` + -Validator { + param($candidate) + if ([string]::IsNullOrWhiteSpace($candidate)) { + return $false + } + if ($candidate -match '^\d+$') { + $idx = [int]$candidate + return $idx -ge 1 -and $idx -le $TypeOptions.Count + } + return $TypeOptions.Key -contains $candidate.ToLowerInvariant() + } ` + -FailureMessage "Invalid world type selection" -Retries $Retries + + if ($selectedText -match '^\d+$') { + return $TypeOptions[[int]$selectedText - 1] + } + return ($TypeOptions | Where-Object { $_.Key -eq $selectedText.ToLowerInvariant() } | Select-Object -First 1) + } + + $normalized = $Provided.ToLowerInvariant() + $selected = $TypeOptions | Where-Object { $_.Key -eq $normalized } | Select-Object -First 1 + if ($null -eq $selected) { + throw "World type '$Provided' is invalid. Supported: $($TypeOptions.Key -join ', ')." + } + return $selected +} + +function Resolve-WorldName { + param( + [string]$Provided, + [switch]$UseInteractive, + [int]$Retries + ) + + $validator = { + param($candidate) + return -not [string]::IsNullOrWhiteSpace($candidate) -and ($candidate -match '^[A-Za-z0-9._-]+$') + } + + if (-not [string]::IsNullOrWhiteSpace($Provided)) { + if (-not (& $validator $Provided)) { + throw "WorldName '$Provided' is invalid. Use [A-Za-z0-9._-]." + } + return $Provided + } + + if (-not $UseInteractive) { + throw "WorldName is required in flag mode." + } + + return Read-ValidatedInput -Prompt "World folder name (letters/numbers/._-)" -Validator $validator ` + -FailureMessage "Invalid world name" -Retries $Retries +} + +function Resolve-GenerateStructures { + param( + [Nullable[bool]]$Provided, + [switch]$UseInteractive, + [int]$Retries + ) + + if ($null -ne $Provided) { + return [bool]$Provided + } + + if (-not $UseInteractive) { + return $true + } + + $answer = Read-ValidatedInput -Prompt "Generate structures? (y/n)" ` + -Validator { + param($candidate) + if ([string]::IsNullOrWhiteSpace($candidate)) { + return $false + } + $normalized = $candidate.Trim().ToLowerInvariant() + return @("y", "yes", "n", "no") -contains $normalized + } ` + -FailureMessage "Please answer y/yes or n/no" -Retries $Retries + + return @("y", "yes") -contains $answer.Trim().ToLowerInvariant() +} + +function Resolve-Seed { + param( + [string]$Provided, + [switch]$UseInteractive, + [int]$Retries + ) + + if (-not [string]::IsNullOrWhiteSpace($Provided)) { + return $Provided.Trim() + } + + if (-not $UseInteractive) { + return "" + } + + $raw = Read-ValidatedInput -Prompt "Seed (optional; press Enter for random)" ` + -Validator { + param($candidate) + if ($null -eq $candidate) { + return $true + } + return $candidate.Length -le 128 + } ` + -FailureMessage "Seed must be at most 128 characters" -Retries $Retries + + return ($raw ?? "").Trim() +} + +function Request-OverwriteConsent { + param( + [string[]]$Paths, + [switch]$ForceOverwrite, + [switch]$UseInteractive, + [int]$Retries + ) + + $existing = @($Paths | Where-Object { Test-Path -LiteralPath $_ }) + if ($existing.Count -eq 0) { + return + } + + if ($ForceOverwrite) { + foreach ($path in $existing) { + Remove-Item -LiteralPath $path -Recurse -Force + } + return + } + + if (-not $UseInteractive) { + throw "One or more target world folders already exist. Use -Force to overwrite." + } + + Write-Host "Existing world folders detected:" -ForegroundColor Yellow + foreach ($path in $existing) { + Write-Host "- $path" + } + + $consent = Read-ValidatedInput -Prompt "Overwrite these folders? (y/n)" ` + -Validator { + param($candidate) + if ([string]::IsNullOrWhiteSpace($candidate)) { + return $false + } + $normalized = $candidate.Trim().ToLowerInvariant() + return @("y", "yes", "n", "no") -contains $normalized + } ` + -FailureMessage "Please answer y/yes or n/no" -Retries $Retries + + if (@("y", "yes") -contains $consent.Trim().ToLowerInvariant()) { + foreach ($path in $existing) { + Remove-Item -LiteralPath $path -Recurse -Force + } + return + } + + throw "Generation cancelled by user." +} + +function Get-RuntimeWorkspace { + param( + [string]$CacheBase, + [string]$Version + ) + + $runtimeRoot = Join-Path $CacheBase "runtime" + if (-not (Test-Path -LiteralPath $runtimeRoot)) { + New-Item -ItemType Directory -Path $runtimeRoot -Force | Out-Null + } + + $workspace = Join-Path $runtimeRoot $Version + if (-not (Test-Path -LiteralPath $workspace)) { + New-Item -ItemType Directory -Path $workspace -Force | Out-Null + } + + return $workspace +} + +function Clear-ExistingWorldFolders { + param( + [string]$Workspace, + [string]$WorldNameValue + ) + + $folders = @($WorldNameValue, "$WorldNameValue`_nether", "$WorldNameValue`_the_end") + foreach ($folder in $folders) { + $path = Join-Path $Workspace $folder + if (Test-Path -LiteralPath $path) { + Remove-Item -LiteralPath $path -Recurse -Force + } + } +} + +function Get-FreeTcpPort { + $listener = [System.Net.Sockets.TcpListener]::new([System.Net.IPAddress]::Loopback, 0) + try { + $listener.Start() + return ([System.Net.IPEndPoint]$listener.LocalEndpoint).Port + } + finally { + $listener.Stop() + } +} + +function Write-ServerFiles { + param( + [string]$Workspace, + [string]$WorldNameValue, + [string]$LevelType, + [string]$GeneratorSettings, + [string]$SeedValue, + [bool]$WithStructures, + [int]$ServerPort + ) + + Set-Content -LiteralPath (Join-Path $Workspace "eula.txt") -Value "eula=true" -Encoding UTF8 + + $properties = @( + "motd=Standalone World Generator", + "online-mode=false", + "server-ip=127.0.0.1", + "server-port=$ServerPort", + "query.port=$ServerPort", + "enable-rcon=false", + "enable-query=false", + "view-distance=6", + "simulation-distance=4", + "spawn-protection=0", + "max-tick-time=60000", + "level-name=$WorldNameValue", + "level-type=$LevelType", + "generator-settings=$GeneratorSettings", + "level-seed=$SeedValue", + "generate-structures=$($WithStructures.ToString().ToLowerInvariant())" + ) + + Set-Content -LiteralPath (Join-Path $Workspace "server.properties") -Value $properties -Encoding UTF8 +} + +function Invoke-WorldGeneration { + param( + [string]$JavaPath, + [string]$JarPath, + [string]$Workspace, + [string]$WorldNameValue, + [int]$TimeoutSeconds + ) + + $psi = New-Object System.Diagnostics.ProcessStartInfo + $psi.FileName = $JavaPath + $psi.Arguments = "-Xms512M -Xmx1G -jar `"$JarPath`" nogui" + $psi.WorkingDirectory = $Workspace + $psi.UseShellExecute = $false + $psi.RedirectStandardInput = $true + $psi.RedirectStandardOutput = $false + $psi.RedirectStandardError = $false + $psi.CreateNoWindow = $true + + $process = New-Object System.Diagnostics.Process + $process.StartInfo = $psi + + try { + if (-not $process.Start()) { + throw "Failed to start Java process for world generation." + } + + $worldPath = Join-Path $Workspace $WorldNameValue + $deadline = (Get-Date).AddSeconds($TimeoutSeconds) + $generated = $false + + while ((Get-Date) -lt $deadline) { + if (Test-Path -LiteralPath (Join-Path $worldPath "level.dat")) { + $generated = $true + break + } + + Start-Sleep -Milliseconds 500 + + if ($process.HasExited) { + break + } + } + + if ($generated) { + if (-not $process.HasExited) { + $process.StandardInput.WriteLine("stop") + $process.StandardInput.Flush() + } + + if (-not $process.WaitForExit(30000)) { + $process.Kill($true) + } + } + elseif (-not $process.HasExited) { + $process.Kill($true) + } + + if (-not $generated) { + throw "World generation did not complete before timeout. Check '$Workspace\\logs\\latest.log' for details." + } + } + finally { + try { $process.Dispose() } catch {} + } +} + +function Move-GeneratedWorldFolders { + param( + [string]$Workspace, + [string]$DestinationRoot, + [string]$WorldNameValue + ) + + $folders = @($WorldNameValue, "$WorldNameValue`_nether", "$WorldNameValue`_the_end") + $moved = @() + foreach ($folder in $folders) { + $source = Join-Path $Workspace $folder + if (-not (Test-Path -LiteralPath $source)) { + continue + } + + $dest = Join-Path $DestinationRoot $folder + if (Test-Path -LiteralPath $dest) { + Remove-Item -LiteralPath $dest -Recurse -Force + } + Move-Item -LiteralPath $source -Destination $dest -Force + $moved += $dest + } + + if ($moved.Count -eq 0) { + throw "Generation finished but no world folders were found at '$Workspace'." + } + + return ,$moved +} + +function Cleanup-RuntimeArtifacts { + param( + [string]$Workspace, + [string]$WorldNameValue + ) + + $pathsToRemove = @( + "eula.txt", + "server.properties", + "banned-ips.json", + "banned-players.json", + "ops.json", + "usercache.json", + "whitelist.json", + "logs", + "crash-reports", + $WorldNameValue, + "$WorldNameValue`_nether", + "$WorldNameValue`_the_end" + ) + + foreach ($relativePath in $pathsToRemove) { + $fullPath = Join-Path $Workspace $relativePath + if (Test-Path -LiteralPath $fullPath) { + Remove-Item -LiteralPath $fullPath -Recurse -Force -ErrorAction SilentlyContinue + } + } +} + +$manifest = Get-MojangVersionManifest -Retries $MaxRetries +$availableVersions = Get-MojangReleaseVersionList -Manifest $manifest -MaxResults 25 + +$interactiveMode = $Interactive -or [string]::IsNullOrWhiteSpace($MinecraftVersion) -or [string]::IsNullOrWhiteSpace($WorldType) -or [string]::IsNullOrWhiteSpace($WorldName) + +$versionSelection = Resolve-VersionSelection -Provided $MinecraftVersion -Available $availableVersions -UseInteractive:$interactiveMode -Retries $MaxRetries +$typeSelection = Resolve-WorldTypeSelection -Provided $WorldType -TypeOptions $worldTypeOptions -UseInteractive:$interactiveMode -Retries $MaxRetries +$resolvedWorldName = Resolve-WorldName -Provided $WorldName -UseInteractive:$interactiveMode -Retries $MaxRetries +$resolvedSeed = Resolve-Seed -Provided $Seed -UseInteractive:$interactiveMode -Retries $MaxRetries +$resolvedStructures = Resolve-GenerateStructures -Provided $GenerateStructures -UseInteractive:$interactiveMode -Retries $MaxRetries + +$outputWorldPath = Join-Path $OutputRoot $resolvedWorldName +$outputNetherPath = Join-Path $OutputRoot ("$resolvedWorldName`_nether") +$outputEndPath = Join-Path $OutputRoot ("$resolvedWorldName`_the_end") + +Request-OverwriteConsent -Paths @($outputWorldPath, $outputNetherPath, $outputEndPath) -ForceOverwrite:$Force -UseInteractive:$interactiveMode -Retries $MaxRetries + +if (-not (Test-Path -LiteralPath $CacheRoot)) { + New-Item -ItemType Directory -Path $CacheRoot -Force | Out-Null +} +if (-not (Test-Path -LiteralPath $OutputRoot)) { + New-Item -ItemType Directory -Path $OutputRoot -Force | Out-Null +} + +$versionDownload = Resolve-ServerDownloadForVersion -VersionSelection $versionSelection -Retries $MaxRetries +$jarPath = Ensure-MojangVanillaJar -VersionSelection $versionDownload -CacheBase $CacheRoot -Retries $MaxRetries + +Write-Host "Selected version: $($versionSelection.Version)" -ForegroundColor Cyan +Write-Host "World type: $($typeSelection.Display) [$($typeSelection.Key)]" -ForegroundColor Cyan +Write-Host "World name: $resolvedWorldName" -ForegroundColor Cyan +Write-Host "Generate structures: $resolvedStructures" -ForegroundColor Cyan +if ([string]::IsNullOrWhiteSpace($resolvedSeed)) { + Write-Host "Seed: random" -ForegroundColor Cyan +} +else { + Write-Host "Seed: $resolvedSeed" -ForegroundColor Cyan +} +Write-Host "Vanilla jar: $jarPath" -ForegroundColor Cyan + +$runtimePort = Get-FreeTcpPort +$workspace = Get-RuntimeWorkspace -CacheBase $CacheRoot -Version $versionSelection.Version +Clear-ExistingWorldFolders -Workspace $workspace -WorldNameValue $resolvedWorldName + +Write-ServerFiles -Workspace $workspace -WorldNameValue $resolvedWorldName -LevelType $typeSelection.LevelType ` + -GeneratorSettings $typeSelection.GeneratorSettings -SeedValue $resolvedSeed -WithStructures $resolvedStructures -ServerPort $runtimePort + +Write-Host "Generating world folders..." -ForegroundColor Green +Write-Host "Note: first run for a version may take longer due to Mojang runtime unpack." -ForegroundColor DarkYellow +Write-Host "Using temporary local server port: $runtimePort" -ForegroundColor DarkGray +Invoke-WorldGeneration -JavaPath $JavaExecutable -JarPath $jarPath -Workspace $workspace ` + -WorldNameValue $resolvedWorldName -TimeoutSeconds $GenerationTimeoutSeconds + +$movedWorldFolders = Move-GeneratedWorldFolders -Workspace $workspace -DestinationRoot $OutputRoot -WorldNameValue $resolvedWorldName +Cleanup-RuntimeArtifacts -Workspace $workspace -WorldNameValue $resolvedWorldName + +if (-not $KeepTemporaryFiles) { + Remove-Item -LiteralPath $CacheRoot -Recurse -Force -ErrorAction SilentlyContinue +} + +Write-Host "World generation completed:" -ForegroundColor Green +foreach ($path in $movedWorldFolders) { + Write-Host "- $path" +}