Skip to content

Commit

Permalink
Add for each helpers to building block object
Browse files Browse the repository at this point in the history
Just a more convenient version of the values listing, useful for creative tabs

(cherry picked from commit 0a89c76)
  • Loading branch information
KnightMiner committed Jan 1, 2025
1 parent 3499d3d commit fc0e80e
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package slimeknights.mantle.registration.object;

import net.minecraft.core.Registry;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SlabBlock;
import net.minecraft.world.level.block.StairBlock;
Expand All @@ -9,6 +10,7 @@
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.function.Consumer;
import java.util.function.Supplier;

/**
Expand Down Expand Up @@ -70,4 +72,11 @@ public StairBlock getStairs() {
public List<Block> values() {
return Arrays.asList(get(), getSlab(), getStairs());
}

/** Runs the consumer on each element in the object */
public void forEach(Consumer<ItemLike> consumer) {
consumer.accept(get());
consumer.accept(getSlab());
consumer.accept(getStairs());
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package slimeknights.mantle.registration.object;

import net.minecraft.core.Registry;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.FenceBlock;
import slimeknights.mantle.registration.RegistrationHelper;

import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.function.Consumer;
import java.util.function.Supplier;

/**
Expand Down Expand Up @@ -45,4 +47,10 @@ public FenceBlock getFence() {
public List<Block> values() {
return Arrays.asList(get(), getSlab(), getStairs(), getFence());
}

@Override
public void forEach(Consumer<ItemLike> consumer) {
super.forEach(consumer);
consumer.accept(getFence());
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package slimeknights.mantle.registration.object;

import net.minecraft.core.Registry;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.WallBlock;
import slimeknights.mantle.registration.RegistrationHelper;

import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.function.Consumer;
import java.util.function.Supplier;

/**
Expand Down Expand Up @@ -41,6 +43,12 @@ public WallBlock getWall() {
return Objects.requireNonNull(wall.get(), "Wall Building Block Object missing wall");
}

@Override
public void forEach(Consumer<ItemLike> consumer) {
super.forEach(consumer);
consumer.accept(getWall());
}

@Override
public List<Block> values() {
return Arrays.asList(get(), getSlab(), getStairs(), getWall());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.DoorBlock;
import net.minecraft.world.level.block.FenceBlock;
Expand All @@ -20,6 +21,7 @@

import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Supplier;

import static slimeknights.mantle.registration.RegistrationHelper.getCastedHolder;
Expand Down Expand Up @@ -165,6 +167,21 @@ public List<Block> values() {
getPressurePlate(), getButton(), getSign(), getWallSign());
}

@Override
public void forEach(Consumer<ItemLike> consumer) {
super.forEach(consumer);
consumer.accept(getFenceGate());
consumer.accept(getLog());
consumer.accept(getStrippedLog());
consumer.accept(getWood());
consumer.accept(getStrippedWood());
consumer.accept(getDoor());
consumer.accept(getTrapdoor());
consumer.accept(getPressurePlate());
consumer.accept(getButton());
consumer.accept(getSign());
}

/** Variants of wood for the register function */
public enum WoodVariant { LOG, WOOD, PLANKS }
}

0 comments on commit fc0e80e

Please sign in to comment.