Skip to content

Commit

Permalink
Update to Minecraft 19w06a
Browse files Browse the repository at this point in the history
  • Loading branch information
hea3ven committed Feb 10, 2019
1 parent 2cd6352 commit bc5da7b
Show file tree
Hide file tree
Showing 10 changed files with 40 additions and 36 deletions.
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ project_changelog_file=CHANGELOG
project_bootstrap_file=assets/dulcedeleche/bootstrap.json

version_mc=1.14-Snapshot
version_mc_jar=19w05a
version_mc_mappings=19w05a.6
version_fabric=0.1.5.87
version_fabric_loader=0.3.4.104
version_mc_jar=19w06a
version_mc_mappings=19w06a.3
version_fabric=0.2.0.90
version_fabric_loader=0.3.5.106
version_kotlin=1.3.10
version_fabric_kotlin=1.3.10-27
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.server.network.ServerPlayerInteractionManager;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

import com.hea3ven.dulcedeleche.modules.enchantments.EnchantmentsModule;
import com.hea3ven.dulcedeleche.modules.enchantments.enchantment.IServerPlayerInteractionManager;
Expand All @@ -21,7 +21,7 @@ public abstract class ServerPlayerInteractionManagerMixin
public ServerPlayerEntity player;

@Shadow
public World world;
public ServerWorld world;

public final ServerPlayerEntity getPlayer() {
return player;
Expand All @@ -31,11 +31,11 @@ public final void setPlayer(ServerPlayerEntity var1) {
this.player = var1;
}

public final World getWorld() {
public final ServerWorld getWorld() {
return world;
}

public final void setWorld(World var1) {
public final void setWorld(ServerWorld var1) {
this.world = var1;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package com.hea3ven.dulcedeleche.modules.world.mixin;

import net.fabricmc.fabric.util.HandlerArray;

import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
Expand All @@ -25,10 +23,6 @@ public BlockItemMixin() {
at = @At(value = "RETURN", ordinal = 4))
public final void onPlace(ItemPlacementContext itemPlacementContext,
CallbackInfoReturnable<ActionResult> info) {

for (BlockItemPlaceEvent handler : ((HandlerArray<BlockItemPlaceEvent>) BlockItemPlaceEvent.Companion
.getPOST_SUCCESS()).getBackingArray()) {
handler.place(itemPlacementContext);
}
BlockItemPlaceEvent.Companion.getPOST_SUCCESS().invoker().place(itemPlacementContext);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ object ModDulceDeLeche : ModInitializer {
}

fun getFakePlayer(world: World) = object : PlayerEntity(world, ModDulceDeLeche.fakePlayerProfile) {
override fun isSpectator() = false
override fun method_7325() = false
override fun isCreative() = false
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import net.minecraft.enchantment.EnchantmentTarget
import net.minecraft.entity.EquipmentSlot
import net.minecraft.entity.player.PlayerEntity
import net.minecraft.item.ItemStack
import net.minecraft.server.world.ServerWorld
import net.minecraft.util.hit.BlockHitResult
import net.minecraft.util.math.BlockPos
import net.minecraft.util.math.Direction
import net.minecraft.world.World

class EnchantmentArea : Enchantment(Weight.LEGENDARY, EnchantmentTarget.BREAKER, arrayOf(EquipmentSlot.HAND_MAIN)) {

Expand Down Expand Up @@ -79,7 +79,7 @@ class EnchantmentArea : Enchantment(Weight.LEGENDARY, EnchantmentTarget.BREAKER,

interface IServerPlayerInteractionManager {
val player: PlayerEntity
val world: World
val world: ServerWorld

fun isCreative(): Boolean

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import com.hea3ven.dulcedeleche.modules.redstone.client.gui.AssemblerScreen
import com.hea3ven.dulcedeleche.modules.redstone.client.gui.WorkbenchScreen
import com.hea3ven.dulcedeleche.modules.redstone.dispenser.DispenserBreedBehavior
import com.hea3ven.dulcedeleche.modules.redstone.dispenser.DispenserPlantBehavior
import net.fabricmc.fabric.api.client.gui.GuiFactory
import net.fabricmc.fabric.api.client.gui.GuiProviderRegistry
import net.fabricmc.fabric.api.client.screen.ContainerScreenFactory
import net.fabricmc.fabric.api.client.screen.ScreenProviderRegistry
import net.fabricmc.fabric.api.container.ContainerFactory
import net.fabricmc.fabric.api.container.ContainerProviderRegistry
import net.minecraft.block.Block
Expand Down Expand Up @@ -57,7 +57,7 @@ object RedstoneModule : Module<RedstoneModuleConfig>() {
workbenchItem.registerBlockItemMap(Item.BLOCK_ITEM_MAP, workbenchItem)
ContainerProviderRegistry.INSTANCE.registerFactory(workbenchId, ContainerFactory<Container>(
WorkbenchBlockEntity.Companion::createContainer))
GuiProviderRegistry.INSTANCE.registerFactory(workbenchId, GuiFactory(::WorkbenchScreen))
ScreenProviderRegistry.INSTANCE.registerFactory(workbenchId, ContainerScreenFactory(::WorkbenchScreen))
workbenchBlockEntityType = Registry.register(Registry.BLOCK_ENTITY, workbenchId, BlockEntityType(
{ WorkbenchBlockEntity(RedstoneModule.workbenchBlockEntityType) }, null))

Expand All @@ -68,7 +68,7 @@ object RedstoneModule : Module<RedstoneModuleConfig>() {
assemblerItem.registerBlockItemMap(Item.BLOCK_ITEM_MAP, assemblerItem)
ContainerProviderRegistry.INSTANCE.registerFactory(assemblerId, ContainerFactory<Container>(
AssemblerBlockEntity.Companion::createContainer))
GuiProviderRegistry.INSTANCE.registerFactory(assemblerId, GuiFactory(::AssemblerScreen))
ScreenProviderRegistry.INSTANCE.registerFactory(assemblerId, ContainerScreenFactory(::AssemblerScreen))
assemblerBlockEntityType = Registry.register(Registry.BLOCK_ENTITY, assemblerId, BlockEntityType(
{ AssemblerBlockEntity(RedstoneModule.assemblerBlockEntityType) }, null))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class AssemblerContainer(syncId: Int, craftingMachineEntity: AssemblerBlockEntit

init {
addOutputSlots(craftingMachineEntity, 18, 98, 57, 4, 1)
readData(propertyDelegate)
addProperties(propertyDelegate)
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import net.minecraft.server.world.ServerWorld
import net.minecraft.text.TranslatableTextComponent
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.util.math.Direction
import net.minecraft.world.World
Expand All @@ -18,10 +19,10 @@ object BedManagement {

private fun initPlacements(world: ServerWorld) {
if (placements == null) {
placements = world.dimensionalPersistentStateManager!!.get(::BedPlacements, "beds_data")
placements = world.persistentStateManager!!.get(::BedPlacements, "beds_data")
if (placements == null) {
placements = BedPlacements()
world.dimensionalPersistentStateManager!!.set(placements)
world.persistentStateManager!!.set(placements)
}
}
}
Expand Down Expand Up @@ -58,14 +59,13 @@ object BedManagement {
return ActionResult.SUCCESS
}

fun onPlayerInteract(player: PlayerEntity, world: World, hand: Hand, pos: BlockPos, direction: Direction,
hitX: Float, hitY: Float, hitZ: Float): ActionResult {
fun onPlayerInteract(player: PlayerEntity, world: World, hand: Hand, hit: BlockHitResult): ActionResult {
if (world.isClient) {
return ActionResult.PASS
}
val state = world.getBlockState(pos)
val state = world.getBlockState(hit.blockPos)
if (state.block is BedBlock) {
if (!BedManagement.canSleep(world, pos)) {
if (!BedManagement.canSleep(world, hit.blockPos)) {
player.addChatMessage(TranslatableTextComponent("block.minecraft.bed.recently_placed"), true)
return ActionResult.FAILURE
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.hea3ven.dulcedeleche.modules.world
import com.hea3ven.dulcedeleche.Module
import com.hea3ven.dulcedeleche.modules.world.event.BlockItemPlaceEvent
import com.hea3ven.tools.commonutils.util.ReflectionUtil.reflectField
import net.fabricmc.fabric.events.PlayerInteractionEvent
import net.fabricmc.fabric.api.event.player.UseBlockCallback
import net.minecraft.block.Block
import net.minecraft.block.LeavesBlock
import net.minecraft.item.ItemPlacementContext
Expand All @@ -27,8 +27,7 @@ object WorldModule : Module<WorldModuleConfig>() {
return BedManagement.onPlace(itemPlacementContext)
}
})
PlayerInteractionEvent.INTERACT_BLOCK.register(
PlayerInteractionEvent.BlockPositioned(BedManagement::onPlayerInteract))
UseBlockCallback.EVENT.register(UseBlockCallback(BedManagement::onPlayerInteract))
}

}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,26 @@
package com.hea3ven.dulcedeleche.modules.world.event

import net.fabricmc.fabric.util.HandlerArray
import net.fabricmc.fabric.util.HandlerRegistry
import net.fabricmc.fabric.api.event.Event
import net.fabricmc.fabric.api.event.EventFactory
import net.minecraft.item.ItemPlacementContext
import net.minecraft.util.ActionResult

@FunctionalInterface
interface BlockItemPlaceEvent {
companion object {
val POST_SUCCESS: HandlerRegistry<BlockItemPlaceEvent> = HandlerArray(BlockItemPlaceEvent::class.java)
val POST_SUCCESS: Event<BlockItemPlaceEvent> = EventFactory.createArrayBacked(
BlockItemPlaceEvent::class.java) { listeners ->
object : BlockItemPlaceEvent {
override fun place(itemPlacementContext: ItemPlacementContext): ActionResult {
for (handler in listeners) {
val result = handler.place(itemPlacementContext)
if (result != ActionResult.PASS) return result
}
return ActionResult.PASS
}
}
}
}

fun place(itemPlacementContext: ItemPlacementContext) : ActionResult
fun place(itemPlacementContext: ItemPlacementContext): ActionResult
}

0 comments on commit bc5da7b

Please sign in to comment.