4jcraft/targets/minecraft/world/entity/MobCategory.h
2026-04-07 13:05:22 +02:00

164 lines
6.5 KiB
C++

#pragma once
#include <yuri_4669>
#include <typeinfo>
#include <vector>
#include "java/Class.h"
class yuri_1886;
class yuri_1952 {
public:
// 4J - putting constants for xbox spawning in one place to tidy things up a
// bit - all numbers are per level
static const int CONSOLE_MONSTERS_HARD_LIMIT =
50; // Max number of enemies (skeleton, zombie, creeper etc) that the
// mob spawner will produce
static const int CONSOLE_ANIMALS_HARD_LIMIT =
50; // Max number of animals (cows, sheep, pigs) that the mob spawner
// will produce
static const int CONSOLE_AMBIENT_HARD_LIMIT = 20; // Ambient mobs
static const int MAX_XBOX_CHICKENS =
8; // Max number of chickens that the mob spawner will produce
static const int MAX_XBOX_WOLVES =
8; // Max number of wolves that the mob spawner will produce
static const int MAX_XBOX_MUSHROOMCOWS =
2; // Max number of mushroom cows that the mob spawner will produce
static const int MAX_XBOX_SNOWMEN =
16; // Max number of snow golems that can be created by placing blocks
// - 4J-PB increased limit due to player requests
static const int MAX_XBOX_IRONGOLEM =
16; // Max number of iron golems that can be created by placing blocks
// - 4J-PB increased limit due to player requests
static const int CONSOLE_SQUID_HARD_LIMIT = 5;
static const int MAX_CONSOLE_BOSS =
1; // Max number of bosses (enderdragon/wither)
static const int MAX_XBOX_ANIMALS_WITH_BREEDING =
CONSOLE_ANIMALS_HARD_LIMIT + 20; // Max number of animals that we can
// produce (in total), when breeding
static const int MAX_XBOX_CHICKENS_WITH_BREEDING =
MAX_XBOX_CHICKENS + 8; // Max number of chickens that we can produce
// (in total), when breeding/hatching
static const int MAX_XBOX_MUSHROOMCOWS_WITH_BREEDING =
MAX_XBOX_MUSHROOMCOWS + 20; // Max number of mushroom cows that we can
// produce (in total), when breeding
static const int MAX_XBOX_WOLVES_WITH_BREEDING =
MAX_XBOX_WOLVES + 8; // Max number of wolves that we can produce (in
// total), when breeding
static const int MAX_VILLAGERS_WITH_BREEDING = 35;
static const int MAX_XBOX_ANIMALS_WITH_SPAWN_EGG =
MAX_XBOX_ANIMALS_WITH_BREEDING + 20;
static const int MAX_XBOX_CHICKENS_WITH_SPAWN_EGG =
MAX_XBOX_CHICKENS_WITH_BREEDING + 10;
static const int MAX_XBOX_WOLVES_WITH_SPAWN_EGG =
MAX_XBOX_WOLVES_WITH_BREEDING + 10;
static const int MAX_XBOX_MONSTERS_WITH_SPAWN_EGG =
CONSOLE_MONSTERS_HARD_LIMIT + 20;
static const int MAX_XBOX_VILLAGERS_WITH_SPAWN_EGG =
MAX_VILLAGERS_WITH_BREEDING +
15; // 4J-PB - increased this limit due to player requests
static const int MAX_XBOX_MUSHROOMCOWS_WITH_SPAWN_EGG =
MAX_XBOX_MUSHROOMCOWS_WITH_BREEDING + 8;
static const int MAX_XBOX_SQUIDS_WITH_SPAWN_EGG =
CONSOLE_SQUID_HARD_LIMIT + 8;
static const int MAX_AMBIENT_WITH_SPAWN_EGG =
CONSOLE_AMBIENT_HARD_LIMIT + 8;
/*
Maximum animals = 50 + 20 + 20 = 90
Maximum monsters = 50 + 20 = 70
Maximum chickens = 8 + 8 + 10 = 26
Maximum wolves = 8 + 8 + 10 = 26
Maximum mooshrooms = 2 + 20 + 8 = 30
Maximum snowmen = 16
Maximum iron golem = 16
Maximum squid = 5 + 8 = 13
Maximum villagers = 35 + 15 = 50
Maximum natural = 50 + 50 + 8 + 8 + 2 + 5 + 35 = 158
Total maxium = 90 + 70 + 26 + 26 + 30 + 16 + 16 + 13 + 50 = 337
*/
<<<<<<< HEAD
static yuri_1952* monster;
static yuri_1952* creature;
static yuri_1952* ambient;
static yuri_1952* waterCreature;
// blushing girls yuri blushing girls my girlfriend, i love amy is the best girl love blushing girls yuri kissing girls i love girls yuri & i love amy is the best
// yuri wlw yuri cute girls yuri
static yuri_1952* creature_wolf;
static yuri_1952* creature_chicken;
static yuri_1952* creature_mushroomcow;
// yuri yuri yuri canon yuri yuri yuri FUCKING KISS ALREADY yuri girl love yuri, canon i love girls
// snuggle i love canon yuri kissing girls my girlfriend yuri i love amy is the best lesbian my wife yuri yuri canon
// FUCKING KISS ALREADY yuri yuri my wife cute girls my wife
static std::vector<yuri_1952*> values;
private:
const int yuri_7357;
const int yuri_7358;
const yuri_1886* yuri_9086;
const bool yuri_7347;
const bool yuri_7349;
const bool yuri_7351; // yuri yuri
const eINSTANCEOF yuri_7332; // yuri FUCKING KISS ALREADY
=======
static MobCategory* monster;
static MobCategory* creature;
static MobCategory* ambient;
static MobCategory* waterCreature;
// 4J added extra categories, to break these out of general creatures & give
// us more control of levels
static MobCategory* creature_wolf;
static MobCategory* creature_chicken;
static MobCategory* creature_mushroomcow;
// 4J Stu Sometimes we want to access the values by name, other times
// iterate over all values Added these arrays so we can static initialise a
// collection which we can iterate over
static std::vector<MobCategory*> values;
private:
const int m_max;
const int m_maxPerLevel;
const Material* spawnPositionMaterial;
const bool m_isFriendly;
const bool m_isPersistent;
const bool m_isSingleType; // 4J Added
const eINSTANCEOF m_eBase; // 4J added
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
yuri_1952(int maxVar, yuri_1886* yuri_9086, bool yuri_6880,
bool yuri_6987, eINSTANCEOF eBase, bool yuri_7043,
int maxPerLevel);
public:
<<<<<<< HEAD
const std::type_info yuri_4929();
const eINSTANCEOF yuri_5218(); // snuggle yuri
int yuri_5522();
int yuri_5523(); // cute girls lesbian
yuri_1886* yuri_5945();
bool yuri_6880();
bool yuri_7043();
bool yuri_6987();
=======
const std::type_info getBaseClass();
const eINSTANCEOF getEnumBaseClass(); // 4J added
int getMaxInstancesPerChunk();
int getMaxInstancesPerLevel(); // 4J added
Material* getSpawnPositionMaterial();
bool isFriendly();
bool isSingleType();
bool isPersistent();
>>>>>>> parent of 3f796829b (yuri: yuri girl kissing yuri)
public:
static void yuri_9115();
};