Skip to content

Commit 9e0e482

Browse files
Add CustomLanternBlock & CustomTorchBlock
1 parent 636133f commit 9e0e482

2 files changed

Lines changed: 96 additions & 0 deletions

File tree

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package com.mmodding.mmodding_lib.library.blocks;
2+
3+
import net.minecraft.block.LanternBlock;
4+
import net.minecraft.item.BlockItem;
5+
import net.minecraft.item.Item;
6+
import net.minecraft.item.ItemGroup;
7+
import org.quiltmc.qsl.item.setting.api.QuiltItemSettings;
8+
9+
import java.util.concurrent.atomic.AtomicBoolean;
10+
11+
public class CustomLanternBlock extends LanternBlock implements BlockRegistrable, BlockWithItem {
12+
13+
private final AtomicBoolean registered = new AtomicBoolean(false);
14+
15+
private BlockItem item = null;
16+
17+
public CustomLanternBlock(Settings settings) {
18+
this(settings, false);
19+
}
20+
21+
public CustomLanternBlock(Settings settings, boolean hasItem) {
22+
this(settings, hasItem, (ItemGroup) null);
23+
}
24+
25+
public CustomLanternBlock(Settings settings, boolean hasItem, ItemGroup itemGroup) {
26+
this(settings, hasItem, itemGroup != null ? new QuiltItemSettings().group(itemGroup) : new QuiltItemSettings());
27+
}
28+
29+
public CustomLanternBlock(Settings settings, boolean hasItem, Item.Settings itemSettings) {
30+
super(settings);
31+
if (hasItem) this.item = new BlockItem(this, itemSettings);
32+
}
33+
34+
@Override
35+
public BlockItem getItem() {
36+
return this.item;
37+
}
38+
39+
@Override
40+
public boolean isNotRegistered() {
41+
return !this.registered.get();
42+
}
43+
44+
@Override
45+
public void setRegistered() {
46+
this.registered.set(true);
47+
}
48+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package com.mmodding.mmodding_lib.library.blocks;
2+
3+
import net.minecraft.block.TorchBlock;
4+
import net.minecraft.item.BlockItem;
5+
import net.minecraft.item.Item;
6+
import net.minecraft.item.ItemGroup;
7+
import org.quiltmc.qsl.item.setting.api.QuiltItemSettings;
8+
9+
import java.util.concurrent.atomic.AtomicBoolean;
10+
11+
public class CustomTorchBlock extends TorchBlock implements BlockRegistrable, BlockWithItem {
12+
13+
private final AtomicBoolean registered = new AtomicBoolean(false);
14+
15+
private BlockItem item = null;
16+
17+
public CustomTorchBlock(Settings settings) {
18+
this(settings, false);
19+
}
20+
21+
public CustomTorchBlock(Settings settings, boolean hasItem) {
22+
this(settings, hasItem, (ItemGroup) null);
23+
}
24+
25+
public CustomTorchBlock(Settings settings, boolean hasItem, ItemGroup itemGroup) {
26+
this(settings, hasItem, itemGroup != null ? new QuiltItemSettings().group(itemGroup) : new QuiltItemSettings());
27+
}
28+
29+
public CustomTorchBlock(Settings settings, boolean hasItem, Item.Settings itemSettings) {
30+
super(settings);
31+
if (hasItem) this.item = new BlockItem(this, itemSettings);
32+
}
33+
34+
@Override
35+
public BlockItem getItem() {
36+
return this.item;
37+
}
38+
39+
@Override
40+
public boolean isNotRegistered() {
41+
return !this.registered.get();
42+
}
43+
44+
@Override
45+
public void setRegistered() {
46+
this.registered.set(true);
47+
}
48+
}

0 commit comments

Comments
 (0)