the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 49 lines 1.2 kB view raw
1#include "stdafx.h" 2#include "net.minecraft.world.level.levelgen.structure.h" 3#include "JavaMath.h" 4#include "Mth.h" 5 6const wstring MineShaftFeature::OPTION_CHANCE = L"chance"; 7 8MineShaftFeature::MineShaftFeature() 9{ 10 chance = 0.01; 11} 12 13wstring MineShaftFeature::getFeatureName() 14{ 15 return L"Mineshaft"; 16} 17 18MineShaftFeature::MineShaftFeature(unordered_map<wstring, wstring> options) 19{ 20 chance = 0.01; 21 22 for(AUTO_VAR(it,options.begin()); it != options.end(); ++it) 23 { 24 if (it->first.compare(OPTION_CHANCE) == 0) 25 { 26 chance = Mth::getDouble(it->second, chance); 27 } 28 } 29} 30 31bool MineShaftFeature::isFeatureChunk(int x, int z, bool bIsSuperflat) 32{ 33 bool forcePlacement = false; 34 LevelGenerationOptions *levelGenOptions = app.getLevelGenerationOptions(); 35 if( levelGenOptions != NULL ) 36 { 37 forcePlacement = levelGenOptions->isFeatureChunk(x,z,eFeature_Mineshaft); 38 } 39 40 return forcePlacement || (random->nextDouble() < chance && random->nextInt(80) < max(abs(x), abs(z))); 41} 42 43StructureStart *MineShaftFeature::createStructureStart(int x, int z) 44{ 45 // 4J added 46 app.AddTerrainFeaturePosition(eTerrainFeature_Mineshaft,x,z); 47 48 return new MineShaftStart(level, random, x, z); 49}