mirror of
https://github.com/cuberite/cuberite.git
synced 2025-01-05 10:27:10 +08:00
Update Minecraft Wiki links to new domain (#5532)
* Update Minecraft Wiki links to new domain * Added Spongecade to contributors * Sorted Spongecade
This commit is contained in:
parent
1d4e036e39
commit
ebeb164d2b
@ -79,6 +79,7 @@ Seadragon91 (Lukas Pioch)
|
||||
Sofapriester
|
||||
Spekdrum (Pablo Beltran)
|
||||
SphinxC0re
|
||||
Spongecade (Updated wiki links)
|
||||
steve-nzr
|
||||
structinf (xdot)
|
||||
sweetgiorni
|
||||
|
@ -24,7 +24,7 @@ I'd say that the important topics are:
|
||||
Useful Resources
|
||||
----------------
|
||||
|
||||
- [Minecraft Wiki](https://minecraft.gamepedia.com/Minecraft_Wiki)
|
||||
- [Minecraft Wiki](https://minecraft.wiki/w/Minecraft_Wiki)
|
||||
- [Minecraft Protocol Wiki](http://wiki.vg/Main_Page)
|
||||
- [Lua API Documentation](https://api.cuberite.org/)
|
||||
- [Visual Studio Community Edition Download](https://www.visualstudio.com/downloads/)
|
||||
@ -127,7 +127,7 @@ Special Things
|
||||
|
||||
[1]: https://book.cuberite.org/
|
||||
[2]: https://github.com/cuberite/cuberite/blob/master/TESTING.md
|
||||
[3]: https://minecraft.gamepedia.com/Minecraft_Wiki
|
||||
[3]: https://minecraft.wiki/w/Minecraft_Wiki
|
||||
[4]: https://github.com/cuberite/cuberite/blob/master/CONTRIBUTING.md
|
||||
[5]: https://github.com/cuberite/cuberite/blob/master/COMPILING.md
|
||||
[6]: https://github.com/cuberite/cuberite/issues?q=is%3Aopen+is%3Aissue+label%3Aeffort%2Feasy
|
||||
|
@ -9746,7 +9746,7 @@ a_Player:OpenWindow(Window);
|
||||
Type = "Vector3i",
|
||||
},
|
||||
},
|
||||
Notes = "Function to find suitable teleport destination in or below box. Returns true and places result in Destination if found, otherwise returns false. Details at: {{https://minecraft.fandom.com/wiki/Enderman#Teleportation}}.",
|
||||
Notes = "Function to find suitable teleport destination in or below box. Returns true and places result in Destination if found, otherwise returns false. Details at: {{https://minecraft.wiki/w/Enderman#Teleportation}}.",
|
||||
},
|
||||
{
|
||||
Params =
|
||||
@ -9772,7 +9772,7 @@ a_Player:OpenWindow(Window);
|
||||
Type = "cBoundingBox",
|
||||
},
|
||||
},
|
||||
Notes = "Function to find suitable teleport destination in or below box. Returns true and places result in Destination if found, otherwise returns false. Details at: {{https://minecraft.fandom.com/wiki/Enderman#Teleportation}}.",
|
||||
Notes = "Function to find suitable teleport destination in or below box. Returns true and places result in Destination if found, otherwise returns false. Details at: {{https://minecraft.wiki/w/Enderman#Teleportation}}.",
|
||||
},
|
||||
{
|
||||
Params =
|
||||
@ -9798,7 +9798,7 @@ a_Player:OpenWindow(Window);
|
||||
Type = "number",
|
||||
},
|
||||
},
|
||||
Notes = "Function to find suitable teleport destination in or below box. Returns true and places result in Destination if found, otherwise returns false. Details at: {{https://minecraft.fandom.com/wiki/Enderman#Teleportation}}.",
|
||||
Notes = "Function to find suitable teleport destination in or below box. Returns true and places result in Destination if found, otherwise returns false. Details at: {{https://minecraft.wiki/w/Enderman#Teleportation}}.",
|
||||
},
|
||||
},
|
||||
HasEntityEffect =
|
||||
|
@ -4,7 +4,7 @@
|
||||
# The time for a brewing recipe is always 20 seconds (400 ticks).
|
||||
#
|
||||
# Minecraft-Wiki Brewing:
|
||||
# https://minecraft.gamepedia.com/Brewing
|
||||
# https://minecraft.wiki/w/Brewing
|
||||
#
|
||||
# A brewing recipe has this format:
|
||||
# Data Value + Ingredient = Potion
|
||||
|
@ -22,7 +22,7 @@
|
||||
<p>We're seeing an increased need to store "prefabs" - little areas with predefined block contents, such as village houses or fortress rooms - in collections. We have one collection of village houses for the plains village, one collection for the desert village, one collection for the nether fortress... And there are plans in the future to use even more collections - trees, overworld fortresses, more village types and even custom structures. The point that they have in common is that they need to store not only the prefabs, but also metadata for those prefabs - how often they generate, how they connect together. There's even need for metadata for the entire collection, such as what the accepted biomes are, what block should village roads use, and various other generator parameters. So we need a file format that could store all this information together.</p>
|
||||
<p>There are some existing formats available to consider first:
|
||||
<ul>
|
||||
<li><a href="https://minecraft.gamepedia.com/Schematic_file_format"><b>schematic</b></a> - file format native to MCEdit / Bukkit / WorldEdit communities. Can store the prefab, the block entities and regular entities, and any metadata. Cannot store multiple prefabs. No effort to read or write, there's already code to do that (except for the entities) in the server.</li>
|
||||
<li><a href="https://minecraft.wiki/w/Schematic_file_format"><b>schematic</b></a> - file format native to MCEdit / Bukkit / WorldEdit communities. Can store the prefab, the block entities and regular entities, and any metadata. Cannot store multiple prefabs. No effort to read or write, there's already code to do that (except for the entities) in the server.</li>
|
||||
<li><a href="https://dev.bukkit.org/projects/terrain-control"><b>bob / bo2 / bo3</b></a> - file format created for prefabs in the Terrain Control mod. Can store the prefab and any metadata. Support for block entities and regular entities is unknown. Cannot store multiple prefabs. Medium difficulty for reading and writing, would need new parser and serializer. Unknown (but assumed true) whether the format truly supports any metadata.</li>
|
||||
<li><a href="https://github.com/cuberite/cuberite/tree/master/src/Generating/Prefabs"><b>cpp</b></a> - export from our Gallery server directly into C++ source files. Can store the prefab and any metadata, block entities and regular entities currently not implemented but could be added. Very difficult for reading, writing already implemented. Only usable when compiling directly into the server. Can store multiple prefabs and metadata for the entire set.</li>
|
||||
</ul>
|
||||
|
@ -48,7 +48,7 @@ public:
|
||||
/** Is this block solid (player cannot walk through)? */
|
||||
static bool IsSolid(BLOCKTYPE Block);
|
||||
|
||||
/** Is a block transparent? (https://minecraft.gamepedia.com/Opacity) */
|
||||
/** Is a block transparent? (https://minecraft.wiki/w/Opacity) */
|
||||
static bool IsTransparent(BLOCKTYPE Block);
|
||||
|
||||
/** Can a spectator interact with this block? */
|
||||
|
@ -273,7 +273,7 @@ enum ENUM_BLOCK_TYPE : BLOCKTYPE
|
||||
E_BLOCK_STRUCTURE_BLOCK = 255,
|
||||
|
||||
// Keep these two as the last values. Update the last block value to the last block with an id less than 255 when adding another block
|
||||
// IsValidBlock() depends on this (255 gets checked additionally because there is a gap. See https://minecraft.gamepedia.com/Data_values#Block_IDs
|
||||
// IsValidBlock() depends on this (255 gets checked additionally because there is a gap. See https://minecraft.wiki/w/Data_values#Block_IDs
|
||||
E_BLOCK_NUMBER_OF_TYPES = E_BLOCK_CONCRETE_POWDER + 1, ///< Number of individual (different) blocktypes
|
||||
E_BLOCK_MAX_TYPE_ID = E_BLOCK_NUMBER_OF_TYPES - 1, ///< Maximum BlockType number used
|
||||
|
||||
|
@ -64,7 +64,7 @@ bool cBlockBedHandler::OnUse(
|
||||
const Vector3i a_CursorPos
|
||||
) const
|
||||
{
|
||||
// Source: https://minecraft.gamepedia.com/Bed#Sleeping
|
||||
// Source: https://minecraft.wiki/w/Bed#Sleeping
|
||||
|
||||
// Sleeping in bed only allowed in Overworld, beds explode elsewhere:
|
||||
if (a_WorldInterface.GetDimension() != dimOverworld)
|
||||
|
@ -65,7 +65,7 @@ private:
|
||||
}
|
||||
case E_BLOCK_CROPS:
|
||||
{
|
||||
// https://minecraft.fandom.com/wiki/Seeds_(Wheat)
|
||||
// https://minecraft.wiki/w/Seeds_(Wheat)
|
||||
Res.Add(E_ITEM_WHEAT);
|
||||
const auto SeedCount = CalculateSeedCount(1, 3, ToolFortuneLevel(a_Tool));
|
||||
Res.Add(E_ITEM_SEEDS, SeedCount);
|
||||
@ -73,19 +73,19 @@ private:
|
||||
}
|
||||
case E_BLOCK_CARROTS:
|
||||
{
|
||||
// https://minecraft.gamepedia.com/Carrot#Breaking
|
||||
// https://minecraft.wiki/w/Carrot#Breaking
|
||||
const auto CarrotCount = CalculateSeedCount(1, 4, ToolFortuneLevel(a_Tool));
|
||||
Res.Add(E_ITEM_CARROT, CarrotCount);
|
||||
break;
|
||||
}
|
||||
case E_BLOCK_POTATOES:
|
||||
{
|
||||
// https://minecraft.gamepedia.com/Potato#Breaking
|
||||
// https://minecraft.wiki/w/Potato#Breaking
|
||||
const auto PotatoCount = CalculateSeedCount(2, 3, ToolFortuneLevel(a_Tool));
|
||||
Res.Add(E_ITEM_POTATO, PotatoCount);
|
||||
if (rand.RandBool(0.02))
|
||||
{
|
||||
// https://minecraft.gamepedia.com/Poisonous_Potato#Obtaining
|
||||
// https://minecraft.wiki/w/Poisonous_Potato#Obtaining
|
||||
// With a 2% chance, drop a poisonous potato as well:
|
||||
Res.Add(E_ITEM_POISONOUS_POTATO);
|
||||
}
|
||||
|
@ -195,7 +195,7 @@ private:
|
||||
const auto WorldPos = a_Chunk.RelativeToAbsolute(a_RelPos);
|
||||
|
||||
// Search for water in a close proximity:
|
||||
// Ref.: https://minecraft.gamepedia.com/Farmland#Hydration
|
||||
// Ref.: https://minecraft.wiki/w/Farmland#Hydration
|
||||
// TODO: Rewrite this to use the chunk and its neighbors directly
|
||||
cBlockArea Area;
|
||||
if (!Area.Read(*a_Chunk.GetWorld(), WorldPos - Vector3i(4, 0, 4), WorldPos + Vector3i(4, 1, 4)))
|
||||
|
@ -151,7 +151,7 @@ public:
|
||||
cChunk & a_Chunk
|
||||
) const;
|
||||
|
||||
/** Returns the base colour ID of the block, as will be represented on a map, as per documentation: https://minecraft.gamepedia.com/Map_item_format */
|
||||
/** Returns the base colour ID of the block, as will be represented on a map, as per documentation: https://minecraft.wiki/w/Map_item_format */
|
||||
virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) const;
|
||||
|
||||
/** Rotates a given block meta counter-clockwise. Default: no change
|
||||
@ -192,7 +192,7 @@ public:
|
||||
a_BonusMax is the amount to increase the max of randInt by, usually the fortune level (but not always)
|
||||
a_DropCap is the maximum items from one block with fortune,
|
||||
if unspecified set to 25 to prevent lag or crash with high level tools.
|
||||
Similar to uniform_bonus_count at https://minecraft.gamepedia.com/Loot_table#Functions */
|
||||
Similar to uniform_bonus_count at https://minecraft.wiki/w/Loot_table#Functions */
|
||||
static char FortuneDiscreteRandom(char a_MinDrop, char a_DefaultMax, unsigned char a_BonusMax, char a_DropCap = 25);
|
||||
|
||||
// Gets the blockhandler for the given block type.
|
||||
|
@ -26,8 +26,8 @@ private:
|
||||
{
|
||||
/*
|
||||
Use correct percent:
|
||||
https://minecraft.gamepedia.com/Melon_Seeds#Breaking
|
||||
https://minecraft.gamepedia.com/Pumpkin_Seeds#Breaking
|
||||
https://minecraft.wiki/w/Melon_Seeds#Breaking
|
||||
https://minecraft.wiki/w/Pumpkin_Seeds#Breaking
|
||||
*/
|
||||
|
||||
// Age > 7 (Impossible)
|
||||
@ -171,8 +171,8 @@ private:
|
||||
|
||||
private:
|
||||
|
||||
// https://minecraft.gamepedia.com/Pumpkin_Seeds#Breaking
|
||||
// https://minecraft.gamepedia.com/Melon_Seeds#Breaking
|
||||
// https://minecraft.wiki/w/Pumpkin_Seeds#Breaking
|
||||
// https://minecraft.wiki/w/Melon_Seeds#Breaking
|
||||
/** The array describes how many seed may be dropped at which age. The inner arrays describe the probability to drop 0, 1, 2, 3 seeds.
|
||||
The outer describes the age of the stem. */
|
||||
static constexpr std::array<std::array<double, 4>, 8> m_AgeSeedDropProbability
|
||||
|
@ -845,7 +845,7 @@ void cChunk::TickBlocks(void)
|
||||
m_BlockToTick = cChunkDef::IndexToCoordinate(Random.RandInt<size_t>(cChunkDef::NumBlocks - 1));
|
||||
|
||||
// Choose a number of blocks for each section to randomly tick.
|
||||
// http://minecraft.fandom.com/wiki/Tick#Random_tick
|
||||
// http://minecraft.wiki/w/Tick#Random_tick
|
||||
for (size_t Y = 0; Y < cChunkDef::NumSections; ++Y)
|
||||
{
|
||||
const auto Section = m_BlockData.GetSection(Y);
|
||||
@ -895,7 +895,7 @@ void cChunk::ApplyWeatherToTop()
|
||||
if (GetBlockLight(X, Height, Z) > 10)
|
||||
{
|
||||
// Snow only generates on blocks with a block light level of 10 or less.
|
||||
// Ref: https://minecraft.gamepedia.com/Snow_(layer)#Snowfall
|
||||
// Ref: https://minecraft.wiki/w/Snow_(layer)#Snowfall
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -161,7 +161,7 @@ bool IsValidBlock(int a_BlockType)
|
||||
{
|
||||
return (
|
||||
((a_BlockType > -1) && (a_BlockType <= E_BLOCK_MAX_TYPE_ID)) ||
|
||||
(a_BlockType == 255) // the blocks 253-254 don't exist yet -> https://minecraft.gamepedia.com/Data_values#Block_IDs
|
||||
(a_BlockType == 255) // the blocks 253-254 don't exist yet -> https://minecraft.wiki/w/Data_values#Block_IDs
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ Serialization will never put zero-level enchantments into the stringspec and wil
|
||||
class cEnchantments
|
||||
{
|
||||
public:
|
||||
/** Individual enchantment IDs, corresponding to their NBT IDs: https://minecraft.gamepedia.com/Data_values#Enchantment_IDs
|
||||
/** Individual enchantment IDs, corresponding to their NBT IDs: https://minecraft.wiki/w/Data_values#Enchantment_IDs
|
||||
*/
|
||||
|
||||
enum eEnchantment
|
||||
|
@ -442,7 +442,7 @@ bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI)
|
||||
bool MagicalCriticalHit = false;
|
||||
|
||||
// IsOnGround() only is false if the player is moving downwards
|
||||
// Ref: https://minecraft.gamepedia.com/Damage#Critical_Hits
|
||||
// Ref: https://minecraft.wiki/w/Damage#Critical_Hits
|
||||
if (!Player->IsOnGround())
|
||||
{
|
||||
if ((a_TDI.DamageType == dtAttack) || (a_TDI.DamageType == dtArrowAttack))
|
||||
@ -501,7 +501,7 @@ bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI)
|
||||
|
||||
// The duration of the effect is a random value between 1 and 1.5 seconds at level I,
|
||||
// increasing the max duration by 0.5 seconds each level.
|
||||
// Ref: https://minecraft.gamepedia.com/Enchanting#Bane_of_Arthropods
|
||||
// Ref: https://minecraft.wiki/w/Enchanting#Bane_of_Arthropods
|
||||
int Duration = 20 + GetRandomProvider().RandInt(BaneOfArthropodsLevel * 10); // Duration in ticks.
|
||||
Monster->AddEntityEffect(cEntityEffect::effSlowness, Duration, 4);
|
||||
|
||||
@ -614,7 +614,7 @@ bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI)
|
||||
int cEntity::GetRawDamageAgainst(const cEntity & a_Receiver)
|
||||
{
|
||||
// Returns the hitpoints that this pawn can deal to a_Receiver using its equipped items
|
||||
// Ref: https://minecraft.gamepedia.com/Damage#Dealing_damage as of 2012_12_20
|
||||
// Ref: https://minecraft.wiki/w/Damage#Dealing_damage as of 2012_12_20
|
||||
switch (this->GetEquippedWeapon().m_ItemType)
|
||||
{
|
||||
case E_ITEM_WOODEN_SWORD: return 4;
|
||||
@ -660,7 +660,7 @@ void cEntity::ApplyArmorDamage(int DamageBlocked)
|
||||
|
||||
bool cEntity::ArmorCoversAgainst(eDamageType a_DamageType)
|
||||
{
|
||||
// Ref.: https://minecraft.gamepedia.com/Armor#Effects as of 2012_12_20
|
||||
// Ref.: https://minecraft.wiki/w/Armor#Effects as of 2012_12_20
|
||||
switch (a_DamageType)
|
||||
{
|
||||
case dtOnFire:
|
||||
@ -777,7 +777,7 @@ float cEntity::GetArmorCoverAgainst(const cEntity * a_Attacker, eDamageType a_Da
|
||||
}
|
||||
|
||||
// Add up all armor points:
|
||||
// Ref.: https://minecraft.gamepedia.com/Armor#Defense_points
|
||||
// Ref.: https://minecraft.wiki/w/Armor#Defense_points
|
||||
int ArmorValue = 0;
|
||||
int Toughness = 0;
|
||||
switch (GetEquippedHelmet().m_ItemType)
|
||||
@ -814,7 +814,7 @@ float cEntity::GetArmorCoverAgainst(const cEntity * a_Attacker, eDamageType a_Da
|
||||
}
|
||||
|
||||
// TODO: Special armor cases, such as wool, saddles, dog's collar
|
||||
// Ref.: https://minecraft.gamepedia.com/Armor#Mob_armor as of 2012_12_20
|
||||
// Ref.: https://minecraft.wiki/w/Armor#Mob_armor as of 2012_12_20
|
||||
|
||||
float Reduction = std::max(ArmorValue / 5.0f, ArmorValue - a_Damage / (2.0f + Toughness / 4.0f));
|
||||
return (a_Damage * std::min(20.0f, Reduction) / 25.0f);
|
||||
@ -1797,7 +1797,7 @@ void cEntity::SetSize(const float a_Width, const float a_Height)
|
||||
|
||||
void cEntity::HandleAir(void)
|
||||
{
|
||||
// Ref.: https://minecraft.gamepedia.com/Chunk_format
|
||||
// Ref.: https://minecraft.wiki/w/Chunk_format
|
||||
// See if the entity is /submerged/ water (head is in water)
|
||||
// Get the type of block the entity is standing in:
|
||||
|
||||
|
@ -610,7 +610,7 @@ protected:
|
||||
/** Stores the air drag that is applied to the entity every tick, measured in speed ratio per tick
|
||||
Acts as air friction and slows down flight
|
||||
Will be interpolated if the server tick rate varies
|
||||
Data: https://minecraft.gamepedia.com/Entity#Motion_of_entities */
|
||||
Data: https://minecraft.wiki/w/Entity#Motion_of_entities */
|
||||
float m_AirDrag;
|
||||
|
||||
/** Last position sent to client via the Relative Move or Teleport packets (not Velocity)
|
||||
|
@ -23,7 +23,7 @@ cEntityEffect::eType cEntityEffect::GetPotionEffectType(short a_ItemDamage)
|
||||
{
|
||||
// Lowest four bits
|
||||
// Potion effect bits are different from entity effect values
|
||||
// For reference: https://minecraft.gamepedia.com/Java_Edition_data_values#.22Potion_effect.22_bits
|
||||
// For reference: https://minecraft.wiki/w/Java_Edition_data_values#.22Potion_effect.22_bits
|
||||
switch (a_ItemDamage & 0x0f)
|
||||
{
|
||||
case 0x01: return cEntityEffect::effRegeneration;
|
||||
@ -112,9 +112,9 @@ int cEntityEffect::GetPotionEffectDuration(short a_ItemDamage)
|
||||
SplashCoeff = IsPotionDrinkable(a_ItemDamage) ? 1 : 0.75;
|
||||
|
||||
// Ref.:
|
||||
// https://minecraft.gamepedia.com/Java_Edition_data_values#.22Tier.22_bit
|
||||
// https://minecraft.gamepedia.com/Java_Edition_data_values#.22Extended_duration.22_bit
|
||||
// https://minecraft.gamepedia.com/Java_Edition_data_values#.22Splash_potion.22_bit
|
||||
// https://minecraft.wiki/w/Java_Edition_data_values#.22Tier.22_bit
|
||||
// https://minecraft.wiki/w/Java_Edition_data_values#.22Extended_duration.22_bit
|
||||
// https://minecraft.wiki/w/Java_Edition_data_values#.22Splash_potion.22_bit
|
||||
|
||||
return static_cast<int>(base * TierCoeff * ExtCoeff * SplashCoeff);
|
||||
}
|
||||
@ -127,7 +127,7 @@ bool cEntityEffect::IsPotionDrinkable(short a_ItemDamage)
|
||||
{
|
||||
// Potions are drinkable if they are not splash potions.
|
||||
// i.e. potions are drinkable if the 14th lowest bit is not set
|
||||
// Ref.: https://minecraft.gamepedia.com/Java_Edition_data_values#.22Splash_potion.22_bit
|
||||
// Ref.: https://minecraft.wiki/w/Java_Edition_data_values#.22Splash_potion.22_bit
|
||||
return ((a_ItemDamage & 0x4000) == 0);
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ void cFireChargeEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
|
||||
if (!a_EntityHit.IsFireproof())
|
||||
{
|
||||
// TODO Damage Entity with 5 damage(from https://minecraft.gamepedia.com/Blaze#Blaze_fireball)
|
||||
// TODO Damage Entity with 5 damage(from https://minecraft.wiki/w/Blaze#Blaze_fireball)
|
||||
a_EntityHit.StartBurning(5 * 20); // 5 seconds of burning
|
||||
}
|
||||
}
|
||||
|
@ -654,7 +654,7 @@ bool cPawn::FindTeleportDestination(cWorld & a_World, const int a_HeightRequired
|
||||
/*
|
||||
Algorithm:
|
||||
Choose random destination.
|
||||
Seek downwards, regardless of distance until the block is made of movement-blocking material: https://minecraft.fandom.com/wiki/Materials
|
||||
Seek downwards, regardless of distance until the block is made of movement-blocking material: https://minecraft.wiki/w/Materials
|
||||
Succeeds if no liquid or solid blocks prevents from standing at destination.
|
||||
*/
|
||||
auto & Random = GetRandomProvider();
|
||||
|
@ -91,7 +91,7 @@ public:
|
||||
Checks for valid destinations in a cube of length 2 * a_HalfCubeWidth centred at a_Centre.
|
||||
Returns true and places destination in a_Destination if successful.
|
||||
Returns false if destination could be found after a_NumTries attempts.
|
||||
Details at: https://minecraft.fandom.com/wiki/Enderman#Teleportation. */
|
||||
Details at: https://minecraft.wiki/w/Enderman#Teleportation. */
|
||||
static bool FindTeleportDestination(cWorld & a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d & a_Destination, Vector3i a_Centre, const int a_HalfCubeWidth);
|
||||
|
||||
// tolua_end
|
||||
|
@ -2069,7 +2069,7 @@ void cPlayer::UseItem(int a_SlotNumber, short a_Damage)
|
||||
return;
|
||||
}
|
||||
|
||||
// Ref: https://minecraft.gamepedia.com/Enchanting#Unbreaking
|
||||
// Ref: https://minecraft.wiki/w/Enchanting#Unbreaking
|
||||
unsigned int UnbreakingLevel = Item.m_Enchantments.GetLevel(cEnchantments::enchUnbreaking);
|
||||
double chance = ItemCategory::IsArmor(Item.m_ItemType)
|
||||
? (0.6 + (0.4 / (UnbreakingLevel + 1))) : (1.0 / (UnbreakingLevel + 1));
|
||||
@ -2115,7 +2115,7 @@ void cPlayer::UseItem(int a_SlotNumber, short a_Damage)
|
||||
|
||||
void cPlayer::HandleFood(void)
|
||||
{
|
||||
// Ref.: https://minecraft.gamepedia.com/Hunger
|
||||
// Ref.: https://minecraft.wiki/w/Hunger
|
||||
|
||||
if (IsGameModeCreative() || IsGameModeSpectator())
|
||||
{
|
||||
@ -2606,7 +2606,7 @@ bool cPlayer::IsInsideWater()
|
||||
|
||||
float cPlayer::GetDigSpeed(BLOCKTYPE a_Block)
|
||||
{
|
||||
// Based on: https://minecraft.gamepedia.com/Breaking#Speed
|
||||
// Based on: https://minecraft.wiki/w/Breaking#Speed
|
||||
|
||||
// Get the base speed multiplier of the equipped tool for the mined block
|
||||
float MiningSpeed = GetEquippedItem().GetHandler().GetBlockBreakingStrength(a_Block);
|
||||
@ -2672,7 +2672,7 @@ float cPlayer::GetDigSpeed(BLOCKTYPE a_Block)
|
||||
|
||||
float cPlayer::GetMiningProgressPerTick(BLOCKTYPE a_Block)
|
||||
{
|
||||
// Based on https://minecraft.gamepedia.com/Breaking#Calculation
|
||||
// Based on https://minecraft.wiki/w/Breaking#Calculation
|
||||
// If we know it's instantly breakable then quit here:
|
||||
if (cBlockInfo::IsOneHitDig(a_Block))
|
||||
{
|
||||
@ -2695,7 +2695,7 @@ float cPlayer::GetMiningProgressPerTick(BLOCKTYPE a_Block)
|
||||
|
||||
bool cPlayer::CanInstantlyMine(BLOCKTYPE a_Block)
|
||||
{
|
||||
// Based on: https://minecraft.gamepedia.com/Breaking#Calculation
|
||||
// Based on: https://minecraft.wiki/w/Breaking#Calculation
|
||||
|
||||
// If the dig speed is greater than 30 times the hardness, then the wiki says we can instantly mine:
|
||||
return GetDigSpeed(a_Block) > (30 * cBlockInfo::GetHardness(a_Block));
|
||||
|
@ -123,12 +123,12 @@ public:
|
||||
float GetXpPercentage(void) const;
|
||||
|
||||
/** Calculates the amount of XP needed for a given level
|
||||
Ref: https://minecraft.gamepedia.com/XP
|
||||
Ref: https://minecraft.wiki/w/XP
|
||||
*/
|
||||
static int XpForLevel(int a_Level);
|
||||
|
||||
/** Inverse of XpForLevel
|
||||
Ref: https://minecraft.gamepedia.com/XP
|
||||
Ref: https://minecraft.wiki/w/XP
|
||||
values are as per this with pre-calculations
|
||||
*/
|
||||
static int CalcLevelFromXp(int a_CurrentXp);
|
||||
@ -580,13 +580,13 @@ public:
|
||||
/** Returns the progress mined per tick for the block a_Block as a fraction
|
||||
(1 would be completely mined)
|
||||
Depends on hardness values so check those are correct.
|
||||
Source: https://minecraft.gamepedia.com/Breaking#Calculation */
|
||||
Source: https://minecraft.wiki/w/Breaking#Calculation */
|
||||
float GetMiningProgressPerTick(BLOCKTYPE a_Block);
|
||||
|
||||
/** Given tool, enchantments, status effects, and world position
|
||||
returns whether a_Block would be instantly mined.
|
||||
Depends on hardness values so check those are correct.
|
||||
Source: https://minecraft.gamepedia.com/Breaking#Instant_breaking */
|
||||
Source: https://minecraft.wiki/w/Breaking#Instant_breaking */
|
||||
bool CanInstantlyMine(BLOCKTYPE a_Block);
|
||||
|
||||
/** Adds an Item to the list of known items.
|
||||
@ -779,7 +779,7 @@ private:
|
||||
If he has an enchanted tool with efficiency or he has a haste or mining fatique effect it gets multiplied by a specific factor depending on the strength of the effect or enchantment.
|
||||
In he is in water it gets divided by 5 except if his tool is enchanted with aqua affinity.
|
||||
If he is not on ground it also gets divided by 5.
|
||||
Source: https://minecraft.gamepedia.com/Breaking#Calculation */
|
||||
Source: https://minecraft.wiki/w/Breaking#Calculation */
|
||||
float GetDigSpeed(BLOCKTYPE a_Block);
|
||||
|
||||
/** Add the recipe Id to the known recipes.
|
||||
|
@ -2,9 +2,9 @@
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
https://minecraft.gamepedia.com/End_spike
|
||||
https://minecraft.gamepedia.com/End_Crystal
|
||||
https://minecraft.gamepedia.com/Ender_Dragon
|
||||
https://minecraft.wiki/w/End_spike
|
||||
https://minecraft.wiki/w/End_Crystal
|
||||
https://minecraft.wiki/w/Ender_Dragon
|
||||
*/
|
||||
|
||||
#include "FinishGen.h"
|
||||
|
@ -1914,7 +1914,7 @@ void cFinishGenOreNests::GenerateOre(
|
||||
}
|
||||
|
||||
// Gold ores are generated more often in Mesa-Type-Biomes:
|
||||
// https://minecraft.gamepedia.com/Gold_Ore
|
||||
// https://minecraft.wiki/w/Gold_Ore
|
||||
if (a_OreType == E_BLOCK_GOLD_ORE)
|
||||
{
|
||||
const auto BiomeSampleOne = a_ChunkDesc.GetBiome( 4, 4);
|
||||
|
@ -550,7 +550,7 @@ bool cItem::CanHaveEnchantment(int a_EnchantmentID)
|
||||
}
|
||||
|
||||
// The organization here is based on the summary at:
|
||||
// https://minecraft.gamepedia.com/Enchanting
|
||||
// https://minecraft.wiki/w/Enchanting
|
||||
// as of July 2017 (Minecraft 1.12).
|
||||
|
||||
// Hand tool enchantments
|
||||
|
@ -88,7 +88,7 @@ public:
|
||||
|
||||
|
||||
/** Attempts to use the bonemeal on the plant at the specified (absolute) position.
|
||||
The effect of fertilization depends on the plant: https://minecraft.gamepedia.com/Bone_Meal#Fertilizer
|
||||
The effect of fertilization depends on the plant: https://minecraft.wiki/w/Bone_Meal#Fertilizer
|
||||
- grow a few stages
|
||||
- grow 1 stage with a chance
|
||||
- drop pickups without destroying the plant
|
||||
@ -270,7 +270,7 @@ public:
|
||||
a_World.BroadcastSoundParticleEffect(EffectID::PARTICLE_HAPPY_VILLAGER, a_Position, 0);
|
||||
}
|
||||
|
||||
/** Grows a biome-dependent flower according to https://minecraft.gamepedia.com/Flower#Flower_biomes */
|
||||
/** Grows a biome-dependent flower according to https://minecraft.wiki/w/Flower#Flower_biomes */
|
||||
static void GrowFlower(cWorld & a_World, const Vector3i a_Position)
|
||||
{
|
||||
auto & Random = GetRandomProvider();
|
||||
|
@ -21,7 +21,7 @@ public:
|
||||
virtual bool IsDrinkable(short a_ItemDamage) const override
|
||||
{
|
||||
// Drinkable potion if 13th lowest bit is set
|
||||
// Ref.: https://minecraft.gamepedia.com/Potions#Data_value_table
|
||||
// Ref.: https://minecraft.wiki/w/Potions#Data_value_table
|
||||
return cEntityEffect::IsPotionDrinkable(a_ItemDamage);
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
}
|
||||
|
||||
/** Generates a random color for the sheep like the vanilla server.
|
||||
The percent's where used are from the wiki: https://minecraft.gamepedia.com/Sheep#Breeding */
|
||||
The percent's where used are from the wiki: https://minecraft.wiki/w/Sheep#Breeding */
|
||||
static NIBBLETYPE GenerateNaturalRandomColor(void);
|
||||
|
||||
bool IsSheared(void) const { return m_IsSheared; }
|
||||
|
@ -41,7 +41,7 @@ namespace Explodinator
|
||||
|
||||
/** Returns how much of an explosion Destruction Lazor's (tm) intensity the given block attenuates.
|
||||
Values are scaled as 0.3 * (0.3 + Wiki) since some compilers miss the constant folding optimisation.
|
||||
Wiki values are https://minecraft.gamepedia.com/Explosion#Blast_resistance as of 2021-02-06. */
|
||||
Wiki values are https://minecraft.wiki/w/Explosion#Blast_resistance as of 2021-02-06. */
|
||||
static float GetExplosionAbsorption(const BLOCKTYPE Block)
|
||||
{
|
||||
switch (Block)
|
||||
@ -386,7 +386,7 @@ namespace Explodinator
|
||||
const int HalfSide = TraceCubeSideLength / 2;
|
||||
auto & Random = GetRandomProvider();
|
||||
|
||||
// The following loops implement the tracing algorithm described in http://minecraft.gamepedia.com/Explosion
|
||||
// The following loops implement the tracing algorithm described in http://minecraft.wiki/w/Explosion
|
||||
|
||||
// Trace rays from the explosion centre to all points in a square of area TraceCubeSideLength * TraceCubeSideLength
|
||||
// for the top and bottom sides:
|
||||
|
@ -3152,7 +3152,7 @@ void cProtocol_1_8_0::WriteBlockEntity(cFastNBTWriter & a_Writer, const cBlockEn
|
||||
a_Writer.AddByte("SkullType", MobHeadEntity.GetType() & 0xFF);
|
||||
a_Writer.AddByte("Rot", MobHeadEntity.GetRotation() & 0xFF);
|
||||
|
||||
// The new Block Entity format for a Mob Head. See: https://minecraft.gamepedia.com/Head#Block_entity
|
||||
// The new Block Entity format for a Mob Head. See: https://minecraft.wiki/w/Head#Block_entity
|
||||
a_Writer.BeginCompound("Owner");
|
||||
a_Writer.AddString("Id", MobHeadEntity.GetOwnerUUID().ToShortString());
|
||||
a_Writer.AddString("Name", MobHeadEntity.GetOwnerName());
|
||||
|
@ -1697,7 +1697,7 @@ void cSlotAreaEnchanting::UpdateResult(cPlayer & a_Player)
|
||||
return;
|
||||
}
|
||||
|
||||
// Pseudocode found at: https://minecraft.gamepedia.com/Enchanting_mechanics
|
||||
// Pseudocode found at: https://minecraft.wiki/w/Enchanting_mechanics
|
||||
const auto Bookshelves = std::min(GetBookshelvesCount(*a_Player.GetWorld()), 15U);
|
||||
|
||||
// A PRNG initialised using the player's enchantment seed.
|
||||
|
@ -615,7 +615,7 @@ public:
|
||||
mWriter.AddByte ("SkullType", a_MobHead->GetType() & 0xFF);
|
||||
mWriter.AddByte ("Rot", a_MobHead->GetRotation() & 0xFF);
|
||||
|
||||
// The new Block Entity format for a Mob Head. See: https://minecraft.gamepedia.com/Head#Block_entity
|
||||
// The new Block Entity format for a Mob Head. See: https://minecraft.wiki/w/Head#Block_entity
|
||||
mWriter.BeginCompound("Owner");
|
||||
mWriter.AddString("Id", a_MobHead->GetOwnerUUID().ToShortString());
|
||||
mWriter.AddString("Name", a_MobHead->GetOwnerName());
|
||||
|
Loading…
Reference in New Issue
Block a user