Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
2.0 kB · 69 lines
C
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869#pragma once
/*4J - Both modifier uuid and name have been replaced by an id enum. Note that we have special value"eModifierId_ANONYMOUS" for attribute modifiers that previously didn't have a fixed UUID and are never removed. To all intents and purposes anonymous modifiers don't have an ID and so are handled differently in some cases, for instance: 1. You can have multiple modifiers with the anonymous ID on a single attribute instance 2. Anonymous modifiers can't be removed from attribute instance by ID
IMPORTANT: Saved out to file so don't change order. All new values should be added at the end.*/
class HtmlString;
enum eMODIFIER_ID{ eModifierId_ANONYMOUS = 0,
eModifierId_ITEM_BASEDAMAGE,
eModifierId_MOB_FLEEING, eModifierId_MOB_SPRINTING,
eModifierId_MOB_ENDERMAN_ATTACKSPEED, eModifierId_MOB_PIG_ATTACKSPEED, eModifierId_MOB_WITCH_DRINKSPEED, eModifierId_MOB_ZOMBIE_BABYSPEED,
eModifierId_POTION_DAMAGEBOOST, eModifierId_POTION_HEALTHBOOST, eModifierId_POTION_MOVESPEED, eModifierId_POTION_MOVESLOWDOWN, eModifierId_POTION_WEAKNESS,
eModifierId_COUNT,};
class AttributeModifier{public: static const int OPERATION_ADDITION = 0; static const int OPERATION_MULTIPLY_BASE = 1; static const int OPERATION_MULTIPLY_TOTAL = 2; static const int TOTAL_OPERATIONS = 3;
private: double amount; int operation; wstring name; eMODIFIER_ID id; bool serialize;
void _init(eMODIFIER_ID id, const wstring name, double amount, int operation);
public: AttributeModifier(double amount, int operation); AttributeModifier(eMODIFIER_ID id, double amount, int operation);
eMODIFIER_ID getId(); wstring getName(); int getOperation(); double getAmount(); bool isSerializable(); AttributeModifier *setSerialize(bool serialize); bool equals(AttributeModifier *modifier); wstring toString(); HtmlString getHoverText(eATTRIBUTE_ID attribute); // 4J: Added to keep modifier readable string creation in one place};