Code style fix, interface rename, custom item getter
This commit is contained in:
parent
179ada3296
commit
c6afa74529
134 changed files with 3404 additions and 1244 deletions
|
@ -18,10 +18,16 @@ import ru.bclib.blocks.BaseFurnaceBlock;
|
|||
import ru.bclib.blocks.BaseSignBlock;
|
||||
|
||||
public class BaseBlockEntities {
|
||||
public static final DynamicBlockEntityType<BaseChestBlockEntity> CHEST = registerBlockEntityType(BCLib.makeID("chest"), BaseChestBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseBarrelBlockEntity> BARREL = registerBlockEntityType(BCLib.makeID("barrel"), BaseBarrelBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseSignBlockEntity> SIGN = registerBlockEntityType(BCLib.makeID("sign"), BaseSignBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseFurnaceBlockEntity> FURNACE = registerBlockEntityType(BCLib.makeID("furnace"), BaseFurnaceBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseChestBlockEntity> CHEST = registerBlockEntityType(BCLib.makeID(
|
||||
"chest"), BaseChestBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseBarrelBlockEntity> BARREL = registerBlockEntityType(BCLib.makeID(
|
||||
"barrel"), BaseBarrelBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseSignBlockEntity> SIGN = registerBlockEntityType(
|
||||
BCLib.makeID("sign"),
|
||||
BaseSignBlockEntity::new
|
||||
);
|
||||
public static final DynamicBlockEntityType<BaseFurnaceBlockEntity> FURNACE = registerBlockEntityType(BCLib.makeID(
|
||||
"furnace"), BaseFurnaceBlockEntity::new);
|
||||
|
||||
public static <T extends BlockEntity> DynamicBlockEntityType<T> registerBlockEntityType(ResourceLocation typeId, BlockEntitySupplier<? extends T> supplier) {
|
||||
return Registry.register(Registry.BLOCK_ENTITY_TYPE, typeId, new DynamicBlockEntityType<>(supplier));
|
||||
|
@ -30,19 +36,39 @@ public class BaseBlockEntities {
|
|||
public static void register() {}
|
||||
|
||||
public static Block[] getChests() {
|
||||
return BaseRegistry.getRegisteredBlocks().values().stream().filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseChestBlock).map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
|
||||
return BaseRegistry.getRegisteredBlocks()
|
||||
.values()
|
||||
.stream()
|
||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseChestBlock)
|
||||
.map(item -> ((BlockItem) item).getBlock())
|
||||
.toArray(Block[]::new);
|
||||
}
|
||||
|
||||
public static Block[] getBarrels() {
|
||||
return BaseRegistry.getRegisteredBlocks().values().stream().filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseBarrelBlock).map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
|
||||
return BaseRegistry.getRegisteredBlocks()
|
||||
.values()
|
||||
.stream()
|
||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseBarrelBlock)
|
||||
.map(item -> ((BlockItem) item).getBlock())
|
||||
.toArray(Block[]::new);
|
||||
}
|
||||
|
||||
public static Block[] getSigns() {
|
||||
return BaseRegistry.getRegisteredBlocks().values().stream().filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseSignBlock).map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
|
||||
return BaseRegistry.getRegisteredBlocks()
|
||||
.values()
|
||||
.stream()
|
||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseSignBlock)
|
||||
.map(item -> ((BlockItem) item).getBlock())
|
||||
.toArray(Block[]::new);
|
||||
}
|
||||
|
||||
public static Block[] getFurnaces() {
|
||||
return BaseRegistry.getRegisteredBlocks().values().stream().filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseFurnaceBlock).map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
|
||||
return BaseRegistry.getRegisteredBlocks()
|
||||
.values()
|
||||
.stream()
|
||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseFurnaceBlock)
|
||||
.map(item -> ((BlockItem) item).getBlock())
|
||||
.toArray(Block[]::new);
|
||||
}
|
||||
|
||||
public static boolean registerSpecialBlock(Block block) {
|
||||
|
|
|
@ -14,11 +14,12 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
public abstract class BaseRegistry<T> {
|
||||
|
||||
private static final List<BaseRegistry<?>> REGISTRIES = Lists.newArrayList();
|
||||
private static final Map<String, List<Item>> MOD_BLOCKS = Maps.newHashMap();
|
||||
private static final Map<String, List<Item>> MOD_ITEMS = Maps.newHashMap();
|
||||
|
||||
protected final CreativeModeTab creativeTab;
|
||||
|
||||
public static Map<String, List<Item>> getRegisteredBlocks() {
|
||||
return MOD_BLOCKS;
|
||||
}
|
||||
|
@ -49,8 +50,6 @@ public abstract class BaseRegistry<T> {
|
|||
REGISTRIES.forEach(BaseRegistry::registerInternal);
|
||||
}
|
||||
|
||||
protected final CreativeModeTab creativeTab;
|
||||
|
||||
protected BaseRegistry(CreativeModeTab creativeTab) {
|
||||
this.creativeTab = creativeTab;
|
||||
REGISTRIES.add(this);
|
||||
|
|
|
@ -6,10 +6,8 @@ import net.minecraft.resources.ResourceLocation;
|
|||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.CreativeModeTab;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Item.Properties;
|
||||
import net.minecraft.world.item.WaterLilyBlockItem;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import ru.bclib.interfaces.ISpetialItem;
|
||||
import ru.bclib.interfaces.CustomItemGetter;
|
||||
|
||||
public abstract class BlocksRegistry extends BaseRegistry<Block> {
|
||||
|
||||
|
@ -19,21 +17,17 @@ public abstract class BlocksRegistry extends BaseRegistry<Block> {
|
|||
|
||||
@Override
|
||||
public Block register(ResourceLocation id, Block block) {
|
||||
int maxCount = 64;
|
||||
boolean placeOnWater = false;
|
||||
if (block instanceof ISpetialItem) {
|
||||
ISpetialItem item = (ISpetialItem) block;
|
||||
maxCount = item.getStackSize();
|
||||
placeOnWater = item.canPlaceOnWater();
|
||||
}
|
||||
Properties item = makeItemSettings().stacksTo(maxCount);
|
||||
if (placeOnWater) {
|
||||
registerBlockItem(id, new WaterLilyBlockItem(block, item));
|
||||
BlockItem item = null;
|
||||
if (block instanceof CustomItemGetter) {
|
||||
item = ((CustomItemGetter) block).getCustomItem(id, makeItemSettings());
|
||||
}
|
||||
else {
|
||||
registerBlockItem(id, new BlockItem(block, item));
|
||||
item = new BlockItem(block, makeItemSettings());
|
||||
}
|
||||
if (block.defaultBlockState().getMaterial().isFlammable() && FlammableBlockRegistry.getDefaultInstance().get(block).getBurnChance() == 0) {
|
||||
registerBlockItem(id, item);
|
||||
if (block.defaultBlockState().getMaterial().isFlammable() && FlammableBlockRegistry.getDefaultInstance()
|
||||
.get(block)
|
||||
.getBurnChance() == 0) {
|
||||
FlammableBlockRegistry.getDefaultInstance().add(block, 5, 5);
|
||||
}
|
||||
return Registry.register(Registry.BLOCK, id, block);
|
||||
|
|
|
@ -78,7 +78,15 @@ public abstract class ItemsRegistry extends BaseRegistry<Item> {
|
|||
public ItemStack execute(BlockSource pointer, ItemStack stack) {
|
||||
Direction direction = pointer.getBlockState().getValue(DispenserBlock.FACING);
|
||||
EntityType<?> entityType = ((SpawnEggItem) stack.getItem()).getType(stack.getTag());
|
||||
entityType.spawn(pointer.getLevel(), stack, null, pointer.getPos().relative(direction), MobSpawnType.DISPENSER, direction != Direction.UP, false);
|
||||
entityType.spawn(
|
||||
pointer.getLevel(),
|
||||
stack,
|
||||
null,
|
||||
pointer.getPos().relative(direction),
|
||||
MobSpawnType.DISPENSER,
|
||||
direction != Direction.UP,
|
||||
false
|
||||
);
|
||||
stack.shrink(1);
|
||||
return stack;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue