Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
86e640ab32
|
||
|
|
958364907d
|
||
|
|
45937ee33d
|
No files matched your search
+3
-7
@@ -14,7 +14,7 @@ base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
java {
|
java {
|
||||||
toolchain.languageVersion = JavaLanguageVersion.of(17)
|
toolchain.languageVersion = JavaLanguageVersion.of(21)
|
||||||
}
|
}
|
||||||
|
|
||||||
minecraft {
|
minecraft {
|
||||||
@@ -77,12 +77,6 @@ minecraft {
|
|||||||
// You can set various levels here.
|
// You can set various levels here.
|
||||||
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
|
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
|
||||||
property 'forge.logging.console.level', 'debug'
|
property 'forge.logging.console.level', 'debug'
|
||||||
|
|
||||||
mods {
|
|
||||||
"${mod_id}" {
|
|
||||||
source sourceSets.main
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
client {
|
client {
|
||||||
@@ -136,6 +130,8 @@ repositories {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
||||||
|
|
||||||
|
implementation('net.sf.jopt-simple:jopt-simple:5.0.4') { version { strictly '5.0.4' } }
|
||||||
}
|
}
|
||||||
|
|
||||||
// This block of code expands all declared replace properties in the specified resource targets.
|
// This block of code expands all declared replace properties in the specified resource targets.
|
||||||
|
|||||||
+6
-6
@@ -1,13 +1,13 @@
|
|||||||
# CreateCoredumpOnCrash only works on jdk9+
|
# CreateCoredumpOnCrash only works on jdk9+
|
||||||
org.gradle.jvmargs=-Xmx3G -XX:-CreateCoredumpOnCrash
|
org.gradle.jvmargs=-Xmx3G -XX:-CreateCoredumpOnCrash
|
||||||
org.gradle.daemon=false
|
org.gradle.daemon=false
|
||||||
minecraft_version=1.20.3
|
minecraft_version=1.20.6
|
||||||
minecraft_version_range=[1.20.3,1.20.4]
|
minecraft_version_range=[1.20.6]
|
||||||
forge_version=49.0.2
|
forge_version=50.1.0
|
||||||
forge_version_range=[49,)
|
forge_version_range=[50,)
|
||||||
loader_version_range=[49,)
|
loader_version_range=[50,)
|
||||||
mapping_channel=parchment
|
mapping_channel=parchment
|
||||||
mapping_version=2023.12.31-1.20.3
|
mapping_version=2024.06.16-1.20.6
|
||||||
|
|
||||||
mod_id=enhancedexplosives
|
mod_id=enhancedexplosives
|
||||||
mod_name=Enhanced Explosives
|
mod_name=Enhanced Explosives
|
||||||
|
|||||||
@@ -39,6 +39,11 @@ public class baseArrow extends AbstractArrow {
|
|||||||
return ItemStack.EMPTY;
|
return ItemStack.EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ItemStack getDefaultPickupItem() {
|
||||||
|
return ItemStack.EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
protected Vec3 particlePos(double dist) {
|
protected Vec3 particlePos(double dist) {
|
||||||
Double speed = getDeltaMovement().length();
|
Double speed = getDeltaMovement().length();
|
||||||
return new Vec3(
|
return new Vec3(
|
||||||
|
|||||||
@@ -102,9 +102,10 @@ public abstract class basePrimedTNT extends Entity implements TraceableEntity {
|
|||||||
return MovementEmission.NONE;
|
return MovementEmission.NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void defineSynchedData() {
|
@Override
|
||||||
this.entityData.define(DATA_FUSE_ID, 80);
|
protected void defineSynchedData(SynchedEntityData.@NotNull Builder builder) {
|
||||||
this.entityData.define(DATA_POWER_ID, 4.0f);
|
builder.define(DATA_FUSE_ID, 80);
|
||||||
|
builder.define(DATA_POWER_ID, 4.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void addAdditionalSaveData(CompoundTag pCompound) {
|
protected void addAdditionalSaveData(CompoundTag pCompound) {
|
||||||
|
|||||||
@@ -6,11 +6,14 @@ import net.minecraft.nbt.CompoundTag;
|
|||||||
import net.minecraft.network.syncher.EntityDataAccessor;
|
import net.minecraft.network.syncher.EntityDataAccessor;
|
||||||
import net.minecraft.network.syncher.EntityDataSerializers;
|
import net.minecraft.network.syncher.EntityDataSerializers;
|
||||||
import net.minecraft.network.syncher.SynchedEntityData;
|
import net.minecraft.network.syncher.SynchedEntityData;
|
||||||
import net.minecraft.world.entity.*;
|
import net.minecraft.world.entity.Entity;
|
||||||
|
import net.minecraft.world.entity.EntityType;
|
||||||
|
import net.minecraft.world.entity.LivingEntity;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -83,9 +86,9 @@ public class blackHolePrimedTNT extends basePrimedTNT {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void defineSynchedData() {
|
protected void defineSynchedData(SynchedEntityData.@NotNull Builder builder) {
|
||||||
this.entityData.define(DATA_SPEED_ID, 4.0f);
|
builder.define(DATA_SPEED_ID, 4.0f);
|
||||||
super.defineSynchedData();
|
super.defineSynchedData(builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import net.minecraft.world.entity.projectile.Projectile;
|
|||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
@@ -72,9 +73,9 @@ public class claymorePrimedTNT extends basePrimedTNT {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void defineSynchedData() {
|
protected void defineSynchedData(SynchedEntityData.@NotNull Builder builder) {
|
||||||
this.entityData.define(DATA_PCOUNT_ID, 16);
|
builder.define(DATA_PCOUNT_ID, 16);
|
||||||
super.defineSynchedData();
|
super.defineSynchedData(builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import net.minecraft.world.level.Level;
|
|||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -116,9 +117,9 @@ public class homingPrimedTNT extends basePrimedTNT {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void defineSynchedData() {
|
protected void defineSynchedData(SynchedEntityData.@NotNull Builder builder) {
|
||||||
this.entityData.define(DATA_SPEED_ID, 4.0f);
|
builder.define(DATA_SPEED_ID, 4.0f);
|
||||||
super.defineSynchedData();
|
super.defineSynchedData(builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import net.minecraft.world.level.Level;
|
|||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -86,9 +87,9 @@ public class repulsivePrimedTNT extends basePrimedTNT {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void defineSynchedData() {
|
protected void defineSynchedData(SynchedEntityData.@NotNull Builder builder) {
|
||||||
this.entityData.define(DATA_SPEED_ID, 4.0f);
|
builder.define(DATA_SPEED_ID, 4.0f);
|
||||||
super.defineSynchedData();
|
super.defineSynchedData(builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import net.minecraft.world.item.ItemStack;
|
|||||||
import net.minecraft.world.item.TooltipFlag;
|
import net.minecraft.world.item.TooltipFlag;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -23,12 +22,12 @@ public abstract class ArrowAbstract extends ArrowItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, @NotNull List<Component> pTooltipComponents, @NotNull TooltipFlag pIsAdvanced) {
|
public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext pContext, @NotNull List<Component> pTooltipComponents, @NotNull TooltipFlag pTooltipFlag) {
|
||||||
String key = String.format("tooltip.%s.%s", MODID, this);
|
String key = String.format("tooltip.%s.%s", MODID, this);
|
||||||
MutableComponent toolTip = Component.translatable(key);
|
MutableComponent toolTip = Component.translatable(key);
|
||||||
if (!toolTip.getString().equals(key)) {
|
if (!toolTip.getString().equals(key)) {
|
||||||
pTooltipComponents.add(toolTip.withStyle(ChatFormatting.DARK_BLUE));
|
pTooltipComponents.add(toolTip.withStyle(ChatFormatting.DARK_BLUE));
|
||||||
super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced);
|
super.appendHoverText(pStack, pContext, pTooltipComponents, pTooltipFlag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,8 @@ import net.minecraft.world.item.BlockItem;
|
|||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.item.TooltipFlag;
|
import net.minecraft.world.item.TooltipFlag;
|
||||||
import net.minecraft.world.level.Level;
|
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -22,12 +20,12 @@ public class BlockItemTooltip extends BlockItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, @NotNull List<Component> pTooltipComponents, @NotNull TooltipFlag pIsAdvanced) {
|
public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext pContext, @NotNull List<Component> pTooltipComponents, @NotNull TooltipFlag pTooltipFlag) {
|
||||||
String key = String.format("tooltip.%s.%s", MODID, this);
|
String key = String.format("tooltip.%s.%s", MODID, this);
|
||||||
MutableComponent toolTip = Component.translatable(key);
|
MutableComponent toolTip = Component.translatable(key);
|
||||||
if (!toolTip.getString().equals(key)) {
|
if (!toolTip.getString().equals(key)) {
|
||||||
pTooltipComponents.add(toolTip.withStyle(ChatFormatting.DARK_BLUE));
|
pTooltipComponents.add(toolTip.withStyle(ChatFormatting.DARK_BLUE));
|
||||||
super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced);
|
super.appendHoverText(pStack, pContext, pTooltipComponents, pTooltipFlag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,6 @@ import net.minecraft.world.item.ItemStack;
|
|||||||
import net.minecraft.world.item.TooltipFlag;
|
import net.minecraft.world.item.TooltipFlag;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -43,12 +42,12 @@ public class Dynamite extends Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, @NotNull List<Component> pTooltipComponents, @NotNull TooltipFlag pIsAdvanced) {
|
public void appendHoverText(@NotNull ItemStack pStack, @NotNull TooltipContext pContext, @NotNull List<Component> pTooltipComponents, @NotNull TooltipFlag pTooltipFlag) {
|
||||||
String key = String.format("tooltip.%s.%s", MODID, this);
|
String key = String.format("tooltip.%s.%s", MODID, this);
|
||||||
MutableComponent toolTip = Component.translatable(key);
|
MutableComponent toolTip = Component.translatable(key);
|
||||||
if (!toolTip.getString().equals(key)) {
|
if (!toolTip.getString().equals(key)) {
|
||||||
pTooltipComponents.add(toolTip.withStyle(ChatFormatting.DARK_BLUE));
|
pTooltipComponents.add(toolTip.withStyle(ChatFormatting.DARK_BLUE));
|
||||||
super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced);
|
super.appendHoverText(pStack, pContext, pTooltipComponents, pTooltipFlag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,18 @@
|
|||||||
package com.jenny.enhancedexplosives.items;
|
package com.jenny.enhancedexplosives.items;
|
||||||
|
|
||||||
import com.jenny.enhancedexplosives.entities.arrows.baseArrow;
|
|
||||||
import com.jenny.enhancedexplosives.entities.entities;
|
import com.jenny.enhancedexplosives.entities.entities;
|
||||||
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.core.Position;
|
import net.minecraft.core.Position;
|
||||||
import net.minecraft.core.dispenser.AbstractProjectileDispenseBehavior;
|
import net.minecraft.core.dispenser.BlockSource;
|
||||||
|
import net.minecraft.core.dispenser.DefaultDispenseItemBehavior;
|
||||||
|
import net.minecraft.world.entity.Entity;
|
||||||
import net.minecraft.world.entity.EntityType;
|
import net.minecraft.world.entity.EntityType;
|
||||||
import net.minecraft.world.entity.projectile.AbstractArrow;
|
|
||||||
import net.minecraft.world.entity.projectile.Projectile;
|
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.item.ProjectileItem;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.DispenserBlock;
|
import net.minecraft.world.level.block.DispenserBlock;
|
||||||
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.eventbus.api.IEventBus;
|
import net.minecraftforge.eventbus.api.IEventBus;
|
||||||
import net.minecraftforge.registries.DeferredRegister;
|
import net.minecraftforge.registries.DeferredRegister;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
@@ -33,26 +35,38 @@ public class items {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void registerDispenser() {
|
public static void registerDispenser() {
|
||||||
class ArrowDispenseBehaviour extends AbstractProjectileDispenseBehavior {
|
class ArrowDispenseBehaviour extends DefaultDispenseItemBehavior {
|
||||||
private final EntityType<? extends baseArrow> arrowType;
|
private final ArrowAbstract.DispenseConfig dispenseConfig;
|
||||||
|
private final EntityType<? extends Entity> arrowType;
|
||||||
|
|
||||||
public ArrowDispenseBehaviour(EntityType<? extends baseArrow> arrow) {
|
public ArrowDispenseBehaviour(@NotNull ProjectileItem arrowItem, EntityType<? extends Entity> arrow) {
|
||||||
|
this.dispenseConfig = arrowItem.createDispenseConfig();
|
||||||
this.arrowType = arrow;
|
this.arrowType = arrow;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected @NotNull Projectile getProjectile(@NotNull Level pLevel, @NotNull Position pPosition, @NotNull ItemStack pStack) {
|
public @NotNull ItemStack execute(@NotNull BlockSource pBlockSource, @NotNull ItemStack pItem) {
|
||||||
baseArrow arrow = arrowType.create(pLevel);
|
Level level = pBlockSource.level();
|
||||||
assert arrow != null;
|
Direction dir = pBlockSource.state().getValue(DispenserBlock.FACING);
|
||||||
arrow.setPos(pPosition.x(), pPosition.y(), pPosition.z());
|
Position pos = this.dispenseConfig.positionFunction().getDispensePosition(pBlockSource, dir);
|
||||||
arrow.pickup = AbstractArrow.Pickup.ALLOWED;
|
|
||||||
return arrow;
|
Entity arrowEntity = arrowType.create(level);
|
||||||
|
assert arrowEntity != null;
|
||||||
|
arrowEntity.setPos(new Vec3(pos.x(), pos.y(), pos.z()));
|
||||||
|
arrowEntity.setDeltaMovement(dir.getStepX(), dir.getStepY(), dir.getStepZ());
|
||||||
|
level.addFreshEntity(arrowEntity);
|
||||||
|
pItem.shrink(1);
|
||||||
|
return pItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DispenserBlock.registerBehavior(TNT_ARROW.get(), new ArrowDispenseBehaviour(entities.ARROW_TNT.get()));
|
DispenserBlock.registerBehavior(TNT_ARROW.get(), new ArrowDispenseBehaviour(
|
||||||
DispenserBlock.registerBehavior(CONCUSSIVE_ARROW.get(), new ArrowDispenseBehaviour(entities.ARROW_CONCUSSIVE.get()));
|
(ArrowAbstract) TNT_ARROW.get(), entities.ARROW_TNT.get()));
|
||||||
DispenserBlock.registerBehavior(CARPET_ARROW.get(), new ArrowDispenseBehaviour(entities.ARROW_CARPET.get()));
|
DispenserBlock.registerBehavior(CONCUSSIVE_ARROW.get(), new ArrowDispenseBehaviour(
|
||||||
DispenserBlock.registerBehavior(TUNNEL_ARROW.get(), new ArrowDispenseBehaviour(entities.ARROW_TUNNEL.get()));
|
(ArrowAbstract) TNT_ARROW.get(), entities.ARROW_CONCUSSIVE.get()));
|
||||||
|
DispenserBlock.registerBehavior(CARPET_ARROW.get(), new ArrowDispenseBehaviour(
|
||||||
|
(ArrowAbstract) CARPET_ARROW.get(), entities.ARROW_CARPET.get()));
|
||||||
|
DispenserBlock.registerBehavior(TUNNEL_ARROW.get(), new ArrowDispenseBehaviour(
|
||||||
|
(ArrowAbstract) TUNNEL_ARROW.get(), entities.ARROW_TUNNEL.get()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -21,16 +21,4 @@ modId = "minecraft"
|
|||||||
mandatory = true
|
mandatory = true
|
||||||
versionRange = "${minecraft_version_range}"
|
versionRange = "${minecraft_version_range}"
|
||||||
ordering = "NONE"
|
ordering = "NONE"
|
||||||
side = "BOTH"
|
|
||||||
[[dependencies."${mod_id}"]]
|
|
||||||
modId = "gbook"
|
|
||||||
mandatory = false
|
|
||||||
versionRange = "[1.7.3,)"
|
|
||||||
ordering = "BEFORE"
|
|
||||||
side = "BOTH"
|
|
||||||
[[dependencies."${mod_id}"]]
|
|
||||||
modId = "patchouli"
|
|
||||||
mandatory = false
|
|
||||||
versionRange = "[1.0.6,)"
|
|
||||||
ordering = "BEFORE"
|
|
||||||
side = "BOTH"
|
side = "BOTH"
|
||||||
Reference in new issue
Block a user