Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ public interface ITreeConfiguration{
boolean isBreakNetherTreeWarts();

boolean isBreakMangroveRoots();

int getSearchAreaRadius();

@NotNull
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
package fr.rakambda.fallingtree.common.tree;

import fr.rakambda.fallingtree.common.wrapper.IBlockPos;
import fr.rakambda.fallingtree.common.wrapper.ILevel;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedHashMap;
Expand All @@ -10,11 +15,6 @@
import static java.util.Comparator.comparingInt;
import static java.util.Objects.isNull;
import static java.util.stream.Collectors.toSet;
import fr.rakambda.fallingtree.common.wrapper.IBlockPos;
import fr.rakambda.fallingtree.common.wrapper.ILevel;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.jetbrains.annotations.NotNull;

@RequiredArgsConstructor
public class Tree{
Expand Down Expand Up @@ -114,12 +114,19 @@ private Optional<IBlockPos> getTopMostPart(){
}

@NotNull
public Collection<TreePart> getWarts(){
public Collection<TreePart> getNetherWarts(){
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Consider renaming this to getNetherWarts for consistency with the TreePartType enum and to improve clarity. It's good that you renamed it here, but consider if the old name exists anywhere else in the codebase.

Suggested change
public Collection<TreePart> getNetherWarts(){
public Collection<TreePart> getNetherWarts(){

return getParts().stream()
.filter(part -> part.treePartType() == TreePartType.NETHER_WART)
.collect(toSet());
}

@NotNull
public Collection<TreePart> getMangroveRoots(){
return getParts().stream()
.filter(part -> part.treePartType() == TreePartType.MANGROVE_ROOTS)
.collect(toSet());
}

@NotNull
public Optional<TreePart> getStart(){
return getParts().stream()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
package fr.rakambda.fallingtree.common.tree.breaking;

import java.util.Collection;
import java.util.List;
import static fr.rakambda.fallingtree.common.tree.TreePartType.NETHER_WART;
import static java.util.Objects.isNull;
import fr.rakambda.fallingtree.common.FallingTreeCommon;
import fr.rakambda.fallingtree.common.tree.IBreakAttemptResult;
import fr.rakambda.fallingtree.common.tree.SuccessResult;
Expand All @@ -17,6 +13,11 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import java.util.List;
import static fr.rakambda.fallingtree.common.tree.TreePartType.MANGROVE_ROOTS;
import static fr.rakambda.fallingtree.common.tree.TreePartType.NETHER_WART;
import static java.util.Objects.isNull;

@Log4j2
@RequiredArgsConstructor
Expand All @@ -39,7 +40,10 @@ public IBreakAttemptResult breakTree(boolean isCancellable, @NotNull IPlayer pla
var treePartLog = treePartLogOptional.get();
var level = tree.getLevel();
if(treePart.treePartType() == NETHER_WART && mod.getConfiguration().getTrees().isBreakNetherTreeWarts()){
return breakElements(isCancellable, tree, level, player, tool, treePartLog, tree.getWarts());
return breakElements(isCancellable, tree, level, player, tool, treePartLog, tree.getNetherWarts());
}
else if(treePart.treePartType() == MANGROVE_ROOTS && mod.getConfiguration().getTrees().isBreakMangroveRoots()){
return breakElements(isCancellable, tree, level, player, tool, treePartLog, tree.getMangroveRoots());
}
Comment on lines 41 to 47
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For improved readability, consider extracting the conditions into well-named variables. This can make the logic easier to follow at a glance.

For example:

boolean isNetherWart = treePart.treePartType() == NETHER_WART && mod.getConfiguration().getTrees().isBreakNetherTreeWarts();
boolean isMangroveRoot = treePart.treePartType() == MANGROVE_ROOTS && mod.getConfiguration().getTrees().isBreakMangroveRoots();

if (isNetherWart) {
    return breakElements(isCancellable, tree, level, player, tool, treePartLog, tree.getNetherWarts());
} else if (isMangroveRoot) {
    return breakElements(isCancellable, tree, level, player, tool, treePartLog, tree.getMangroveRoots());
} else {
    return breakElements(isCancellable, tree, level, player, tool, treePartLog, List.of());
}
Suggested change
var level = tree.getLevel();
if(treePart.treePartType() == NETHER_WART && mod.getConfiguration().getTrees().isBreakNetherTreeWarts()){
return breakElements(isCancellable, tree, level, player, tool, treePartLog, tree.getWarts());
return breakElements(isCancellable, tree, level, player, tool, treePartLog, tree.getNetherWarts());
}
else if(treePart.treePartType() == MANGROVE_ROOTS && mod.getConfiguration().getTrees().isBreakMangroveRoots()){
return breakElements(isCancellable, tree, level, player, tool, treePartLog, tree.getMangroveRoots());
}
boolean isNetherWart = treePart.treePartType() == NETHER_WART && mod.getConfiguration().getTrees().isBreakNetherTreeWarts();
boolean isMangroveRoot = treePart.treePartType() == MANGROVE_ROOTS && mod.getConfiguration().getTrees().isBreakMangroveRoots();
if (isNetherWart) {
return breakElements(isCancellable, tree, level, player, tool, treePartLog, tree.getNetherWarts());
} else if (isMangroveRoot) {
return breakElements(isCancellable, tree, level, player, tool, treePartLog, tree.getMangroveRoots());
} else {
return breakElements(isCancellable, tree, level, player, tool, treePartLog, List.of());
}

else{
return breakElements(isCancellable, tree, level, player, tool, treePartLog, List.of());
Expand Down