mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-10-21 06:36:25 -04:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9da67aa05 |
@@ -8,16 +8,8 @@
|
||||
|
||||
package com.cobblemon.mod.common
|
||||
|
||||
import com.cobblemon.mod.common.block.entity.BerryBlockEntity
|
||||
import com.cobblemon.mod.common.block.entity.HealingMachineBlockEntity
|
||||
import com.cobblemon.mod.common.block.entity.PCBlockEntity
|
||||
import com.cobblemon.mod.common.block.entity.PokemonPastureBlockEntity
|
||||
import com.cobblemon.mod.common.block.entity.FossilAnalyzerBlockEntity
|
||||
import com.cobblemon.mod.common.block.entity.FossilMultiblockEntity
|
||||
import com.cobblemon.mod.common.block.entity.RestorationTankBlockEntity
|
||||
import com.cobblemon.mod.common.block.multiblock.FossilMultiblockBuilder
|
||||
import com.cobblemon.mod.common.block.entity.*
|
||||
import com.cobblemon.mod.common.block.entity.DisplayCaseBlockEntity
|
||||
import com.cobblemon.mod.common.block.multiblock.FossilMultiblockBuilder
|
||||
import com.cobblemon.mod.common.platform.PlatformRegistry
|
||||
import net.minecraft.block.entity.BlockEntityType
|
||||
import net.minecraft.registry.Registries
|
||||
@@ -36,6 +28,9 @@ object CobblemonBlockEntities : PlatformRegistry<Registry<BlockEntityType<*>>, R
|
||||
@JvmField
|
||||
val PC: BlockEntityType<PCBlockEntity> = this.create("pc", BlockEntityType.Builder.create(::PCBlockEntity, CobblemonBlocks.PC).build(null))
|
||||
|
||||
@JvmField
|
||||
val STADIUM: BlockEntityType<StadiumBlockEntity> = this.create("stadium_terminal", BlockEntityType.Builder.create(::StadiumBlockEntity, CobblemonBlocks.STADIUM).build(null))
|
||||
|
||||
@JvmField
|
||||
val BERRY = this.create("berry", BlockEntityType.Builder.create(::BerryBlockEntity, *CobblemonBlocks.berries().values.toTypedArray()).build(null))
|
||||
|
||||
|
||||
@@ -11,22 +11,14 @@ package com.cobblemon.mod.common
|
||||
import com.cobblemon.mod.common.api.apricorn.Apricorn
|
||||
import com.cobblemon.mod.common.block.*
|
||||
import com.cobblemon.mod.common.block.MintBlock.MintType
|
||||
import com.cobblemon.mod.common.block.FossilAnalyzerBlock
|
||||
import com.cobblemon.mod.common.block.MonitorBlock
|
||||
import com.cobblemon.mod.common.block.RestorationTankBlock
|
||||
import com.cobblemon.mod.common.mixin.invoker.DoorBlockInvoker
|
||||
import com.cobblemon.mod.common.mixin.invoker.PressurePlateBlockInvoker
|
||||
import com.cobblemon.mod.common.mixin.invoker.StairsBlockInvoker
|
||||
import com.cobblemon.mod.common.mixin.invoker.TrapdoorBlockInvoker
|
||||
import com.cobblemon.mod.common.mixin.invoker.*
|
||||
import com.cobblemon.mod.common.platform.PlatformRegistry
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import com.cobblemon.mod.common.block.BerryBlock
|
||||
import com.cobblemon.mod.common.block.chest.GildedChestBlock
|
||||
import com.cobblemon.mod.common.block.sign.CobblemonHangingSignBlock
|
||||
import com.cobblemon.mod.common.block.sign.CobblemonSignBlock
|
||||
import com.cobblemon.mod.common.block.sign.CobblemonWallHangingSignBlock
|
||||
import com.cobblemon.mod.common.block.sign.CobblemonWallSignBlock
|
||||
import com.cobblemon.mod.common.mixin.invoker.*
|
||||
import com.cobblemon.mod.common.platform.PlatformRegistry
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.block.*
|
||||
import net.minecraft.block.enums.Instrument
|
||||
import net.minecraft.block.piston.PistonBehavior
|
||||
@@ -388,6 +380,19 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
|
||||
)
|
||||
)
|
||||
|
||||
@JvmField
|
||||
val STADIUM = create(
|
||||
"stadium_terminal",
|
||||
StadiumBlock(
|
||||
AbstractBlock.Settings.create()
|
||||
.mapColor(MapColor.IRON_GRAY)
|
||||
.sounds(BlockSoundGroup.METAL)
|
||||
.pistonBehavior(PistonBehavior.BLOCK)
|
||||
.strength(2F)
|
||||
.nonOpaque()
|
||||
)
|
||||
)
|
||||
|
||||
@JvmField
|
||||
val DISPLAY_CASE = create(
|
||||
"display_case",
|
||||
|
||||
@@ -23,12 +23,7 @@ import com.cobblemon.mod.common.item.armor.CobblemonArmorTrims
|
||||
import com.cobblemon.mod.common.item.battle.DireHitItem
|
||||
import com.cobblemon.mod.common.item.battle.GuardSpecItem
|
||||
import com.cobblemon.mod.common.item.battle.XStatItem
|
||||
import com.cobblemon.mod.common.item.berry.FriendshipRaisingBerryItem
|
||||
import com.cobblemon.mod.common.item.berry.HealingBerryItem
|
||||
import com.cobblemon.mod.common.item.berry.PPRestoringBerryItem
|
||||
import com.cobblemon.mod.common.item.berry.PortionHealingBerryItem
|
||||
import com.cobblemon.mod.common.item.berry.StatusCuringBerryItem
|
||||
import com.cobblemon.mod.common.item.berry.VolatileCuringBerryItem
|
||||
import com.cobblemon.mod.common.item.berry.*
|
||||
import com.cobblemon.mod.common.item.interactive.*
|
||||
import com.cobblemon.mod.common.item.interactive.PotionItem
|
||||
import com.cobblemon.mod.common.item.interactive.ability.AbilityChangeItem
|
||||
@@ -253,6 +248,8 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, RegistryKey<Registry<It
|
||||
@JvmField
|
||||
val PC = blockItem("pc", CobblemonBlocks.PC)
|
||||
@JvmField
|
||||
val STADIUM = blockItem("stadium_terminal", CobblemonBlocks.STADIUM)
|
||||
@JvmField
|
||||
val PASTURE = blockItem("pasture", CobblemonBlocks.PASTURE)
|
||||
@JvmField
|
||||
val DISPLAY_CASE = blockItem("display_case", CobblemonBlocks.DISPLAY_CASE)
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.block
|
||||
|
||||
import com.cobblemon.mod.common.api.text.red
|
||||
import com.cobblemon.mod.common.api.text.text
|
||||
import com.cobblemon.mod.common.block.entity.StadiumBlockEntity
|
||||
import net.minecraft.block.BlockState
|
||||
import net.minecraft.block.BlockWithEntity
|
||||
import net.minecraft.block.entity.BlockEntity
|
||||
import net.minecraft.entity.player.PlayerEntity
|
||||
import net.minecraft.server.network.ServerPlayerEntity
|
||||
import net.minecraft.util.ActionResult
|
||||
import net.minecraft.util.Hand
|
||||
import net.minecraft.util.hit.BlockHitResult
|
||||
import net.minecraft.util.math.BlockPos
|
||||
import net.minecraft.world.World
|
||||
|
||||
class StadiumBlock(properties: Settings): BlockWithEntity(properties) {
|
||||
override fun createBlockEntity(blockPos: BlockPos?, blockState: BlockState?): BlockEntity = StadiumBlockEntity(blockPos, blockState)
|
||||
|
||||
|
||||
@Deprecated("Deprecated in Java")
|
||||
override fun onUse(
|
||||
blockState: BlockState,
|
||||
world: World,
|
||||
blockPos: BlockPos,
|
||||
player: PlayerEntity,
|
||||
interactionHand: Hand,
|
||||
blockHitResult: BlockHitResult
|
||||
): ActionResult {
|
||||
if (player !is ServerPlayerEntity) return ActionResult.SUCCESS
|
||||
|
||||
val blockEntity = world.getBlockEntity(blockPos)
|
||||
if (blockEntity !is StadiumBlockEntity) return ActionResult.SUCCESS
|
||||
|
||||
val message = "Stadium Pos: " + blockEntity.pos +
|
||||
"\nPlayer 1 Pos: " + blockEntity.getPlayer1Pos() +
|
||||
"\nPoke 1 Pos: " + blockEntity.getPoke1Pos() +
|
||||
"\nPlayer 2 Pos: " + blockEntity.getPlayer2Pos() +
|
||||
"\nPoke 2 Pos: " + blockEntity.getPoke2Pos()
|
||||
player.sendMessage(text(message).red())
|
||||
return ActionResult.SUCCESS
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.cobblemon.mod.common.block.entity
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonBlockEntities
|
||||
import net.minecraft.block.BlockState
|
||||
import net.minecraft.block.entity.BlockEntity
|
||||
import net.minecraft.util.math.BlockPos
|
||||
|
||||
class StadiumBlockEntity(blockPos: BlockPos?, blockState: BlockState?): BlockEntity(CobblemonBlockEntities.STADIUM, blockPos, blockState) {
|
||||
fun getPlayer1Pos(): BlockPos? {
|
||||
return pos.add(5, 0, 10)
|
||||
}
|
||||
|
||||
fun getPlayer2Pos(): BlockPos? {
|
||||
return pos.add(5, 0, -10)
|
||||
}
|
||||
|
||||
fun getPoke1Pos(): BlockPos? {
|
||||
return pos.add(5, 0, 5)
|
||||
}
|
||||
|
||||
fun getPoke2Pos(): BlockPos? {
|
||||
return pos.add(5, 0, -5)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,25 +8,15 @@
|
||||
|
||||
package com.cobblemon.mod.common.client
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.*
|
||||
import com.cobblemon.mod.common.Cobblemon.LOGGER
|
||||
import com.cobblemon.mod.common.api.berry.Berries
|
||||
import com.cobblemon.mod.common.CobblemonBlockEntities
|
||||
import com.cobblemon.mod.common.CobblemonBlocks
|
||||
import com.cobblemon.mod.common.CobblemonClientImplementation
|
||||
import com.cobblemon.mod.common.CobblemonEntities
|
||||
import com.cobblemon.mod.common.CobblemonItems
|
||||
import com.cobblemon.mod.common.api.scheduling.ClientTaskTracker
|
||||
import com.cobblemon.mod.common.api.text.gray
|
||||
import com.cobblemon.mod.common.client.battle.ClientBattle
|
||||
import com.cobblemon.mod.common.client.gui.PartyOverlay
|
||||
import com.cobblemon.mod.common.client.gui.battle.BattleOverlay
|
||||
import com.cobblemon.mod.common.client.particle.BedrockParticleEffectRepository
|
||||
import com.cobblemon.mod.common.client.render.block.BerryBlockRenderer
|
||||
import com.cobblemon.mod.common.client.render.block.FossilAnalyzerRenderer
|
||||
import com.cobblemon.mod.common.client.render.block.RestorationTankRenderer
|
||||
import com.cobblemon.mod.common.client.render.block.GildedChestBlockRenderer
|
||||
import com.cobblemon.mod.common.client.render.block.HealingMachineRenderer
|
||||
import com.cobblemon.mod.common.client.render.block.*
|
||||
import com.cobblemon.mod.common.client.render.boat.CobblemonBoatRenderer
|
||||
import com.cobblemon.mod.common.client.render.generic.GenericBedrockRenderer
|
||||
@@ -34,10 +24,7 @@ import com.cobblemon.mod.common.client.render.item.CobblemonBuiltinItemRendererR
|
||||
import com.cobblemon.mod.common.client.render.item.PokemonItemRenderer
|
||||
import com.cobblemon.mod.common.client.render.layer.PokemonOnShoulderRenderer
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.bedrock.animation.BedrockAnimationRepository
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.repository.BerryModelRepository
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.repository.BlockEntityModelRepository
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.repository.PokeBallModelRepository
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.repository.PokemonModelRepository
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.repository.*
|
||||
import com.cobblemon.mod.common.client.render.pokeball.PokeBallRenderer
|
||||
import com.cobblemon.mod.common.client.render.pokemon.PokemonRenderer
|
||||
import com.cobblemon.mod.common.client.sound.battle.BattleMusicController
|
||||
@@ -47,9 +34,6 @@ import com.cobblemon.mod.common.client.trade.ClientTrade
|
||||
import com.cobblemon.mod.common.data.CobblemonDataProvider
|
||||
import com.cobblemon.mod.common.entity.boat.CobblemonBoatType
|
||||
import com.cobblemon.mod.common.item.PokeBallItem
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.repository.FossilModelRepository
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.repository.GenericBedrockEntityModelRepository
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.repository.MiscModelRepository
|
||||
import com.cobblemon.mod.common.platform.events.PlatformEvents
|
||||
import com.cobblemon.mod.common.util.DataKeys
|
||||
import com.cobblemon.mod.common.util.asTranslated
|
||||
@@ -221,7 +205,8 @@ object CobblemonClient {
|
||||
CobblemonBlocks.LARGE_BUDDING_SKY_TUMBLESTONE,
|
||||
CobblemonBlocks.SKY_TUMBLESTONE_CLUSTER,
|
||||
CobblemonBlocks.GIMMIGHOUL_CHEST,
|
||||
CobblemonBlocks.DISPLAY_CASE
|
||||
CobblemonBlocks.DISPLAY_CASE,
|
||||
CobblemonBlocks.STADIUM
|
||||
)
|
||||
|
||||
this.createBoatModelLayers()
|
||||
|
||||
@@ -218,6 +218,7 @@ object CobblemonItemGroups {
|
||||
entries.add(CobblemonItems.MONITOR)
|
||||
entries.add(CobblemonItems.PC)
|
||||
entries.add(CobblemonItems.HEALING_MACHINE)
|
||||
entries.add(CobblemonItems.STADIUM)
|
||||
entries.add(CobblemonItems.PASTURE)
|
||||
|
||||
entries.add(CobblemonItems.GILDED_CHEST)
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "cobblemon:block/stadium_terminal"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "cobblemon:block/stadium_terminal",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "cobblemon:block/stadium_terminal",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "cobblemon:block/stadium_terminal",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -478,6 +478,7 @@
|
||||
"block.cobblemon.healing_machine.tooltip1": "Must be charged after placing.",
|
||||
"block.cobblemon.healing_machine.tooltip2": "Charges over time.",
|
||||
"block.cobblemon.pc": "PC",
|
||||
"block.cobblemon.stadium_terminal": "Stadium Terminal",
|
||||
"block.cobblemon.restoration_tank": "Restoration Tank",
|
||||
"block.cobblemon.fossil_analyzer": "Fossil Analyzer",
|
||||
"block.cobblemon.monitor": "Data Monitor",
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
{
|
||||
"credit": "Made with Blockbench by dhi_holo (@holo_modeller)",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"0": "cobblemon:block/display_case_bottom",
|
||||
"1": "cobblemon:block/display_case_side",
|
||||
"2": "cobblemon:block/display_case_top",
|
||||
"3": "cobblemon:block/display_case_internal",
|
||||
"4": "cobblemon:block/display_case_pillow",
|
||||
"particle": "cobblemon:block/display_case_bottom"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 4, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"},
|
||||
"east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"},
|
||||
"south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"},
|
||||
"west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#3"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "glasss",
|
||||
"from": [0, 4, 0],
|
||||
"to": [16, 16, 0],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"},
|
||||
"south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "glasss",
|
||||
"from": [0, 4, 16],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"},
|
||||
"south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "glasss",
|
||||
"from": [0, 4, 0],
|
||||
"to": [0, 16, 16],
|
||||
"faces": {
|
||||
"east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"},
|
||||
"west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "glasss",
|
||||
"from": [16, 4, 0],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"},
|
||||
"west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "glasss",
|
||||
"from": [0, 16, 0],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "up"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "up"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2, 4, 2],
|
||||
"to": [14, 5, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 2]},
|
||||
"faces": {
|
||||
"north": {"uv": [1, 13, 13, 14], "texture": "#4"},
|
||||
"east": {"uv": [0, 1, 1, 13], "rotation": 270, "texture": "#4"},
|
||||
"south": {"uv": [1, 0, 13, 1], "rotation": 180, "texture": "#4"},
|
||||
"west": {"uv": [13, 1, 14, 13], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [13, 13, 1, 1], "texture": "#4"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
0,
|
||||
{
|
||||
"name": "glass",
|
||||
"origin": [0, 0, 0],
|
||||
"color": 0,
|
||||
"children": [1, 2, 3, 4, 5]
|
||||
},
|
||||
6
|
||||
],
|
||||
"gui_light": "side",
|
||||
"display": {
|
||||
"gui": {
|
||||
"rotation": [ 30, 225, 0 ],
|
||||
"translation": [ 0, 0, 0 ],
|
||||
"scale":[ 0.625, 0.625, 0.625 ]
|
||||
},
|
||||
"ground": {
|
||||
"rotation": [ 0, 0, 0 ],
|
||||
"translation": [ 0, 3, 0 ],
|
||||
"scale":[ 0.25, 0.25, 0.25 ]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [ 0, 0, 0 ],
|
||||
"translation": [ 0, 0, 0 ],
|
||||
"scale":[ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [ 75, 135, 0 ],
|
||||
"translation": [ 0, 2.5, 0 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [ 0, 135, 0 ],
|
||||
"translation": [ 0, 0, 0 ],
|
||||
"scale": [ 0.40, 0.40, 0.40 ]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [ 0, 135, 0 ],
|
||||
"translation": [ 0, 0, 0 ],
|
||||
"scale": [ 0.40, 0.40, 0.40 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"parent": "cobblemon:block/stadium_terminal"
|
||||
}
|
||||
Reference in New Issue
Block a user