Skip to content

Commit

Permalink
New icon for bingo:medium/sized_nether_portal goal
Browse files Browse the repository at this point in the history
  • Loading branch information
Gaming32 committed Jun 1, 2024
1 parent 8ef03a4 commit 93b2a56
Show file tree
Hide file tree
Showing 5 changed files with 88 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ eb3231e38d98355d2d9d6b4f70a23640c59be3fa data/bingo/bingo/goals/medium/repair_ir
4ced38a0cbb9b940c05ceb90ad7ecfba9653bd57 data/bingo/bingo/goals/medium/saddle.json
a5a42f8426786a5a41446f71355a6cbf89b0ce9a data/bingo/bingo/goals/medium/seagrass.json
64dd376fa3430106da3bf12aeed46f180e9bde48 data/bingo/bingo/goals/medium/shoot_tnt_minecart.json
206b153e2778a0b492014cdf46ed650bc1807a44 data/bingo/bingo/goals/medium/sized_nether_portal.json
584894e63428080db61e2e1ebf32b81462e35d16 data/bingo/bingo/goals/medium/sized_nether_portal.json
276fcc97154d33a17deb234edfb51bf10602a873 data/bingo/bingo/goals/medium/skeleton_bow.json
2d4b9e5d981599bdb4e3317cb9072900f1ec22e9 data/bingo/bingo/goals/medium/slime_ball.json
d88c8a8084ddb721b9fae4ab63d5063d2e4b4abd data/bingo/bingo/goals/medium/slow_falling_potion.json
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,17 +75,66 @@
},
"difficulty": "bingo:medium",
"icon": {
"type": "bingo:block",
"block": {
"Name": "minecraft:nether_portal",
"Properties": {
"axis": "x"
"type": "bingo:cycle",
"icons": [
{
"type": "bingo:block",
"block": {
"Name": "minecraft:nether_portal",
"Properties": {
"axis": "x"
}
},
"item": {
"count": {
"bingo_type": "bingo:compound",
"factors": [
{
"type": "bingo:sub",
"key": "width"
},
{
"type": "bingo:sub",
"key": "height"
}
],
"operator": "mul"
},
"id": "minecraft:obsidian"
}
},
{
"type": "bingo:block",
"block": {
"Name": "minecraft:obsidian"
},
"item": {
"count": {
"bingo_type": "bingo:compound",
"factors": [
{
"type": "bingo:sub",
"key": "width"
},
{
"type": "bingo:sub",
"key": "width"
},
{
"type": "bingo:sub",
"key": "height"
},
{
"type": "bingo:sub",
"key": "height"
}
],
"operator": "sum"
},
"id": "minecraft:obsidian"
}
}
},
"item": {
"count": 1,
"id": "minecraft:obsidian"
}
]
},
"name": {
"translate": "bingo.goal.sized_nether_portal",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
import net.minecraft.util.ExtraCodecs;
import net.minecraft.util.RandomSource;
import net.minecraft.util.profiling.ProfilerFiller;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Block;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -558,7 +557,7 @@ public Builder icon(Block icon, ItemLike fallback) {
}

public Builder icon(Block icon, ItemLike fallback, Consumer<JsonSubber> subber) {
return icon(new BlockIcon(icon.defaultBlockState(), new ItemStack(fallback)), subber);
return icon(BlockIcon.ofBlockAndItem(icon, fallback), subber);
}

public Builder icon(GoalIcon icon) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
Expand All @@ -23,6 +24,10 @@ public static BlockIcon ofFallbackItem(BlockState block, Optional<ItemStack> ite
return new BlockIcon(block, item.orElseGet(() -> stackFromBlock(block.getBlock())));
}

public static BlockIcon ofBlockAndItem(Block block, ItemLike item) {
return new BlockIcon(block.defaultBlockState(), new ItemStack(item));
}

public static BlockIcon ofBlock(BlockState block) {
return new BlockIcon(block, stackFromBlock(block.getBlock()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import io.github.gaming32.bingo.data.BingoDifficulties;
import io.github.gaming32.bingo.data.BingoGoal;
import io.github.gaming32.bingo.data.BingoTags;
import io.github.gaming32.bingo.data.icons.BlockIcon;
import io.github.gaming32.bingo.data.icons.CycleIcon;
import io.github.gaming32.bingo.data.icons.EntityIcon;
import io.github.gaming32.bingo.data.icons.GoalIcon;
Expand Down Expand Up @@ -315,7 +316,27 @@ public void addGoals() {
Component.translatable("bingo.goal.sized_nether_portal", 0, 0),
subber -> subber.sub("with.0", "width").sub("with.1", "height")
)
.icon(Blocks.NETHER_PORTAL, Blocks.OBSIDIAN));
.icon(
new CycleIcon(
BlockIcon.ofBlockAndItem(Blocks.NETHER_PORTAL, Blocks.OBSIDIAN),
BlockIcon.ofBlock(Blocks.OBSIDIAN)
),
subber -> subber
.sub("icons.0.item.count", new CompoundBingoSub(
CompoundBingoSub.ElementType.INT,
CompoundBingoSub.Operator.MUL,
new SubBingoSub("width"),
new SubBingoSub("height")
))
.sub("icons.1.item.count", new CompoundBingoSub(
CompoundBingoSub.ElementType.INT,
CompoundBingoSub.Operator.SUM,
new SubBingoSub("width"),
new SubBingoSub("width"),
new SubBingoSub("height"),
new SubBingoSub("height")
))
));
addGoal(obtainItemGoal(id("obsidian"), Items.OBSIDIAN, 3, 10));
addGoal(obtainItemGoal(id("iron_block"), Items.IRON_BLOCK, 5, 7)
.infrequency(2));
Expand Down

0 comments on commit 93b2a56

Please sign in to comment.