Skip to content

Commit 54547ec

Browse files
committed
Merge branch '1.21.1' of https://github.com/Zepalesque/The-Aether-Redux into 1.21.1
2 parents e7d4192 + edc6408 commit 54547ec

13 files changed

Lines changed: 643 additions & 5 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ mappings_mc_ver=1.21.1
3131
mappings=2024.11.17
3232

3333
# Required Dependencies
34-
zenith_version=1.3.14
34+
zenith_version=1.3.16b
3535
unity_version=0.1.27
3636
aether_version=1.5.10
3737
nitrogen_version=1.1.25

src/main/java/net/zepalesque/redux/Redux.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import net.zepalesque.redux.attachment.ReduxDataAttachments;
2525
import net.zepalesque.redux.block.ReduxBlocks;
2626
import net.zepalesque.redux.blockset.flower.ReduxFlowerSets;
27+
import net.zepalesque.redux.blockset.leaf.ReduxLeafSets;
2728
import net.zepalesque.redux.blockset.stone.ReduxStoneSets;
2829
import net.zepalesque.redux.blockset.wood.ReduxWoodSets;
2930
import net.zepalesque.redux.client.ReduxClient;
@@ -88,7 +89,12 @@ public Redux(ModContainer mod, IEventBus bus, Dist dist) {
8889
bus.addListener(ReduxColors::itemColors);
8990
}
9091

91-
Reflection.initialize(ReduxWoodSets.class, ReduxStoneSets.class, ReduxFlowerSets.class);
92+
Reflection.initialize(
93+
ReduxWoodSets.class,
94+
ReduxStoneSets.class,
95+
ReduxFlowerSets.class,
96+
ReduxLeafSets.class
97+
);
9298

9399
DeferredRegister<?>[] registers = {
94100
ReduxBlocks.BLOCKS,

src/main/java/net/zepalesque/redux/blockset/flower/type/BaseFlowerSet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ public BaseFlowerSet<B> compost(float chance) {
192192

193193
@Override
194194
public BaseFlowerSet<B> withPotProperties(UnaryOperator<Properties> prop) {
195-
UnaryOperator<Properties> old = this.potProperties;
195+
var old = this.potProperties;
196196
this.potProperties = original -> prop.apply(old.apply(original));
197197
return this;
198198
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package net.zepalesque.redux.blockset.leaf;
2+
3+
import net.zepalesque.redux.Redux;
4+
import net.zepalesque.redux.blockset.leaf.type.SnowableLeafSet;
5+
import net.zepalesque.zenith.api.blockset.type.AbstractFlowerSet;
6+
import net.zepalesque.zenith.api.blockset.type.AbstractLeafSet;
7+
8+
public class ReduxLeafSets {
9+
10+
// public static final SnowableLeafSet
11+
12+
13+
14+
15+
16+
17+
18+
19+
20+
21+
22+
23+
24+
25+
public static <T extends AbstractLeafSet<T>> T register(T set) {
26+
Redux.BLOCK_SETS.add(set);
27+
return set;
28+
}
29+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package net.zepalesque.redux.blockset.leaf.type;
2+
3+
import com.aetherteam.aether.block.AetherBlocks;
4+
import com.aetherteam.aether.block.natural.AetherDoubleDropsLeaves;
5+
import net.minecraft.world.level.block.SaplingBlock;
6+
import net.minecraft.world.level.block.grower.TreeGrower;
7+
import net.minecraft.world.level.block.state.BlockBehaviour;
8+
import net.minecraft.world.level.material.MapColor;
9+
import net.zepalesque.redux.block.ReduxBlocks;
10+
import net.zepalesque.redux.data.prov.ReduxBlockStateProvider;
11+
import net.zepalesque.redux.data.prov.ReduxItemModelProvider;
12+
import net.zepalesque.redux.item.ReduxItems;
13+
14+
public class AetherLeafSet extends BaseLeafPileSet<AetherDoubleDropsLeaves, SaplingBlock, AetherLeafSet> {
15+
public AetherLeafSet(String id, String saplTexFold, String leafTexFold, TreeGrower grower, MapColor leafColor, MapColor saplingColor) {
16+
super(
17+
id,
18+
saplTexFold,
19+
leafTexFold,
20+
grower,
21+
() -> new AetherDoubleDropsLeaves(
22+
BlockBehaviour.Properties.ofFullCopy(
23+
AetherBlocks.SKYROOT_LEAVES.get()
24+
).mapColor(leafColor)
25+
), treeGrower -> new SaplingBlock(
26+
treeGrower,
27+
BlockBehaviour.Properties.ofFullCopy(
28+
AetherBlocks.SKYROOT_SAPLING.get()
29+
).mapColor(saplingColor)
30+
)
31+
);
32+
33+
var blocks = ReduxBlocks.BLOCKS;
34+
var items = ReduxItems.ITEMS;
35+
}
36+
37+
38+
@Override
39+
public void mainBlockData(ReduxBlockStateProvider data) {
40+
data.crossBlock(this.sapling().get(), this.saplTexFold);
41+
data.pottedPlant(this.pot().get(), this.sapling().get(), this.saplTexFold);
42+
data.block(this.leaves().get(), this.leafTexFold);
43+
}
44+
45+
@Override
46+
public void mainItemData(ReduxItemModelProvider data) {
47+
data.itemBlockFlat(this.sapling().get(), this.saplTexFold);
48+
data.itemBlock(this.leaves().get());
49+
}
50+
}
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
package net.zepalesque.redux.blockset.leaf.type;
2+
3+
import net.minecraft.world.item.BlockItem;
4+
import net.minecraft.world.item.Item;
5+
import net.minecraft.world.level.block.LeavesBlock;
6+
import net.minecraft.world.level.block.SaplingBlock;
7+
import net.minecraft.world.level.block.SoundType;
8+
import net.minecraft.world.level.block.grower.TreeGrower;
9+
import net.minecraft.world.level.block.state.BlockBehaviour;
10+
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
11+
import net.minecraft.world.level.material.MapColor;
12+
import net.neoforged.neoforge.registries.DeferredBlock;
13+
import net.neoforged.neoforge.registries.DeferredRegister;
14+
import net.neoforged.neoforge.registries.datamaps.builtin.NeoForgeDataMaps;
15+
import net.zepalesque.redux.block.ReduxBlocks;
16+
import net.zepalesque.redux.block.natural.ReduxNaturalWall;
17+
import net.zepalesque.redux.data.prov.ReduxBlockStateProvider;
18+
import net.zepalesque.redux.data.prov.ReduxDataMapProvider;
19+
import net.zepalesque.redux.data.prov.ReduxItemModelProvider;
20+
import net.zepalesque.redux.item.ReduxItems;
21+
import net.zepalesque.unity.block.natural.leaves.LeafPileBlock;
22+
23+
import java.util.function.Function;
24+
import java.util.function.Supplier;
25+
26+
public abstract class BaseLeafPileSet<L extends LeavesBlock, S extends SaplingBlock, Self extends BaseLeafPileSet<L, S, Self>> extends BaseLeafSet<L, S, Self> {
27+
28+
private final DeferredBlock<LeafPileBlock> pile;
29+
30+
private float pileCompost;
31+
32+
public BaseLeafPileSet(String id, String saplTexFold, String leafTexFold, TreeGrower grower, Supplier<L> leaves, Function<TreeGrower, S> sapling) {
33+
super(id, saplTexFold, leafTexFold, grower, leaves, sapling);
34+
var blocks = ReduxBlocks.BLOCKS;
35+
var items = ReduxItems.ITEMS;
36+
this.pile = pile(blocks, items, id);
37+
}
38+
protected DeferredBlock<LeafPileBlock> pile(
39+
DeferredRegister.Blocks registry,
40+
DeferredRegister.Items items,
41+
String id
42+
) {
43+
var block = registry.register(id + "_leaf_pile", () ->
44+
new LeafPileBlock(this.leaves)
45+
);
46+
items.register(block.getId().getPath(), () ->
47+
new BlockItem(block.get(), new Item.Properties())
48+
);
49+
return block;
50+
}
51+
52+
public DeferredBlock<LeafPileBlock> pile() {
53+
return this.pile;
54+
}
55+
56+
public Self pileCompost(float amount) {
57+
this.pileCompost = amount;
58+
return self();
59+
}
60+
61+
@Override
62+
public void mapData(ReduxDataMapProvider data) {
63+
super.mapData(data);
64+
var compostables = data.builder(NeoForgeDataMaps.COMPOSTABLES);
65+
data.addCompost(compostables, this.pile(), this.pileCompost);
66+
}
67+
68+
@Override
69+
public void blockData(ReduxBlockStateProvider data) {
70+
this.mainBlockData(data);
71+
data.leafPile(this.pile().get(), this.leaves().get(), this.leafTexFold);
72+
}
73+
74+
public abstract void mainBlockData(ReduxBlockStateProvider data);
75+
76+
77+
@Override
78+
public void itemData(ReduxItemModelProvider data) {
79+
this.mainItemData(data);
80+
data.leafPile(this.pile().get());
81+
}
82+
83+
public abstract void mainItemData(ReduxItemModelProvider data);
84+
}

0 commit comments

Comments
 (0)