2020-08-04 17:06:11 +00:00
|
|
|
package com.thebrokenrail.energonrelics.api.block;
|
|
|
|
|
|
|
|
import com.thebrokenrail.energonrelics.EnergonRelics;
|
|
|
|
import net.fabricmc.loader.api.FabricLoader;
|
|
|
|
import net.minecraft.block.Block;
|
|
|
|
import net.minecraft.item.BlockItem;
|
|
|
|
import net.minecraft.item.Item;
|
|
|
|
import net.minecraft.item.ItemGroup;
|
|
|
|
import net.minecraft.util.Identifier;
|
|
|
|
import net.minecraft.util.Rarity;
|
|
|
|
import net.minecraft.util.registry.Registry;
|
2020-08-06 01:59:47 +00:00
|
|
|
import org.jetbrains.annotations.ApiStatus;
|
2020-08-04 17:06:11 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Simple Block
|
|
|
|
*/
|
|
|
|
public class SimpleBlock extends Block {
|
|
|
|
public SimpleBlock(Settings settings) {
|
|
|
|
super(settings);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Register Block And Block Item
|
|
|
|
* @param id ID
|
|
|
|
*/
|
|
|
|
public void register(Identifier id) {
|
|
|
|
Registry.register(Registry.BLOCK, id, this);
|
|
|
|
if (registerItem()) {
|
|
|
|
Item.Settings settings = new Item.Settings();
|
|
|
|
if (addToItemGroup() || FabricLoader.getInstance().isDevelopmentEnvironment()) {
|
|
|
|
settings.group(getItemGroup());
|
|
|
|
}
|
|
|
|
if (isEpic()) {
|
|
|
|
settings.rarity(Rarity.EPIC);
|
|
|
|
}
|
|
|
|
settings.maxCount(getMaxCount());
|
|
|
|
Registry.register(Registry.ITEM, id, new BlockItem(this, settings));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Register Block And Block Item
|
|
|
|
* @param name ID
|
|
|
|
*/
|
|
|
|
public final void register(String name) {
|
|
|
|
register(new Identifier(EnergonRelics.NAMESPACE, name));
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get Item Group To Add Block Item To
|
|
|
|
* @return Item Group
|
|
|
|
*/
|
2020-08-04 23:24:25 +00:00
|
|
|
@SuppressWarnings("SameReturnValue")
|
2020-08-06 01:59:47 +00:00
|
|
|
@ApiStatus.OverrideOnly
|
2020-08-04 17:06:11 +00:00
|
|
|
protected ItemGroup getItemGroup() {
|
2020-08-20 23:03:47 +00:00
|
|
|
return EnergonRelics.Items.ITEM_GROUP;
|
2020-08-04 17:06:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Should The Block item be Added To An Item Group In A Non-Development Environment
|
|
|
|
* @return Should it Be Added
|
|
|
|
*/
|
2020-08-06 01:59:47 +00:00
|
|
|
@ApiStatus.OverrideOnly
|
2020-08-04 17:06:11 +00:00
|
|
|
protected boolean addToItemGroup() {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Should A Block Item Be Registered
|
|
|
|
* @return Should It Be Registered
|
|
|
|
*/
|
2020-08-06 01:59:47 +00:00
|
|
|
@ApiStatus.OverrideOnly
|
2020-08-04 17:06:11 +00:00
|
|
|
protected boolean registerItem() {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get Max Stack Count
|
|
|
|
* @return Max Stack Count
|
|
|
|
*/
|
2020-08-06 01:59:47 +00:00
|
|
|
@ApiStatus.OverrideOnly
|
2020-08-04 17:06:11 +00:00
|
|
|
protected int getMaxCount() {
|
|
|
|
return 64;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Should The Item Rarity be Epic
|
|
|
|
* @return Should It Be Epic
|
|
|
|
*/
|
2020-08-06 01:59:47 +00:00
|
|
|
@ApiStatus.OverrideOnly
|
2020-08-04 17:06:11 +00:00
|
|
|
protected boolean isEpic() {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|