Fixed structure features and code style
This commit is contained in:
parent
d431f2555c
commit
5a9365e2bb
153 changed files with 2304 additions and 2459 deletions
|
@ -1,7 +1,5 @@
|
|||
package ru.bclib.registry;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
|
@ -24,34 +22,26 @@ public class BaseBlockEntities {
|
|||
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));
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
package ru.bclib.registry;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
|
||||
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
@ -14,20 +10,23 @@ import net.minecraft.world.item.Item;
|
|||
import net.minecraft.world.item.Items;
|
||||
import ru.bclib.BCLib;
|
||||
|
||||
public abstract class BaseRegistry<T> {
|
||||
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();
|
||||
|
||||
|
||||
public static Map<String, List<Item>> getRegisteredBlocks() {
|
||||
return MOD_BLOCKS;
|
||||
}
|
||||
|
||||
|
||||
public static Map<String, List<Item>> getRegisteredItems() {
|
||||
return MOD_ITEMS;
|
||||
}
|
||||
|
||||
|
||||
public static List<Item> getModBlocks(String modId) {
|
||||
if (MOD_BLOCKS.containsKey(modId)) {
|
||||
return MOD_BLOCKS.get(modId);
|
||||
|
@ -36,7 +35,7 @@ public abstract class BaseRegistry<T> {
|
|||
MOD_BLOCKS.put(modId, modBlocks);
|
||||
return modBlocks;
|
||||
}
|
||||
|
||||
|
||||
public static List<Item> getModItems(String modId) {
|
||||
if (MOD_ITEMS.containsKey(modId)) {
|
||||
return MOD_ITEMS.get(modId);
|
||||
|
@ -45,39 +44,39 @@ public abstract class BaseRegistry<T> {
|
|||
MOD_ITEMS.put(modId, modBlocks);
|
||||
return modBlocks;
|
||||
}
|
||||
|
||||
|
||||
public static void register() {
|
||||
REGISTRIES.forEach(BaseRegistry::registerInternal);
|
||||
}
|
||||
|
||||
|
||||
protected final CreativeModeTab creativeTab;
|
||||
|
||||
|
||||
protected BaseRegistry(CreativeModeTab creativeTab) {
|
||||
this.creativeTab = creativeTab;
|
||||
REGISTRIES.add(this);
|
||||
}
|
||||
|
||||
|
||||
public T register(String name, T obj) {
|
||||
return register(createModId(name), obj);
|
||||
}
|
||||
|
||||
|
||||
public abstract T register(ResourceLocation objId, T obj);
|
||||
|
||||
|
||||
public ResourceLocation createModId(String name) {
|
||||
return BCLib.makeID(name);
|
||||
}
|
||||
|
||||
|
||||
public void registerItem(ResourceLocation id, Item item, List<Item> registry) {
|
||||
if (item != Items.AIR) {
|
||||
Registry.register(Registry.ITEM, id, item);
|
||||
registry.add(item);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public FabricItemSettings makeItemSettings() {
|
||||
FabricItemSettings properties = new FabricItemSettings();
|
||||
return (FabricItemSettings) properties.tab(creativeTab);
|
||||
}
|
||||
|
||||
|
||||
private void registerInternal() {}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ import net.minecraft.world.level.block.Block;
|
|||
import ru.bclib.interfaces.ISpetialItem;
|
||||
|
||||
public abstract class BlocksRegistry extends BaseRegistry<Block> {
|
||||
|
||||
|
||||
protected BlocksRegistry(CreativeModeTab creativeTab) {
|
||||
super(creativeTab);
|
||||
}
|
||||
|
@ -29,7 +29,8 @@ public abstract class BlocksRegistry extends BaseRegistry<Block> {
|
|||
Properties item = makeItemSettings().stacksTo(maxCount);
|
||||
if (placeOnWater) {
|
||||
registerBlockItem(id, new WaterLilyBlockItem(block, item));
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
registerBlockItem(id, new BlockItem(block, item));
|
||||
}
|
||||
if (block.defaultBlockState().getMaterial().isFlammable() && FlammableBlockRegistry.getDefaultInstance().get(block).getBurnChance() == 0) {
|
||||
|
@ -41,7 +42,7 @@ public abstract class BlocksRegistry extends BaseRegistry<Block> {
|
|||
public Block registerBlockOnly(String name, Block block) {
|
||||
return Registry.register(Registry.BLOCK, createModId(name), block);
|
||||
}
|
||||
|
||||
|
||||
public Item registerBlockItem(ResourceLocation id, Item item) {
|
||||
registerItem(id, item, BaseRegistry.getModBlocks(id.getNamespace()));
|
||||
return item;
|
||||
|
|
|
@ -30,44 +30,48 @@ import ru.bclib.items.tool.BasePickaxeItem;
|
|||
import ru.bclib.util.TagHelper;
|
||||
|
||||
public abstract class ItemsRegistry extends BaseRegistry<Item> {
|
||||
|
||||
|
||||
protected ItemsRegistry(CreativeModeTab creativeTab) {
|
||||
super(creativeTab);
|
||||
}
|
||||
|
||||
|
||||
public Item registerDisc(String name, int power, SoundEvent sound) {
|
||||
return register(name, new BaseDiscItem(power, sound, makeItemSettings().stacksTo(1)));
|
||||
}
|
||||
|
||||
|
||||
public Item registerItem(String name) {
|
||||
return register(name, new ModelProviderItem(makeItemSettings()));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Item register(ResourceLocation itemId, Item item) {
|
||||
registerItem(itemId, item, BaseRegistry.getModItems(itemId.getNamespace()));
|
||||
return item;
|
||||
}
|
||||
|
||||
|
||||
public TieredItem registerTool(String name, TieredItem item) {
|
||||
ResourceLocation id = createModId(name);
|
||||
registerItem(id, item, BaseRegistry.getModItems(id.getNamespace()));
|
||||
|
||||
|
||||
if (item instanceof ShovelItem) {
|
||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.SHOVELS, item);
|
||||
} else if (item instanceof SwordItem) {
|
||||
}
|
||||
else if (item instanceof SwordItem) {
|
||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.SWORDS, item);
|
||||
} else if (item instanceof BasePickaxeItem) {
|
||||
}
|
||||
else if (item instanceof BasePickaxeItem) {
|
||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.PICKAXES, item);
|
||||
} else if (item instanceof BaseAxeItem) {
|
||||
}
|
||||
else if (item instanceof BaseAxeItem) {
|
||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.AXES, item);
|
||||
} else if (item instanceof BaseHoeItem) {
|
||||
}
|
||||
else if (item instanceof BaseHoeItem) {
|
||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.HOES, item);
|
||||
}
|
||||
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
|
||||
public Item registerEgg(String name, EntityType<? extends Mob> type, int background, int dots) {
|
||||
SpawnEggItem item = new BaseSpawnEggItem(type, background, dots, makeItemSettings());
|
||||
DefaultDispenseItemBehavior behavior = new DefaultDispenseItemBehavior() {
|
||||
|
@ -82,27 +86,27 @@ public abstract class ItemsRegistry extends BaseRegistry<Item> {
|
|||
DispenserBlock.registerBehavior(item, behavior);
|
||||
return register(name, item);
|
||||
}
|
||||
|
||||
|
||||
public Item registerFood(String name, int hunger, float saturation, MobEffectInstance... effects) {
|
||||
FoodProperties.Builder builder = new FoodProperties.Builder().nutrition(hunger).saturationMod(saturation);
|
||||
for (MobEffectInstance effect: effects) {
|
||||
for (MobEffectInstance effect : effects) {
|
||||
builder.effect(effect, 1F);
|
||||
}
|
||||
return registerFood(name, builder.build());
|
||||
}
|
||||
|
||||
|
||||
public Item registerFood(String name, FoodProperties foodComponent) {
|
||||
return register(name, new ModelProviderItem(makeItemSettings().food(foodComponent)));
|
||||
}
|
||||
|
||||
|
||||
public Item registerDrink(String name) {
|
||||
return register(name, new BaseDrinkItem(makeItemSettings().stacksTo(1)));
|
||||
}
|
||||
|
||||
|
||||
public Item registerDrink(String name, FoodProperties foodComponent) {
|
||||
return register(name, new BaseDrinkItem(makeItemSettings().stacksTo(1).food(foodComponent)));
|
||||
}
|
||||
|
||||
|
||||
public Item registerDrink(String name, int hunger, float saturation) {
|
||||
FoodProperties.Builder builder = new FoodProperties.Builder().nutrition(hunger).saturationMod(saturation);
|
||||
return registerDrink(name, builder.build());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue