mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 13:16:45 +01:00
Azalea trees bone mealed into existence no longer get marked unnatural
Fixes #4640
This commit is contained in:
parent
e55ce00d62
commit
a2e10dbd0c
@ -1,4 +1,5 @@
|
|||||||
Version 2.1.202
|
Version 2.1.202
|
||||||
|
Fixed a bug where mcMMO marked bonemealed Azalea trees as unnatural (and thus did not give XP or get affected by Tree Feller)
|
||||||
Added Amethyst_Block to experience.yml for Mining
|
Added Amethyst_Block to experience.yml for Mining
|
||||||
Added Flowering Azalea Leaves to Tree Feller's white list
|
Added Flowering Azalea Leaves to Tree Feller's white list
|
||||||
Fixed a bug where mcMMO didn't appropriately flag blocks as natural in some tree growing events
|
Fixed a bug where mcMMO didn't appropriately flag blocks as natural in some tree growing events
|
||||||
@ -8,9 +9,8 @@ Version 2.1.202
|
|||||||
Updated zh_CN locale (thanks GhostDC)
|
Updated zh_CN locale (thanks GhostDC)
|
||||||
Added some settings for over fishing (Settings are in experience.yml under Fishing_ExploitFix_Options - thanks tunagohan)
|
Added some settings for over fishing (Settings are in experience.yml under Fishing_ExploitFix_Options - thanks tunagohan)
|
||||||
|
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
This means tree feller will destroy flowering azalea leaves during its ability
|
This means tree feller will correctly traverse flowering azalea leaves during its ability
|
||||||
|
|
||||||
Version 2.1.201
|
Version 2.1.201
|
||||||
Tweaked the visual/audio effect for Rupture
|
Tweaked the visual/audio effect for Rupture
|
||||||
|
@ -238,8 +238,11 @@ public class BlockListener implements Listener {
|
|||||||
WorldCompatibilityLayer worldCompatibilityLayer = mcMMO.getCompatibilityManager().getWorldCompatibilityLayer();
|
WorldCompatibilityLayer worldCompatibilityLayer = mcMMO.getCompatibilityManager().getWorldCompatibilityLayer();
|
||||||
|
|
||||||
if(BlockUtils.isWithinWorldBounds(worldCompatibilityLayer, block)) {
|
if(BlockUtils.isWithinWorldBounds(worldCompatibilityLayer, block)) {
|
||||||
|
//NOTE: BlockMultiPlace has its own logic so don't handle anything that would overlap
|
||||||
|
if (!(event instanceof BlockMultiPlaceEvent)) {
|
||||||
mcMMO.getPlaceStore().setTrue(blockState);
|
mcMMO.getPlaceStore().setTrue(blockState);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
@ -276,7 +279,16 @@ public class BlockListener implements Listener {
|
|||||||
|
|
||||||
/* Check if the blocks placed should be monitored so they do not give out XP in the future */
|
/* Check if the blocks placed should be monitored so they do not give out XP in the future */
|
||||||
if(BlockUtils.isWithinWorldBounds(worldCompatibilityLayer, block)) {
|
if(BlockUtils.isWithinWorldBounds(worldCompatibilityLayer, block)) {
|
||||||
mcMMO.getPlaceStore().setTrue(blockState);
|
//Updated: 10/5/2021
|
||||||
|
//Note: For some reason Azalea trees trigger this event but no other tree does (as of 10/5/2021) but if this changes in the future we may need to update this
|
||||||
|
if(BlockUtils.isPartOfTree(event.getBlockPlaced())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Track unnatural blocks
|
||||||
|
for(BlockState replacedStates : event.getReplacedBlockStates()) {
|
||||||
|
mcMMO.getPlaceStore().setTrue(replacedStates);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -285,8 +285,8 @@ public final class BlockUtils {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isPartOfTree(Block rayCast) {
|
public static boolean isPartOfTree(Block block) {
|
||||||
return hasWoodcuttingXP(rayCast.getState()) || isNonWoodPartOfTree(rayCast.getType());
|
return hasWoodcuttingXP(block.getState()) || isNonWoodPartOfTree(block.getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isWithinWorldBounds(@NotNull WorldCompatibilityLayer worldCompatibilityLayer, @NotNull Block block) {
|
public static boolean isWithinWorldBounds(@NotNull WorldCompatibilityLayer worldCompatibilityLayer, @NotNull Block block) {
|
||||||
|
Loading…
Reference in New Issue
Block a user