Skip to content

Commit

Permalink
Screen test
Browse files Browse the repository at this point in the history
  • Loading branch information
ATPStorages committed Apr 19, 2024
1 parent 602147e commit 4f563cc
Show file tree
Hide file tree
Showing 11 changed files with 82 additions and 19 deletions.
2 changes: 2 additions & 0 deletions src/main/kotlin/breadmod/ModEventBus.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import breadmod.registry.entity.ModEntities.HAPPY_BLOCK_ENTITY
import breadmod.entity.renderer.PrimedHappyBlockRenderer
import breadmod.registry.item.ModItems
import breadmod.block.entity.menu.BreadFurnaceScreen
import breadmod.block.entity.renderer.SidedScreenRenderer
import breadmod.datagen.*
import breadmod.datagen.dimension.worldgen.ModBiomes
import breadmod.datagen.dimension.ModDimensions
Expand Down Expand Up @@ -115,5 +116,6 @@ object ModEventBus {
@SubscribeEvent
fun registerBlockEntityRenderers(event: EntityRenderersEvent.RegisterRenderers) {
event.registerBlockEntityRenderer(ModBlockEntities.HEATING_ELEMENT.get()) { BlackbodyRenderer() }
event.registerBlockEntityRenderer(ModBlockEntities.BREAD_SCREEN.get()) { SidedScreenRenderer() }
}
}
27 changes: 27 additions & 0 deletions src/main/kotlin/breadmod/block/BreadScreenBlock.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package breadmod.block

import breadmod.block.entity.BreadScreenBlockEntity
import net.minecraft.core.BlockPos
import net.minecraft.core.Direction
import net.minecraft.world.item.context.BlockPlaceContext
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.block.*
import net.minecraft.world.level.block.entity.BlockEntity
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition

class BreadScreenBlock: Block(Properties.copy(Blocks.IRON_BLOCK)), EntityBlock {
init {
this.registerDefaultState(
stateDefinition.any()
.setValue(DirectionalBlock.FACING, Direction.NORTH)
)
}

override fun newBlockEntity(pPos: BlockPos, pState: BlockState): BlockEntity = BreadScreenBlockEntity(pPos, pState)

override fun createBlockStateDefinition(pBuilder: StateDefinition.Builder<Block, BlockState>) {
pBuilder.add(DirectionalBlock.FACING) }
override fun getStateForPlacement(pContext: BlockPlaceContext): BlockState =
defaultBlockState().setValue(DirectionalBlock.FACING, pContext.nearestLookingDirection)
}
10 changes: 10 additions & 0 deletions src/main/kotlin/breadmod/block/entity/BreadScreenBlockEntity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package breadmod.block.entity

import breadmod.registry.block.ModBlockEntities.BREAD_SCREEN
import net.minecraft.core.BlockPos
import net.minecraft.world.level.block.entity.BlockEntity
import net.minecraft.world.level.block.state.BlockState

class BreadScreenBlockEntity(pPos: BlockPos, pState: BlockState) : BlockEntity(BREAD_SCREEN.get(), pPos, pState) {

}
Original file line number Diff line number Diff line change
@@ -1,19 +1,37 @@
package breadmod.block.entity.renderer

import breadmod.block.entity.HeatingElementBlockEntity
import breadmod.block.entity.BreadScreenBlockEntity
import com.mojang.blaze3d.vertex.PoseStack
import com.mojang.math.Axis
import net.minecraft.client.Minecraft
import net.minecraft.client.gui.Font
import net.minecraft.client.renderer.MultiBufferSource
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer
import java.awt.Color

class SidedScreenRenderer: BlockEntityRenderer<HeatingElementBlockEntity> {
class SidedScreenRenderer: BlockEntityRenderer<BreadScreenBlockEntity> {
override fun render(
pBlockEntity: HeatingElementBlockEntity,
pBlockEntity: BreadScreenBlockEntity,
pPartialTick: Float,
pPoseStack: PoseStack,
pBuffer: MultiBufferSource,
pPackedLight: Int,
pPackedOverlay: Int,
) {

pPoseStack.pushPose()
pPoseStack.translate(0.5f, 0.75f * 0.6666667f, 0.5f)
Minecraft.getInstance().font.drawInBatch(
"A",
0F,
0F,
Color.WHITE.rgb,
false,
pPoseStack.last().pose(),
pBuffer,
Font.DisplayMode.NORMAL,
Color(0,0,255,128).rgb,
15728880
)
pPoseStack.popPose()
}
}
14 changes: 7 additions & 7 deletions src/main/kotlin/breadmod/datagen/ModBlockStateProvider.kt
Original file line number Diff line number Diff line change
Expand Up @@ -107,23 +107,23 @@ class ModBlockStateProvider(
getVariantBuilder(ModBlocks.BAUXITE_ORE.get().block).forAllStates { state -> getOreModels(state) }

// // //
horizontalBlock(ModBlocks.CONCEPTUALLY_DANGEROUS_BREAD_BLOCK.get().block) {
directionalBlock(ModBlocks.BREAD_SCREEN.get().block) {
val name = "breadmod:block/bread_screen"

val model = models().cube(
name,
modLoc("${ModelProvider.BLOCK_FOLDER}/bread_screen_top"),
modLoc("${ModelProvider.BLOCK_FOLDER}/bread_screen_top"),
modLoc("${ModelProvider.BLOCK_FOLDER}/bread_furnace_face"),
modLoc("${ModelProvider.BLOCK_FOLDER}/bread_furnace_face"),
modLoc("${ModelProvider.BLOCK_FOLDER}/bread_furnace_side"),
modLoc("${ModelProvider.BLOCK_FOLDER}/bread_furnace_side")
modLoc("${ModelProvider.BLOCK_FOLDER}/bread_screen_face"),
modLoc("${ModelProvider.BLOCK_FOLDER}/bread_screen_top"),
modLoc("${ModelProvider.BLOCK_FOLDER}/bread_screen_side"),
modLoc("${ModelProvider.BLOCK_FOLDER}/bread_screen_side")
)

return@horizontalBlock model
return@directionalBlock model
}
simpleBlockItem(
ModBlocks.CONCEPTUALLY_DANGEROUS_BREAD_BLOCK.get().block,
ModBlocks.BREAD_SCREEN.get().block,
models().getBuilder("breadmod:block/bread_screen")
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class USEnglishLanguageProvider(output: PackOutput, modID: String, locale: Strin
add(ModBlocks.FLOUR_BLOCK.get())
add(ModBlocks.FLOUR_LAYER_BLOCK.get(), "Flour")
add(ModBlocks.BAUXITE_ORE.get())
add(ModBlocks.CONCEPTUALLY_DANGEROUS_BREAD_BLOCK.get())
add(ModBlocks.BREAD_SCREEN.get())

modAdd(
"The Bread Mod",
Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/breadmod/datagen/tags/ModBlockTags.kt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class ModBlockTags(
.add(ModBlocks.BREAD_FURNACE_BLOCK.get().block)
.add(ModBlocks.HEATING_ELEMENT_BLOCK.get().block)
.add(ModBlocks.BAUXITE_ORE.get().block)
.add(ModBlocks.CONCEPTUALLY_DANGEROUS_BREAD_BLOCK.get().block)
.add(ModBlocks.BREAD_SCREEN.get().block)
tag(BlockTags.STONE_ORE_REPLACEABLES)
.add(ModBlocks.BREAD_BLOCK.get().block)
tag(BlockTags.MINEABLE_WITH_SHOVEL)
Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/breadmod/mixin/MixinItemModelShaper.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable
abstract class MixinItemModelShaper: ItemModelShaperAccessor {
@Inject(method = ["getItemModel"], at = [At("HEAD")], cancellable = true)
private fun getItemModel(pStack: ItemStack, info: CallbackInfoReturnable<BakedModel>) {
if(pStack is BlockStateStack) info.returnValue = this.modelManager.blockModelShaper.getBlockModel(pStack.blockState)
//if(pStack is BlockStateStack) info.returnValue = this.modelManager.blockModelShaper.getBlockModel(pStack.blockState)
}
}
7 changes: 7 additions & 0 deletions src/main/kotlin/breadmod/registry/block/ModBlockEntities.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package breadmod.registry.block

import breadmod.BreadMod
import breadmod.block.entity.BreadFurnaceBlockEntity
import breadmod.block.entity.BreadScreenBlockEntity
import breadmod.block.entity.HeatingElementBlockEntity
import breadmod.registry.block.ModBlocks.BREAD_FURNACE_BLOCK
import breadmod.registry.block.ModBlocks.HEATING_ELEMENT_BLOCK
Expand All @@ -25,4 +26,10 @@ object ModBlockEntities {
HEATING_ELEMENT_BLOCK.get().block
).build(null)
}
val BREAD_SCREEN: RegistryObject<BlockEntityType<BreadScreenBlockEntity>> = deferredRegister.register("bread_screen_entity") {
BlockEntityType.Builder.of(
{ pPos, pState -> BreadScreenBlockEntity(pPos, pState) },
ModBlocks.BREAD_SCREEN.get().block
).build(null)
}
}
8 changes: 4 additions & 4 deletions src/main/kotlin/breadmod/registry/block/ModBlocks.kt
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ object ModBlocks {
Item.Properties().fireResistant()
)

val CONCEPTUALLY_DANGEROUS_BREAD_BLOCK = registerBlockItem(
"bread_screen_omg",
{ Block(BlockBehaviour.Properties.copy(Blocks.COAL_BLOCK)) },
val BREAD_SCREEN = registerBlockItem(
"bread_screen",
{ BreadScreenBlock() },
Item.Properties()
)

Expand Down Expand Up @@ -154,7 +154,7 @@ object ModBlocks {
dropSelf(HAPPY_BLOCK.get().block)
dropSelf(HEATING_ELEMENT_BLOCK.get().block)
dropSelf(BAUXITE_ORE.get().block)
dropSelf(CONCEPTUALLY_DANGEROUS_BREAD_BLOCK.get().block)
dropSelf(BREAD_SCREEN.get().block)

add(
FLOUR_BLOCK.get().block,
Expand Down
1 change: 0 additions & 1 deletion src/main/resources/META-INF/accesstransformer.cfg
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
public-f net.minecraft.world.item.ItemStack
###

0 comments on commit 4f563cc

Please sign in to comment.