Skip to content

Commit

Permalink
Complete the altar design
Browse files Browse the repository at this point in the history
- Complete the construction and rendering of the multi-block structure of the altar
- Complete the craft of the altar
  • Loading branch information
TartaricAcid committed Oct 4, 2021
1 parent 5784339 commit 1f0117a
Show file tree
Hide file tree
Showing 37 changed files with 1,991 additions and 36 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.github.tartaricacid.touhoulittlemaid;

import com.github.tartaricacid.touhoulittlemaid.api.ILittleMaid;
import com.github.tartaricacid.touhoulittlemaid.block.multiblock.MultiBlockManager;
import com.github.tartaricacid.touhoulittlemaid.config.Config;
import com.github.tartaricacid.touhoulittlemaid.entity.task.TaskManager;
import com.github.tartaricacid.touhoulittlemaid.init.*;
Expand Down Expand Up @@ -32,13 +33,16 @@ public TouhouLittleMaid() {
InitEntities.SCHEDULES.register(FMLJavaModLoadingContext.get().getModEventBus());
InitEntities.DATA_SERIALIZERS.register(FMLJavaModLoadingContext.get().getModEventBus());
InitBlocks.BLOCKS.register(FMLJavaModLoadingContext.get().getModEventBus());
InitBlocks.TILE_ENTITIES.register(FMLJavaModLoadingContext.get().getModEventBus());
InitItems.ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus());
InitContainer.CONTAINER_TYPE.register(FMLJavaModLoadingContext.get().getModEventBus());
InitSounds.SOUNDS.register(FMLJavaModLoadingContext.get().getModEventBus());
InitRecipes.RECIPE_SERIALIZERS.register(FMLJavaModLoadingContext.get().getModEventBus());
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, Config.initConfig());
DeferredWorkQueue.runLater(NetworkHandler::init);
EXTENSIONS = AnnotatedInstanceUtil.getModExtensions();
TaskManager.init();
BaubleManager.init();
MultiBlockManager.init();
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.github.tartaricacid.touhoulittlemaid.api;

import com.github.tartaricacid.touhoulittlemaid.block.multiblock.MultiBlockManager;
import com.github.tartaricacid.touhoulittlemaid.entity.task.TaskManager;
import com.github.tartaricacid.touhoulittlemaid.item.bauble.BaubleManager;

Expand All @@ -13,10 +14,18 @@ default void bindMaidBauble(BaubleManager manager) {
}

/**
* 注册女仆的 Task
* 添加女仆的 Task
*
* @param manager 注册器
*/
default void registerMaidTask(TaskManager manager) {
default void addMaidTask(TaskManager manager) {
}

/**
* 添加多方块结构
*
* @param manager 注册器
*/
default void addMultiBlock(MultiBlockManager manager) {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package com.github.tartaricacid.touhoulittlemaid.api.block;

import net.minecraft.block.BlockState;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.template.Template;
import net.minecraft.world.server.ServerWorld;

public interface IMultiBlock {
/**
* 触发的构建多方块结构时,点击的方块是否为核心方块
*
* @param blockState 点击的方块
* @return 是否为核心方块
*/
boolean isCoreBlock(BlockState blockState);

/**
* 触发的构建多方块结构时,朝向是否正确
*
* @param direction 朝向
* @return 是否为合法的触发方向
*/
boolean directionIsSuitable(Direction direction);

/**
* 获取多方块结构的中心点
*
* @param direction 朝向
* @return 多方块结构的中心点
*/
BlockPos getCenterPos(Direction direction);

/**
* 获取多方块结构模板
*
* @param world 世界
* @param direction 朝向
* @return 多方块结构模板
*/
Template getTemplate(ServerWorld world, Direction direction);

/**
* 是否匹配该多方块结构
*
* @param world 世界实例
* @param posStart 起始坐标
* @param direction 判定匹配时的朝向,用来应用到一些具有方向的多方块结构
* @param template 结构模板
* @return 是否匹配
*/
boolean isMatch(World world, BlockPos posStart, Direction direction, Template template);

/**
* 修建多方块结构的逻辑
*
* @param worldIn 世界实例
* @param posStart 起始坐标
* @param direction 判定匹配时的朝向,用来应用到一些具有方向的多方块结构
* @param template 结构模板
*/
void build(World worldIn, BlockPos posStart, Direction direction, Template template);
}
Loading

0 comments on commit 1f0117a

Please sign in to comment.