@nice2dev/game-engine 1.3.12 → 1.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/package.json +2 -2
- package/dist/types/accessibility/index.d.ts +0 -1
- package/dist/types/ai/index.d.ts +0 -1
- package/dist/types/animation/index.d.ts +0 -1
- package/dist/types/audio/HRTFAudio.d.ts +0 -180
- package/dist/types/audio/index.d.ts +0 -2
- package/dist/types/community/Community.d.ts +0 -112
- package/dist/types/community/index.d.ts +0 -1
- package/dist/types/core/TypeSafety.d.ts +0 -190
- package/dist/types/core/index.d.ts +0 -7
- package/dist/types/devtools/AssetStore.d.ts +0 -133
- package/dist/types/devtools/index.d.ts +0 -3
- package/dist/types/dialogue/index.d.ts +0 -2
- package/dist/types/docs/APIPlayground.d.ts +0 -26
- package/dist/types/docs/Cookbook.d.ts +0 -18
- package/dist/types/docs/Guides.d.ts +0 -18
- package/dist/types/docs/index.d.ts +0 -4
- package/dist/types/ecs/ECSOptimized.d.ts +0 -131
- package/dist/types/ecs/index.d.ts +0 -2
- package/dist/types/editor/NiceAnimationTimeline.d.ts +0 -114
- package/dist/types/editor/NiceLevelEditor.d.ts +0 -232
- package/dist/types/editor/NiceMaterialEditor.d.ts +0 -105
- package/dist/types/editor/NiceNodeGraph.d.ts +0 -87
- package/dist/types/editor/NiceParticleEditor.d.ts +0 -127
- package/dist/types/editor/behavior-tree/BTDebugPanel.d.ts +0 -102
- package/dist/types/editor/behavior-tree/BTEditorCanvas.d.ts +0 -79
- package/dist/types/editor/behavior-tree/BTEditorNode.d.ts +0 -58
- package/dist/types/editor/behavior-tree/BTEditorToolbar.d.ts +0 -75
- package/dist/types/editor/behavior-tree/BTNodePalette.d.ts +0 -72
- package/dist/types/editor/behavior-tree/BTPropertyPanel.d.ts +0 -66
- package/dist/types/editor/behavior-tree/BehaviorTreeEditor.d.ts +0 -186
- package/dist/types/editor/behavior-tree/index.d.ts +0 -14
- package/dist/types/editor/behavior-tree/serialization.d.ts +0 -30
- package/dist/types/editor/behavior-tree/types.d.ts +0 -299
- package/dist/types/editor/index.d.ts +0 -20
- package/dist/types/editor/state-machine/SMEditorCanvas.d.ts +0 -61
- package/dist/types/editor/state-machine/StateMachineEditor.d.ts +0 -139
- package/dist/types/editor/state-machine/index.d.ts +0 -11
- package/dist/types/editor/state-machine/serialization.d.ts +0 -23
- package/dist/types/editor/state-machine/types.d.ts +0 -241
- package/dist/types/engine/index.d.ts +0 -2
- package/dist/types/enterprise/index.d.ts +0 -1
- package/dist/types/epic/index.d.ts +0 -10
- package/dist/types/i18n/index.d.ts +0 -2
- package/dist/types/input/index.d.ts +0 -3
- package/dist/types/kids/index.d.ts +0 -2
- package/dist/types/legendary/index.d.ts +0 -57
- package/dist/types/monetization/index.d.ts +0 -1
- package/dist/types/multiplayer/NiceNetcode.d.ts +0 -434
- package/dist/types/multiplayer/index.d.ts +0 -5
- package/dist/types/network/index.d.ts +0 -2
- package/dist/types/pathfinding/index.d.ts +0 -1
- package/dist/types/performance/AssetCompression.d.ts +0 -137
- package/dist/types/performance/WASMModules.d.ts +0 -65
- package/dist/types/performance/WebGPUCompute.d.ts +0 -71
- package/dist/types/performance/index.d.ts +0 -1
- package/dist/types/physics/RapierIntegration.d.ts +0 -404
- package/dist/types/physics/index.d.ts +0 -2
- package/dist/types/plugins/index.d.ts +0 -2
- package/dist/types/procedural/index.d.ts +0 -2
- package/dist/types/release/index.d.ts +0 -1
- package/dist/types/rendering/WebGPUv2.d.ts +0 -173
- package/dist/types/rendering/index.d.ts +0 -3
- package/dist/types/runtime3d/index.d.ts +0 -2
- package/dist/types/scene/index.d.ts +0 -2
- package/dist/types/scripting/WasmCompiler.d.ts +0 -182
- package/dist/types/scripting/index.d.ts +0 -19
- package/dist/types/social/index.d.ts +0 -1
- package/dist/types/systems/NiceAI.d.ts +0 -637
- package/dist/types/systems/NiceAbility.d.ts +0 -225
- package/dist/types/systems/NiceAccessibility.d.ts +0 -230
- package/dist/types/systems/NiceAchievement.d.ts +0 -153
- package/dist/types/systems/NiceAchievementUI.d.ts +0 -196
- package/dist/types/systems/NiceAchievements.d.ts +0 -230
- package/dist/types/systems/NiceAction.d.ts +0 -81
- package/dist/types/systems/NiceAlchemy.d.ts +0 -195
- package/dist/types/systems/NiceAnalytics.d.ts +0 -493
- package/dist/types/systems/NiceAnimation.d.ts +0 -350
- package/dist/types/systems/NiceArena.d.ts +0 -215
- package/dist/types/systems/NiceAssetLoader.d.ts +0 -136
- package/dist/types/systems/NiceAuction.d.ts +0 -157
- package/dist/types/systems/NiceAudio.d.ts +0 -224
- package/dist/types/systems/NiceAugment.d.ts +0 -187
- package/dist/types/systems/NiceAura.d.ts +0 -193
- package/dist/types/systems/NiceBank.d.ts +0 -158
- package/dist/types/systems/NiceBattlePass.d.ts +0 -150
- package/dist/types/systems/NiceBehavior.d.ts +0 -160
- package/dist/types/systems/NiceBinding.d.ts +0 -96
- package/dist/types/systems/NiceBlacksmith.d.ts +0 -221
- package/dist/types/systems/NiceBuff.d.ts +0 -177
- package/dist/types/systems/NiceBuilding.d.ts +0 -207
- package/dist/types/systems/NiceBullet.d.ts +0 -167
- package/dist/types/systems/NiceCamera.d.ts +0 -252
- package/dist/types/systems/NiceCard.d.ts +0 -171
- package/dist/types/systems/NiceChat.d.ts +0 -148
- package/dist/types/systems/NiceCheat.d.ts +0 -375
- package/dist/types/systems/NiceClimbing.d.ts +0 -186
- package/dist/types/systems/NiceCloud.d.ts +0 -422
- package/dist/types/systems/NiceCollision.d.ts +0 -238
- package/dist/types/systems/NiceCombo.d.ts +0 -131
- package/dist/types/systems/NiceCommand.d.ts +0 -112
- package/dist/types/systems/NiceCompanion.d.ts +0 -182
- package/dist/types/systems/NiceController.d.ts +0 -144
- package/dist/types/systems/NiceCooking.d.ts +0 -193
- package/dist/types/systems/NiceCoroutine.d.ts +0 -101
- package/dist/types/systems/NiceCrafting.d.ts +0 -228
- package/dist/types/systems/NiceCutscene.d.ts +0 -437
- package/dist/types/systems/NiceDaily.d.ts +0 -133
- package/dist/types/systems/NiceDamage.d.ts +0 -271
- package/dist/types/systems/NiceDayNight.d.ts +0 -126
- package/dist/types/systems/NiceDebug.d.ts +0 -255
- package/dist/types/systems/NiceDestructible.d.ts +0 -150
- package/dist/types/systems/NiceDialogue.d.ts +0 -629
- package/dist/types/systems/NiceDungeon.d.ts +0 -202
- package/dist/types/systems/NiceECS.d.ts +0 -151
- package/dist/types/systems/NiceEnchant.d.ts +0 -148
- package/dist/types/systems/NiceEntityPool.d.ts +0 -127
- package/dist/types/systems/NiceEquipment.d.ts +0 -137
- package/dist/types/systems/NiceEvent.d.ts +0 -202
- package/dist/types/systems/NiceEventBus.d.ts +0 -164
- package/dist/types/systems/NiceFaction.d.ts +0 -173
- package/dist/types/systems/NiceFarming.d.ts +0 -163
- package/dist/types/systems/NiceFishing.d.ts +0 -196
- package/dist/types/systems/NiceFlocking.d.ts +0 -156
- package/dist/types/systems/NiceFog.d.ts +0 -137
- package/dist/types/systems/NiceFormation.d.ts +0 -140
- package/dist/types/systems/NiceGacha.d.ts +0 -134
- package/dist/types/systems/NiceGambling.d.ts +0 -175
- package/dist/types/systems/NiceGem.d.ts +0 -165
- package/dist/types/systems/NiceGesture.d.ts +0 -502
- package/dist/types/systems/NiceGrappling.d.ts +0 -154
- package/dist/types/systems/NiceGrid.d.ts +0 -142
- package/dist/types/systems/NiceGuild.d.ts +0 -162
- package/dist/types/systems/NiceHaptics.d.ts +0 -112
- package/dist/types/systems/NiceHousing.d.ts +0 -197
- package/dist/types/systems/NiceInput.d.ts +0 -280
- package/dist/types/systems/NiceInventory.d.ts +0 -534
- package/dist/types/systems/NiceLOD.d.ts +0 -144
- package/dist/types/systems/NiceLeaderboard.d.ts +0 -191
- package/dist/types/systems/NiceLevel.d.ts +0 -304
- package/dist/types/systems/NiceLighting.d.ts +0 -214
- package/dist/types/systems/NiceLocalization.d.ts +0 -148
- package/dist/types/systems/NiceLocomotion.d.ts +0 -398
- package/dist/types/systems/NiceLogger.d.ts +0 -117
- package/dist/types/systems/NiceLoot.d.ts +0 -176
- package/dist/types/systems/NiceMail.d.ts +0 -164
- package/dist/types/systems/NiceMap.d.ts +0 -234
- package/dist/types/systems/NiceMarriage.d.ts +0 -150
- package/dist/types/systems/NiceMastery.d.ts +0 -171
- package/dist/types/systems/NiceMatch.d.ts +0 -196
- package/dist/types/systems/NiceMatch3.d.ts +0 -118
- package/dist/types/systems/NiceMessageBus.d.ts +0 -115
- package/dist/types/systems/NiceMinimap.d.ts +0 -258
- package/dist/types/systems/NiceMining.d.ts +0 -175
- package/dist/types/systems/NiceModding.d.ts +0 -452
- package/dist/types/systems/NiceMount.d.ts +0 -152
- package/dist/types/systems/NiceNavigation.d.ts +0 -307
- package/dist/types/systems/NiceNetwork.d.ts +0 -568
- package/dist/types/systems/NiceNotification.d.ts +0 -438
- package/dist/types/systems/NiceObjective.d.ts +0 -395
- package/dist/types/systems/NiceParticle.d.ts +0 -639
- package/dist/types/systems/NiceParty.d.ts +0 -168
- package/dist/types/systems/NicePerformance.d.ts +0 -144
- package/dist/types/systems/NicePet.d.ts +0 -167
- package/dist/types/systems/NicePhotoMode.d.ts +0 -270
- package/dist/types/systems/NicePhysics.d.ts +0 -326
- package/dist/types/systems/NicePlatformer.d.ts +0 -158
- package/dist/types/systems/NicePool.d.ts +0 -128
- package/dist/types/systems/NicePortal.d.ts +0 -178
- package/dist/types/systems/NicePostProcess.d.ts +0 -254
- package/dist/types/systems/NiceProcedural.d.ts +0 -202
- package/dist/types/systems/NiceProfile.d.ts +0 -223
- package/dist/types/systems/NiceProjectile.d.ts +0 -157
- package/dist/types/systems/NicePvP.d.ts +0 -199
- package/dist/types/systems/NiceQTE.d.ts +0 -160
- package/dist/types/systems/NiceQuest.d.ts +0 -620
- package/dist/types/systems/NiceRaid.d.ts +0 -215
- package/dist/types/systems/NiceRanking.d.ts +0 -399
- package/dist/types/systems/NiceReplay.d.ts +0 -180
- package/dist/types/systems/NiceReputation.d.ts +0 -151
- package/dist/types/systems/NiceResource.d.ts +0 -200
- package/dist/types/systems/NiceRhythm.d.ts +0 -148
- package/dist/types/systems/NiceRoguelike.d.ts +0 -276
- package/dist/types/systems/NiceRune.d.ts +0 -202
- package/dist/types/systems/NiceSaveSystem.d.ts +0 -194
- package/dist/types/systems/NiceSceneManager.d.ts +0 -112
- package/dist/types/systems/NiceScore.d.ts +0 -186
- package/dist/types/systems/NiceScreenFX.d.ts +0 -235
- package/dist/types/systems/NiceScreenshot.d.ts +0 -443
- package/dist/types/systems/NiceScribe.d.ts +0 -239
- package/dist/types/systems/NiceSeason.d.ts +0 -176
- package/dist/types/systems/NiceSerialization.d.ts +0 -89
- package/dist/types/systems/NiceServiceLocator.d.ts +0 -94
- package/dist/types/systems/NiceShop.d.ts +0 -528
- package/dist/types/systems/NiceSignal.d.ts +0 -112
- package/dist/types/systems/NiceSkillTree.d.ts +0 -237
- package/dist/types/systems/NiceSocial.d.ts +0 -580
- package/dist/types/systems/NiceSpawner.d.ts +0 -237
- package/dist/types/systems/NiceSpell.d.ts +0 -216
- package/dist/types/systems/NiceState.d.ts +0 -224
- package/dist/types/systems/NiceStateMachine.d.ts +0 -108
- package/dist/types/systems/NiceStatus.d.ts +0 -116
- package/dist/types/systems/NiceStealth.d.ts +0 -204
- package/dist/types/systems/NiceSteam.d.ts +0 -255
- package/dist/types/systems/NiceStreaming.d.ts +0 -173
- package/dist/types/systems/NiceSwimming.d.ts +0 -166
- package/dist/types/systems/NiceTalent.d.ts +0 -154
- package/dist/types/systems/NiceTarget.d.ts +0 -121
- package/dist/types/systems/NiceTerrain.d.ts +0 -143
- package/dist/types/systems/NiceTilemap.d.ts +0 -218
- package/dist/types/systems/NiceTimer.d.ts +0 -153
- package/dist/types/systems/NiceTournament.d.ts +0 -190
- package/dist/types/systems/NiceTrading.d.ts +0 -238
- package/dist/types/systems/NiceTransmog.d.ts +0 -142
- package/dist/types/systems/NiceTutorial.d.ts +0 -248
- package/dist/types/systems/NiceTween.d.ts +0 -164
- package/dist/types/systems/NiceUI.d.ts +0 -364
- package/dist/types/systems/NiceVFX.d.ts +0 -333
- package/dist/types/systems/NiceVehicle.d.ts +0 -176
- package/dist/types/systems/NiceVoice.d.ts +0 -502
- package/dist/types/systems/NiceWater.d.ts +0 -162
- package/dist/types/systems/NiceWave.d.ts +0 -174
- package/dist/types/systems/NiceWaypoint.d.ts +0 -165
- package/dist/types/systems/NiceWeather.d.ts +0 -225
- package/dist/types/systems/NiceXR.d.ts +0 -187
- package/dist/types/systems/index.d.ts +0 -182
- package/dist/types/templates/index.d.ts +0 -2
- package/dist/types/tilemap/index.d.ts +0 -1
- package/dist/types/tutorials/TutorialEditor.d.ts +0 -43
- package/dist/types/tutorials/VoiceNarration.d.ts +0 -75
- package/dist/types/tutorials/content/Tutorials_T04.d.ts +0 -3
- package/dist/types/tutorials/content/UITutorials.d.ts +0 -14
- package/dist/types/tutorials/content/index.d.ts +0 -5
- package/dist/types/tutorials/index.d.ts +0 -6
- package/dist/types/ui/index.d.ts +0 -2
- package/dist/types/visual-scripting/VisualScriptDebugger.d.ts +0 -145
- package/dist/types/visual-scripting/VisualScriptExecutor.d.ts +0 -100
- package/dist/types/visual-scripting/VisualScriptGraph.d.ts +0 -173
- package/dist/types/visual-scripting/VisualScriptNode.d.ts +0 -157
- package/dist/types/visual-scripting/index.d.ts +0 -6
- package/dist/types/visual-scripting/nodes/ActionNodes.d.ts +0 -152
- package/dist/types/visual-scripting/nodes/EventNodes.d.ts +0 -95
- package/dist/types/visual-scripting/nodes/FlowControlNodes.d.ts +0 -134
- package/dist/types/visual-scripting/nodes/LogicNodes.d.ts +0 -122
- package/dist/types/visual-scripting/nodes/MathNodes.d.ts +0 -170
- package/dist/types/visual-scripting/nodes/UtilityNodes.d.ts +0 -131
- package/dist/types/visual-scripting/nodes/VariableNodes.d.ts +0 -107
- package/dist/types/visual-scripting/nodes/index.d.ts +0 -21
- package/dist/types/visual-scripting/nodes/registerNodes.d.ts +0 -29
- package/dist/types/visual-scripting/types.d.ts +0 -402
- package/dist/types/xr/WebXRLayers.d.ts +0 -319
- package/dist/types/xr/index.d.ts +0 -2
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type EntityId = string;
|
|
3
|
-
export type RecipeId = string;
|
|
4
|
-
export type IngredientId = string;
|
|
5
|
-
export type StationId = string;
|
|
6
|
-
export type FoodId = string;
|
|
7
|
-
export type IngredientCategory = 'meat' | 'fish' | 'vegetable' | 'fruit' | 'grain' | 'dairy' | 'spice' | 'liquid' | 'sweetener' | 'oil' | 'herb';
|
|
8
|
-
export interface Ingredient {
|
|
9
|
-
id: IngredientId;
|
|
10
|
-
name: string;
|
|
11
|
-
category: IngredientCategory;
|
|
12
|
-
quality: number;
|
|
13
|
-
freshness: number;
|
|
14
|
-
spoilRate: number;
|
|
15
|
-
stackSize: number;
|
|
16
|
-
flavorProfile: {
|
|
17
|
-
sweet: number;
|
|
18
|
-
sour: number;
|
|
19
|
-
salty: number;
|
|
20
|
-
bitter: number;
|
|
21
|
-
umami: number;
|
|
22
|
-
spicy: number;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
export type DishCategory = 'appetizer' | 'main' | 'side' | 'dessert' | 'beverage' | 'soup' | 'salad' | 'snack';
|
|
26
|
-
export interface RecipeIngredient {
|
|
27
|
-
ingredientId: IngredientId;
|
|
28
|
-
amount: number;
|
|
29
|
-
optional?: boolean;
|
|
30
|
-
substitutes?: IngredientId[];
|
|
31
|
-
}
|
|
32
|
-
export interface CookingStep {
|
|
33
|
-
action: 'chop' | 'mix' | 'heat' | 'cool' | 'season' | 'plate' | 'garnish';
|
|
34
|
-
duration: number;
|
|
35
|
-
temperature?: number;
|
|
36
|
-
intensity?: number;
|
|
37
|
-
skillCheck?: boolean;
|
|
38
|
-
}
|
|
39
|
-
export interface Recipe {
|
|
40
|
-
id: RecipeId;
|
|
41
|
-
name: string;
|
|
42
|
-
description: string;
|
|
43
|
-
category: DishCategory;
|
|
44
|
-
ingredients: RecipeIngredient[];
|
|
45
|
-
steps: CookingStep[];
|
|
46
|
-
requiredStation: StationId;
|
|
47
|
-
requiredSkill: number;
|
|
48
|
-
baseCookTime: number;
|
|
49
|
-
difficulty: number;
|
|
50
|
-
baseQuality: number;
|
|
51
|
-
effects: FoodEffect[];
|
|
52
|
-
servings: number;
|
|
53
|
-
expirationTime?: number;
|
|
54
|
-
}
|
|
55
|
-
export type EffectType = 'heal' | 'stamina' | 'buff' | 'debuff' | 'satiation' | 'hydration';
|
|
56
|
-
export interface FoodEffect {
|
|
57
|
-
type: EffectType;
|
|
58
|
-
stat?: string;
|
|
59
|
-
value: number;
|
|
60
|
-
duration?: number;
|
|
61
|
-
scalewWithQuality?: boolean;
|
|
62
|
-
}
|
|
63
|
-
export interface CookedFood {
|
|
64
|
-
id: FoodId;
|
|
65
|
-
recipeId: RecipeId;
|
|
66
|
-
name: string;
|
|
67
|
-
quality: number;
|
|
68
|
-
freshness: number;
|
|
69
|
-
spoilRate: number;
|
|
70
|
-
effects: FoodEffect[];
|
|
71
|
-
cookedBy: EntityId;
|
|
72
|
-
cookedAt: number;
|
|
73
|
-
servingsRemaining: number;
|
|
74
|
-
}
|
|
75
|
-
export type StationType = 'prep-table' | 'stove' | 'oven' | 'grill' | 'fryer' | 'campfire' | 'cauldron' | 'mixer' | 'smoker';
|
|
76
|
-
export interface CookingStation {
|
|
77
|
-
id: StationId;
|
|
78
|
-
type: StationType;
|
|
79
|
-
name: string;
|
|
80
|
-
tier: number;
|
|
81
|
-
speedMultiplier: number;
|
|
82
|
-
qualityBonus: number;
|
|
83
|
-
currentCook?: ActiveCook;
|
|
84
|
-
fuelLevel?: number;
|
|
85
|
-
fuelCapacity?: number;
|
|
86
|
-
temperature?: number;
|
|
87
|
-
targetTemperature?: number;
|
|
88
|
-
}
|
|
89
|
-
export interface ActiveCook {
|
|
90
|
-
recipeId: RecipeId;
|
|
91
|
-
chefId: EntityId;
|
|
92
|
-
startTime: number;
|
|
93
|
-
currentStep: number;
|
|
94
|
-
progress: number;
|
|
95
|
-
ingredients: Map<IngredientId, number>;
|
|
96
|
-
qualityAccumulated: number;
|
|
97
|
-
perfectCooks: number;
|
|
98
|
-
failedSteps: number;
|
|
99
|
-
}
|
|
100
|
-
export interface ChefProfile {
|
|
101
|
-
entityId: EntityId;
|
|
102
|
-
skillLevel: number;
|
|
103
|
-
experience: number;
|
|
104
|
-
experienceToNextLevel: number;
|
|
105
|
-
knownRecipes: Set<RecipeId>;
|
|
106
|
-
masteredRecipes: Set<RecipeId>;
|
|
107
|
-
bonuses: {
|
|
108
|
-
speed: number;
|
|
109
|
-
quality: number;
|
|
110
|
-
yieldBonus: number;
|
|
111
|
-
criticalChance: number;
|
|
112
|
-
};
|
|
113
|
-
stats: {
|
|
114
|
-
dishesCooked: number;
|
|
115
|
-
perfectDishes: number;
|
|
116
|
-
failedDishes: number;
|
|
117
|
-
recipesLearned: number;
|
|
118
|
-
};
|
|
119
|
-
specializations: Map<DishCategory, number>;
|
|
120
|
-
}
|
|
121
|
-
export type CookingEventType = 'cooking-started' | 'step-completed' | 'step-failed' | 'perfect-cook' | 'cooking-completed' | 'cooking-failed' | 'recipe-learned' | 'recipe-mastered' | 'skill-increased' | 'food-spoiled' | 'station-out-of-fuel';
|
|
122
|
-
export interface CookingEvent {
|
|
123
|
-
type: CookingEventType;
|
|
124
|
-
entityId?: EntityId;
|
|
125
|
-
stationId?: StationId;
|
|
126
|
-
recipeId?: RecipeId;
|
|
127
|
-
data?: Record<string, unknown>;
|
|
128
|
-
}
|
|
129
|
-
export interface CookingSystemConfig {
|
|
130
|
-
baseSkillLevelCap?: number;
|
|
131
|
-
experiencePerDish?: number;
|
|
132
|
-
qualityFailureThreshold?: number;
|
|
133
|
-
perfectCookBonus?: number;
|
|
134
|
-
criticalSuccessBonus?: number;
|
|
135
|
-
spoilageMultiplier?: number;
|
|
136
|
-
masteryCookCount?: number;
|
|
137
|
-
}
|
|
138
|
-
export declare const DEFAULT_COOKING_CONFIG: CookingSystemConfig;
|
|
139
|
-
export declare class NiceCooking extends EventEmitter {
|
|
140
|
-
private recipes;
|
|
141
|
-
private ingredients;
|
|
142
|
-
private stations;
|
|
143
|
-
private chefs;
|
|
144
|
-
private cookedFoods;
|
|
145
|
-
private recipeHistory;
|
|
146
|
-
private nextFoodId;
|
|
147
|
-
private config;
|
|
148
|
-
constructor(config?: Partial<CookingSystemConfig>);
|
|
149
|
-
defineRecipe(recipe: Recipe): void;
|
|
150
|
-
getRecipe(id: RecipeId): Recipe | undefined;
|
|
151
|
-
getAllRecipes(): Recipe[];
|
|
152
|
-
getRecipesByCategory(category: DishCategory): Recipe[];
|
|
153
|
-
defineIngredient(ingredient: Ingredient): void;
|
|
154
|
-
getIngredient(id: IngredientId): Ingredient | undefined;
|
|
155
|
-
registerStation(station: CookingStation): void;
|
|
156
|
-
getStation(id: StationId): CookingStation | undefined;
|
|
157
|
-
addFuel(stationId: StationId, amount: number): void;
|
|
158
|
-
setTemperature(stationId: StationId, temperature: number): void;
|
|
159
|
-
registerChef(entityId: EntityId): void;
|
|
160
|
-
getChef(entityId: EntityId): ChefProfile | undefined;
|
|
161
|
-
learnRecipe(entityId: EntityId, recipeId: RecipeId): boolean;
|
|
162
|
-
startCooking(entityId: EntityId, stationId: StationId, recipeId: RecipeId, ingredients: Map<IngredientId, number>): boolean;
|
|
163
|
-
cancelCooking(stationId: StationId): void;
|
|
164
|
-
performSkillCheck(stationId: StationId, performance: number): {
|
|
165
|
-
success: boolean;
|
|
166
|
-
perfect: boolean;
|
|
167
|
-
quality: number;
|
|
168
|
-
};
|
|
169
|
-
update(deltaTime: number): void;
|
|
170
|
-
private updateCooking;
|
|
171
|
-
private advanceStep;
|
|
172
|
-
private completeCooking;
|
|
173
|
-
private awardExperience;
|
|
174
|
-
consumeFood(foodId: FoodId, servings?: number): {
|
|
175
|
-
effects: FoodEffect[];
|
|
176
|
-
} | null;
|
|
177
|
-
getLearnableRecipes(entityId: EntityId): Recipe[];
|
|
178
|
-
canCook(entityId: EntityId, recipeId: RecipeId, stationId: StationId): {
|
|
179
|
-
canCook: boolean;
|
|
180
|
-
reason?: string;
|
|
181
|
-
};
|
|
182
|
-
getFood(foodId: FoodId): CookedFood | undefined;
|
|
183
|
-
getFreshFoods(): CookedFood[];
|
|
184
|
-
}
|
|
185
|
-
export declare function createCookingSystem(config?: Partial<CookingSystemConfig>): NiceCooking;
|
|
186
|
-
export declare function defineRecipe(options: Recipe): Recipe;
|
|
187
|
-
export declare function defineIngredient(options: Ingredient): Ingredient;
|
|
188
|
-
export declare function createCookingStation(options: Partial<CookingStation> & {
|
|
189
|
-
id: StationId;
|
|
190
|
-
type: StationType;
|
|
191
|
-
name: string;
|
|
192
|
-
}): CookingStation;
|
|
193
|
-
export default NiceCooking;
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
export type CoroutineId = string;
|
|
3
|
-
export type CoroutineFunction = () => Generator<YieldInstruction, void, number>;
|
|
4
|
-
export type YieldInstruction = WaitForSeconds | WaitForFrames | WaitForCondition | WaitForCoroutine | WaitForAll | WaitForAny | null;
|
|
5
|
-
export declare class WaitForSeconds {
|
|
6
|
-
readonly seconds: number;
|
|
7
|
-
readonly type = "seconds";
|
|
8
|
-
constructor(seconds: number);
|
|
9
|
-
}
|
|
10
|
-
export declare class WaitForFrames {
|
|
11
|
-
readonly frames: number;
|
|
12
|
-
readonly type = "frames";
|
|
13
|
-
constructor(frames: number);
|
|
14
|
-
}
|
|
15
|
-
export declare class WaitForCondition {
|
|
16
|
-
readonly condition: () => boolean;
|
|
17
|
-
readonly type = "condition";
|
|
18
|
-
constructor(condition: () => boolean);
|
|
19
|
-
}
|
|
20
|
-
export declare class WaitForCoroutine {
|
|
21
|
-
readonly coroutineId: CoroutineId;
|
|
22
|
-
readonly type = "coroutine";
|
|
23
|
-
constructor(coroutineId: CoroutineId);
|
|
24
|
-
}
|
|
25
|
-
export declare class WaitForAll {
|
|
26
|
-
readonly coroutineIds: CoroutineId[];
|
|
27
|
-
readonly type = "all";
|
|
28
|
-
constructor(coroutineIds: CoroutineId[]);
|
|
29
|
-
}
|
|
30
|
-
export declare class WaitForAny {
|
|
31
|
-
readonly coroutineIds: CoroutineId[];
|
|
32
|
-
readonly type = "any";
|
|
33
|
-
constructor(coroutineIds: CoroutineId[]);
|
|
34
|
-
}
|
|
35
|
-
export type CoroutineState = 'running' | 'paused' | 'waiting' | 'completed' | 'cancelled';
|
|
36
|
-
export interface CoroutineInstance {
|
|
37
|
-
id: CoroutineId;
|
|
38
|
-
generator: Generator<YieldInstruction, void, number>;
|
|
39
|
-
state: CoroutineState;
|
|
40
|
-
currentYield: YieldInstruction | null;
|
|
41
|
-
waitTimer: number;
|
|
42
|
-
waitFrames: number;
|
|
43
|
-
tags: Set<string>;
|
|
44
|
-
priority: number;
|
|
45
|
-
createdAt: number;
|
|
46
|
-
onComplete?: () => void;
|
|
47
|
-
onCancel?: () => void;
|
|
48
|
-
}
|
|
49
|
-
export type CoroutineEventType = 'started' | 'completed' | 'cancelled' | 'paused' | 'resumed' | 'error';
|
|
50
|
-
export interface CoroutineEvent {
|
|
51
|
-
type: CoroutineEventType;
|
|
52
|
-
coroutineId: CoroutineId;
|
|
53
|
-
error?: Error;
|
|
54
|
-
}
|
|
55
|
-
export interface CoroutineConfig {
|
|
56
|
-
maxCoroutines?: number;
|
|
57
|
-
defaultPriority?: number;
|
|
58
|
-
warnOnExceed?: boolean;
|
|
59
|
-
}
|
|
60
|
-
export declare const DEFAULT_COROUTINE_CONFIG: CoroutineConfig;
|
|
61
|
-
export declare class NiceCoroutine extends EventEmitter {
|
|
62
|
-
private coroutines;
|
|
63
|
-
private nextId;
|
|
64
|
-
private frame;
|
|
65
|
-
private config;
|
|
66
|
-
private globalPaused;
|
|
67
|
-
constructor(config?: Partial<CoroutineConfig>);
|
|
68
|
-
start(fn: CoroutineFunction, options?: {
|
|
69
|
-
tags?: string[];
|
|
70
|
-
priority?: number;
|
|
71
|
-
onComplete?: () => void;
|
|
72
|
-
onCancel?: () => void;
|
|
73
|
-
}): CoroutineId;
|
|
74
|
-
stop(id: CoroutineId): boolean;
|
|
75
|
-
pause(id: CoroutineId): boolean;
|
|
76
|
-
resume(id: CoroutineId): boolean;
|
|
77
|
-
stopAll(): void;
|
|
78
|
-
pauseAll(): void;
|
|
79
|
-
resumeAll(): void;
|
|
80
|
-
stopByTag(tag: string): number;
|
|
81
|
-
pauseByTag(tag: string): number;
|
|
82
|
-
resumeByTag(tag: string): number;
|
|
83
|
-
isRunning(id: CoroutineId): boolean;
|
|
84
|
-
getState(id: CoroutineId): CoroutineState | undefined;
|
|
85
|
-
getCount(): number;
|
|
86
|
-
getRunningCount(): number;
|
|
87
|
-
getByTag(tag: string): CoroutineId[];
|
|
88
|
-
update(deltaTime: number): void;
|
|
89
|
-
private stepCoroutine;
|
|
90
|
-
private setupWait;
|
|
91
|
-
private checkWaitCondition;
|
|
92
|
-
getFrame(): number;
|
|
93
|
-
}
|
|
94
|
-
export declare function waitForSeconds(seconds: number): WaitForSeconds;
|
|
95
|
-
export declare function waitForFrames(frames: number): WaitForFrames;
|
|
96
|
-
export declare function waitUntil(condition: () => boolean): WaitForCondition;
|
|
97
|
-
export declare function waitForCoroutine(id: CoroutineId): WaitForCoroutine;
|
|
98
|
-
export declare function waitForAll(ids: CoroutineId[]): WaitForAll;
|
|
99
|
-
export declare function waitForAny(ids: CoroutineId[]): WaitForAny;
|
|
100
|
-
export declare function createCoroutineSystem(config?: Partial<CoroutineConfig>): NiceCoroutine;
|
|
101
|
-
export default NiceCoroutine;
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
export type RecipeId = string;
|
|
2
|
-
export type ItemId = string;
|
|
3
|
-
export type StationId = string;
|
|
4
|
-
export type CraftingCategoryId = string;
|
|
5
|
-
export type CraftingQuality = 'poor' | 'normal' | 'good' | 'excellent' | 'masterwork' | 'legendary';
|
|
6
|
-
export type RecipeDiscoveryType = 'known' | 'discovered' | 'recipe-item' | 'skill-unlock' | 'quest' | 'purchase';
|
|
7
|
-
export interface CraftingItem {
|
|
8
|
-
id: ItemId;
|
|
9
|
-
name: string;
|
|
10
|
-
description: string;
|
|
11
|
-
icon: string;
|
|
12
|
-
category: string;
|
|
13
|
-
stackable: boolean;
|
|
14
|
-
maxStack: number;
|
|
15
|
-
rarity: string;
|
|
16
|
-
value: number;
|
|
17
|
-
tags: string[];
|
|
18
|
-
customData?: Record<string, unknown>;
|
|
19
|
-
}
|
|
20
|
-
export interface ItemStack {
|
|
21
|
-
itemId: ItemId;
|
|
22
|
-
quantity: number;
|
|
23
|
-
quality?: CraftingQuality;
|
|
24
|
-
metadata?: Record<string, unknown>;
|
|
25
|
-
}
|
|
26
|
-
export interface RecipeIngredient {
|
|
27
|
-
itemId: ItemId;
|
|
28
|
-
quantity: number;
|
|
29
|
-
/** Allow specific quality or higher */
|
|
30
|
-
minQuality?: CraftingQuality;
|
|
31
|
-
/** Consumed in crafting (default true) */
|
|
32
|
-
consumed?: boolean;
|
|
33
|
-
}
|
|
34
|
-
export interface RecipeOutput {
|
|
35
|
-
itemId: ItemId;
|
|
36
|
-
quantity: number;
|
|
37
|
-
/** Base quality of output */
|
|
38
|
-
quality?: CraftingQuality;
|
|
39
|
-
/** Chance to produce (0-1, default 1) */
|
|
40
|
-
chance?: number;
|
|
41
|
-
/** Bonus quantity range */
|
|
42
|
-
bonusQuantity?: {
|
|
43
|
-
min: number;
|
|
44
|
-
max: number;
|
|
45
|
-
chance: number;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
export interface RecipeDefinition {
|
|
49
|
-
id: RecipeId;
|
|
50
|
-
name: string;
|
|
51
|
-
description: string;
|
|
52
|
-
icon: string;
|
|
53
|
-
category: CraftingCategoryId;
|
|
54
|
-
/** Required crafting station */
|
|
55
|
-
stationId: StationId | null;
|
|
56
|
-
/** Required ingredients */
|
|
57
|
-
ingredients: RecipeIngredient[];
|
|
58
|
-
/** Primary output */
|
|
59
|
-
output: RecipeOutput;
|
|
60
|
-
/** Secondary/bonus outputs */
|
|
61
|
-
secondaryOutputs?: RecipeOutput[];
|
|
62
|
-
/** Byproducts */
|
|
63
|
-
byproducts?: RecipeOutput[];
|
|
64
|
-
/** Time to craft in seconds (0 = instant) */
|
|
65
|
-
craftingTime: number;
|
|
66
|
-
/** Required crafting skill level */
|
|
67
|
-
requiredLevel: number;
|
|
68
|
-
/** Experience gained from crafting */
|
|
69
|
-
experienceGain: number;
|
|
70
|
-
/** Base success rate (0-1) */
|
|
71
|
-
baseSuccessRate: number;
|
|
72
|
-
/** Can craft multiple at once */
|
|
73
|
-
batchCraftable: boolean;
|
|
74
|
-
/** Max batch size */
|
|
75
|
-
maxBatchSize: number;
|
|
76
|
-
/** Resource costs (fuel, energy, etc.) */
|
|
77
|
-
resourceCosts?: {
|
|
78
|
-
resource: string;
|
|
79
|
-
amount: number;
|
|
80
|
-
}[];
|
|
81
|
-
/** Discovery type */
|
|
82
|
-
discoveryType: RecipeDiscoveryType;
|
|
83
|
-
/** Item needed to learn recipe */
|
|
84
|
-
recipeItemId?: ItemId;
|
|
85
|
-
/** Sort order */
|
|
86
|
-
sortOrder?: number;
|
|
87
|
-
/** Tags for filtering */
|
|
88
|
-
tags?: string[];
|
|
89
|
-
/** Custom data */
|
|
90
|
-
customData?: Record<string, unknown>;
|
|
91
|
-
}
|
|
92
|
-
export interface CraftingStationDefinition {
|
|
93
|
-
id: StationId;
|
|
94
|
-
name: string;
|
|
95
|
-
description: string;
|
|
96
|
-
icon: string;
|
|
97
|
-
/** Categories this station can craft */
|
|
98
|
-
categories: CraftingCategoryId[];
|
|
99
|
-
/** Crafting speed multiplier */
|
|
100
|
-
speedMultiplier: number;
|
|
101
|
-
/** Success rate bonus */
|
|
102
|
-
successRateBonus: number;
|
|
103
|
-
/** Quality chance bonus */
|
|
104
|
-
qualityBonus: number;
|
|
105
|
-
/** Number of simultaneous crafting slots */
|
|
106
|
-
craftingSlots: number;
|
|
107
|
-
/** Required player level to use */
|
|
108
|
-
requiredLevel: number;
|
|
109
|
-
/** Fuel/energy requirements */
|
|
110
|
-
fuelTypes?: ItemId[];
|
|
111
|
-
/** Sort order */
|
|
112
|
-
sortOrder?: number;
|
|
113
|
-
}
|
|
114
|
-
export interface CraftingStationState {
|
|
115
|
-
id: StationId;
|
|
116
|
-
active: boolean;
|
|
117
|
-
fuelRemaining: number;
|
|
118
|
-
currentRecipes: ActiveCraft[];
|
|
119
|
-
lastUsed: number;
|
|
120
|
-
}
|
|
121
|
-
export interface ActiveCraft {
|
|
122
|
-
id: string;
|
|
123
|
-
recipeId: RecipeId;
|
|
124
|
-
stationId: StationId | null;
|
|
125
|
-
quantity: number;
|
|
126
|
-
startedAt: number;
|
|
127
|
-
completesAt: number;
|
|
128
|
-
paused: boolean;
|
|
129
|
-
progress: number;
|
|
130
|
-
completed: boolean;
|
|
131
|
-
}
|
|
132
|
-
export interface CraftingResult {
|
|
133
|
-
success: boolean;
|
|
134
|
-
outputs: ItemStack[];
|
|
135
|
-
experienceGained: number;
|
|
136
|
-
qualityAchieved: CraftingQuality;
|
|
137
|
-
criticalSuccess: boolean;
|
|
138
|
-
failureReason?: string;
|
|
139
|
-
}
|
|
140
|
-
export interface CraftingSkillState {
|
|
141
|
-
level: number;
|
|
142
|
-
experience: number;
|
|
143
|
-
experienceToNextLevel: number;
|
|
144
|
-
totalExperience: number;
|
|
145
|
-
bonusSuccessRate: number;
|
|
146
|
-
bonusQualityChance: number;
|
|
147
|
-
bonusSpeed: number;
|
|
148
|
-
}
|
|
149
|
-
export type CraftingEventType = 'craft-started' | 'craft-completed' | 'craft-failed' | 'craft-cancelled' | 'recipe-discovered' | 'recipe-unlocked' | 'level-up' | 'queue-updated';
|
|
150
|
-
export interface CraftingEvent {
|
|
151
|
-
type: CraftingEventType;
|
|
152
|
-
timestamp: number;
|
|
153
|
-
data: unknown;
|
|
154
|
-
}
|
|
155
|
-
export type CraftingEventCallback = (event: CraftingEvent) => void;
|
|
156
|
-
export interface CraftingConfig {
|
|
157
|
-
/** Experience to level formula */
|
|
158
|
-
experienceFormula: (level: number) => number;
|
|
159
|
-
/** Max crafting skill level */
|
|
160
|
-
maxLevel: number;
|
|
161
|
-
/** Quality tier weights at different skill levels */
|
|
162
|
-
qualityWeights: Record<number, Record<CraftingQuality, number>>;
|
|
163
|
-
/** Success rate bonus per level */
|
|
164
|
-
successRatePerLevel: number;
|
|
165
|
-
/** Speed bonus per level */
|
|
166
|
-
speedPerLevel: number;
|
|
167
|
-
/** Auto-save state */
|
|
168
|
-
autoSave: boolean;
|
|
169
|
-
/** Storage key */
|
|
170
|
-
storageKey: string;
|
|
171
|
-
/** Inventory integration */
|
|
172
|
-
inventoryCheck?: (itemId: ItemId, quantity: number) => boolean;
|
|
173
|
-
inventoryRemove?: (itemId: ItemId, quantity: number) => boolean;
|
|
174
|
-
inventoryAdd?: (itemId: ItemId, quantity: number, quality?: CraftingQuality) => boolean;
|
|
175
|
-
}
|
|
176
|
-
export declare const DEFAULT_CRAFTING_CONFIG: CraftingConfig;
|
|
177
|
-
export declare class NiceCrafting {
|
|
178
|
-
private config;
|
|
179
|
-
private recipes;
|
|
180
|
-
private stations;
|
|
181
|
-
private stationStates;
|
|
182
|
-
private discoveredRecipes;
|
|
183
|
-
private skillState;
|
|
184
|
-
private activeCrafts;
|
|
185
|
-
private craftingTimer;
|
|
186
|
-
private eventListeners;
|
|
187
|
-
constructor(config?: Partial<CraftingConfig>);
|
|
188
|
-
on(event: CraftingEventType, callback: CraftingEventCallback): () => void;
|
|
189
|
-
private emit;
|
|
190
|
-
registerRecipe(recipe: RecipeDefinition): void;
|
|
191
|
-
registerRecipes(recipes: RecipeDefinition[]): void;
|
|
192
|
-
getRecipe(id: RecipeId): RecipeDefinition | undefined;
|
|
193
|
-
getAllRecipes(): RecipeDefinition[];
|
|
194
|
-
getDiscoveredRecipes(): RecipeDefinition[];
|
|
195
|
-
getRecipesByCategory(category: CraftingCategoryId): RecipeDefinition[];
|
|
196
|
-
getRecipesByStation(stationId: StationId): RecipeDefinition[];
|
|
197
|
-
discoverRecipe(recipeId: RecipeId, method?: RecipeDiscoveryType): boolean;
|
|
198
|
-
isRecipeDiscovered(recipeId: RecipeId): boolean;
|
|
199
|
-
learnRecipeFromItem(itemId: ItemId): RecipeId[];
|
|
200
|
-
registerStation(station: CraftingStationDefinition): void;
|
|
201
|
-
registerStations(stations: CraftingStationDefinition[]): void;
|
|
202
|
-
getStation(id: StationId): CraftingStationDefinition | undefined;
|
|
203
|
-
getStationState(id: StationId): CraftingStationState | undefined;
|
|
204
|
-
getAllStations(): CraftingStationDefinition[];
|
|
205
|
-
canCraft(recipeId: RecipeId, quantity?: number, stationId?: StationId): {
|
|
206
|
-
canCraft: boolean;
|
|
207
|
-
reason?: string;
|
|
208
|
-
};
|
|
209
|
-
startCraft(recipeId: RecipeId, quantity?: number, stationId?: StationId): string | null;
|
|
210
|
-
cancelCraft(craftId: string): boolean;
|
|
211
|
-
private startCraftingTimer;
|
|
212
|
-
private updateCrafting;
|
|
213
|
-
private completeCraft;
|
|
214
|
-
private rollQuality;
|
|
215
|
-
private randomInt;
|
|
216
|
-
addExperience(amount: number): void;
|
|
217
|
-
getSkillState(): CraftingSkillState;
|
|
218
|
-
getActiveCrafts(): ActiveCraft[];
|
|
219
|
-
getCraftById(id: string): ActiveCraft | undefined;
|
|
220
|
-
getCraftableRecipes(): RecipeDefinition[];
|
|
221
|
-
getCategories(): CraftingCategoryId[];
|
|
222
|
-
save(): string;
|
|
223
|
-
load(data: string): void;
|
|
224
|
-
saveToStorage(): void;
|
|
225
|
-
loadFromStorage(): boolean;
|
|
226
|
-
destroy(): void;
|
|
227
|
-
}
|
|
228
|
-
export declare function createCraftingSystem(config?: Partial<CraftingConfig>): NiceCrafting;
|