Whitelist Option + Hiding Banned Blocks Rules (#7553)

* Whitelist Option

* Hide banned blocks rule
This commit is contained in:
MEEPofFaith
2022-10-06 11:14:48 -07:00
committed by GitHub
parent 4ac3eb1c9a
commit a7c7238cc8
9 changed files with 27 additions and 8 deletions

View File

@@ -853,11 +853,11 @@ public class Block extends UnlockableContent implements Senseable{
}
public boolean isVisible(){
return !isHidden();
return !isHidden() && (state.rules.editor || (!state.rules.hideBannedBlocks || !state.rules.isBanned(this)));
}
public boolean isPlaceable(){
return isVisible() && (!state.rules.bannedBlocks.contains(this) || state.rules.editor) && supportsEnv(state.rules.env);
return isVisible() && (!state.rules.isBanned(this) || state.rules.editor) && supportsEnv(state.rules.env);
}
/** @return whether this block supports a specific environment. */

View File

@@ -45,7 +45,7 @@ public class Constructor extends BlockProducer{
}
public boolean canProduce(Block b){
return b.isVisible() && b.size >= minBlockSize && b.size <= maxBlockSize && !(b instanceof CoreBlock) && !state.rules.bannedBlocks.contains(b) && b.environmentBuildable() && (filter.isEmpty() || filter.contains(b));
return b.isVisible() && b.size >= minBlockSize && b.size <= maxBlockSize && !(b instanceof CoreBlock) && !state.rules.isBanned(b) && b.environmentBuildable() && (filter.isEmpty() || filter.contains(b));
}
public class ConstructorBuild extends BlockProducerBuild{
@@ -91,4 +91,4 @@ public class Constructor extends BlockProducer{
recipe = Vars.content.block(read.s());
}
}
}
}

View File

@@ -44,7 +44,7 @@ public class PayloadRouter extends PayloadConveyor{
}
public boolean canSort(Block b){
return b.isVisible() && b.size <= size && !(b instanceof CoreBlock) && !state.rules.bannedBlocks.contains(b) && b.environmentBuildable();
return b.isVisible() && b.size <= size && !(b instanceof CoreBlock) && !state.rules.isBanned(b) && b.environmentBuildable();
}
public boolean canSort(UnitType t){

View File

@@ -76,7 +76,7 @@ public class PayloadSource extends PayloadBlock{
}
public boolean canProduce(Block b){
return b.isVisible() && b.size < size && !(b instanceof CoreBlock) && !state.rules.bannedBlocks.contains(b) && b.environmentBuildable();
return b.isVisible() && b.size < size && !(b instanceof CoreBlock) && !state.rules.isBanned(b) && b.environmentBuildable();
}
public boolean canProduce(UnitType t){