diff --git a/.gitignore b/.gitignore index 8a0a60d..2728970 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ # Project exclude paths +/.idea/ /.gradle/ /build/ -/build/classes/java/main/ \ No newline at end of file +/build/classes/java/main/ +/run/ \ No newline at end of file diff --git a/build.gradle b/build.gradle index 5a74833..d356a2c 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true + classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '[6.0, 6.2)', changing: true } } apply plugin: 'net.minecraftforge.gradle' @@ -18,7 +18,7 @@ archivesBaseName = 'morepaths' java.toolchain.languageVersion = JavaLanguageVersion.of(17) minecraft { - mappings channel: 'official', version: '1.19.2' + mappings channel: 'official', version: '1.20.1' accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') @@ -54,9 +54,9 @@ minecraft { jar.finalizedBy('reobfJar') dependencies { - minecraft 'net.minecraftforge:forge:1.19.2-43.1.15' + minecraft 'net.minecraftforge:forge:1.20.1-47.2.0' } jar { - archiveName = "More_Paths_Repathed-1.19-${version}.${extension}" + archiveFileName = "More_Paths_Repathed-1.20.1-${version}.jar" } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 249e583..943f0cb 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8049c68..37aef8d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index a69d9cb..65dcd68 100644 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,10 +80,10 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' @@ -143,12 +143,16 @@ fi if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac diff --git a/gradlew.bat b/gradlew.bat index f127cfd..93e3f59 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% diff --git a/src/main/java/com/kuraion/morepaths/MorepathsMod.java b/src/main/java/com/kuraion/morepaths/MorepathsMod.java index 33da4d5..8435775 100644 --- a/src/main/java/com/kuraion/morepaths/MorepathsMod.java +++ b/src/main/java/com/kuraion/morepaths/MorepathsMod.java @@ -37,7 +37,6 @@ public MorepathsMod() { ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, ServerConfig.SERVER_CONFIG); MinecraftForge.EVENT_BUS.addListener(OtherPathBlock::doPlayerHarvestCheck); - MinecraftForge.EVENT_BUS.addListener(ShovelInteraction::onRightClick); } public static void addNetworkMessage(Class messageType, BiConsumer encoder, Function decoder, diff --git a/src/main/java/com/kuraion/morepaths/ShovelInteraction.java b/src/main/java/com/kuraion/morepaths/ShovelInteraction.java deleted file mode 100644 index 0589269..0000000 --- a/src/main/java/com/kuraion/morepaths/ShovelInteraction.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.kuraion.morepaths; - -import com.kuraion.morepaths.init.MorepathsModBlocks; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.sounds.SoundSource; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.gameevent.GameEvent; -import net.minecraft.world.level.material.Material; -import net.minecraftforge.common.ToolActions; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; - -public class ShovelInteraction { - @SubscribeEvent - public static void onRightClick(PlayerInteractEvent.RightClickBlock event) { - - Player p = event.getEntity(); - - ItemStack held = p.getMainHandItem(); - - boolean isShovel = held.canPerformAction(ToolActions.SHOVEL_FLATTEN); - - if(!isShovel) - return; - - Direction facing = event.getFace(); - - if(facing == null) - return; - - BlockPos pos = event.getPos(); - - boolean playerCanEditBlock = p.mayUseItemAt(pos.offset(facing.getNormal()), facing, held); - if(!playerCanEditBlock) - return; - - Level world = event.getLevel(); - - Material blockAbove = world.getBlockState(pos.above()).getMaterial(); - if(blockAbove != Material.AIR) - return; - - Block targetBlock = world.getBlockState(pos).getBlock(); - - Block pathBlock = MorepathsModBlocks.getPathForBlock(targetBlock); - - if(pathBlock == null) - return; - - world.playSound(p, pos, SoundEvents.SHOVEL_FLATTEN, SoundSource.BLOCKS, 1.0F, 1.0F); - - if(!world.isClientSide()) { - world.setBlock(event.getPos(), pathBlock.defaultBlockState(), 11); - world.gameEvent(GameEvent.BLOCK_CHANGE, event.getPos(), GameEvent.Context.of(p, pathBlock.defaultBlockState())); - held.hurtAndBreak(1, p, (pl) -> { pl.broadcastBreakEvent(EquipmentSlot.MAINHAND); }); - } - - event.setCanceled(true); - event.setCancellationResult(InteractionResult.SUCCESS); - - } -} diff --git a/src/main/java/com/kuraion/morepaths/blocks/OtherPathBlock.java b/src/main/java/com/kuraion/morepaths/blocks/OtherPathBlock.java index 52ceef9..05d876b 100644 --- a/src/main/java/com/kuraion/morepaths/blocks/OtherPathBlock.java +++ b/src/main/java/com/kuraion/morepaths/blocks/OtherPathBlock.java @@ -32,7 +32,7 @@ public OtherPathBlock(Block pathedFrom) { private static Properties getProperties(Block pathedFrom) { BlockState state = pathedFrom.defaultBlockState(); - return Block.Properties.of(state.getMaterial(), state.getMaterial().getColor()).strength(state.getDestroySpeed(null, null)).sound(state.getSoundType()); + return Block.Properties.of().mapColor(pathedFrom.defaultMapColor()).strength(pathedFrom.defaultDestroyTime()).sound(pathedFrom.getSoundType(state)); } @Override diff --git a/src/main/java/com/kuraion/morepaths/init/MorepathsModBlocks.java b/src/main/java/com/kuraion/morepaths/init/MorepathsModBlocks.java index 588a654..d07b362 100644 --- a/src/main/java/com/kuraion/morepaths/init/MorepathsModBlocks.java +++ b/src/main/java/com/kuraion/morepaths/init/MorepathsModBlocks.java @@ -3,6 +3,7 @@ import com.kuraion.morepaths.MorepathsMod; import com.kuraion.morepaths.blocks.OtherPathBlock; import com.kuraion.morepaths.config.ServerConfig; +import net.minecraft.world.item.ShovelItem; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.DirtPathBlock; @@ -31,6 +32,7 @@ public class MorepathsModBlocks { private static OtherPathBlock createBlock(Block fromBlock) { OtherPathBlock regBlock = new OtherPathBlock(fromBlock); + ShovelItem.FLATTENABLES.put(fromBlock, regBlock.defaultBlockState()); ALL_PATHS.put(fromBlock, regBlock); return regBlock; } diff --git a/src/main/java/com/kuraion/morepaths/init/MorepathsModItems.java b/src/main/java/com/kuraion/morepaths/init/MorepathsModItems.java index dec8513..70c9ef9 100644 --- a/src/main/java/com/kuraion/morepaths/init/MorepathsModItems.java +++ b/src/main/java/com/kuraion/morepaths/init/MorepathsModItems.java @@ -1,9 +1,10 @@ package com.kuraion.morepaths.init; import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.CreativeModeTabs; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; +import net.minecraftforge.event.BuildCreativeModeTabContentsEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.registries.ForgeRegistries; @@ -19,11 +20,16 @@ public static void onRegisterItems(RegisterEvent event) { if (event.getRegistryKey().equals(ForgeRegistries.Keys.ITEMS)){ MorepathsModBlocks.BLOCKS.getEntries().forEach( (blockRegistryObject) -> { Block block = blockRegistryObject.get(); - Item.Properties properties = new Item.Properties().tab(CreativeModeTab.TAB_BUILDING_BLOCKS); - Supplier blockItemFactory = () -> new BlockItem(block, properties); + Supplier blockItemFactory = () -> new BlockItem(block, new Item.Properties()); event.register(ForgeRegistries.Keys.ITEMS, blockRegistryObject.getId(), blockItemFactory); }); } } + @SubscribeEvent + public static void registerCreativeTabs(BuildCreativeModeTabContentsEvent event) { + if (event.getTabKey().equals(CreativeModeTabs.NATURAL_BLOCKS)) { + MorepathsModBlocks.BLOCKS.getEntries().forEach(event::accept); + } + } } diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg new file mode 100644 index 0000000..d993519 --- /dev/null +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -0,0 +1 @@ +public net.minecraft.world.item.ShovelItem f_43110_ \ No newline at end of file diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 4f63ddb..9dfe0b7 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[41,)" +loaderVersion="[47,)" license="MIT License" [[mods]] @@ -15,6 +15,6 @@ description='''Adds more paths to Minecraft!''' [[dependencies.morepaths]] modId="minecraft" mandatory=true - versionRange="[1.19,]" + versionRange="[1.20.1,]" ordering="NONE" side="BOTH" diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index 32f5fce..7fb84be 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -1,6 +1,6 @@ { "pack": { "description": "MorePaths resources", - "pack_format": 7 + "pack_format": 15 } }