This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package gamer.noir.curseenc.client.mixin;
|
||||
|
||||
import gamer.noir.curseenc.client.value.GlobalVariable;
|
||||
import gamer.noir.curseenc.data.AttachmentsServer;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.LightTexture;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
@@ -17,7 +19,7 @@ public class NightVisionMixin {
|
||||
|
||||
@ModifyVariable(method = "updateLightTexture" ,at = @At(value = "NEW", target = "(FFF)Lorg/joml/Vector3f;",ordinal = 0), ordinal = 6)
|
||||
float customNightVision(float original) {
|
||||
if (this.minecraft.player != null && this.minecraft.player.isSpectator()) {
|
||||
if (this.minecraft.player != null && GlobalVariable.nocturnal_Vision ) {
|
||||
return 1 ;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package gamer.noir.curseenc.client
|
||||
|
||||
import gamer.noir.curseenc.client.key.Keys
|
||||
import net.fabricmc.api.ClientModInitializer
|
||||
|
||||
object CurseOfEienNoChiClient : ClientModInitializer {
|
||||
override fun onInitializeClient() {
|
||||
// This entrypoint is suitable for setting up client-specific logic, such as rendering.
|
||||
Keys.initialize()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package gamer.noir.curseenc.client.key
|
||||
|
||||
import com.mojang.blaze3d.platform.InputConstants
|
||||
import gamer.noir.curseenc.CurseOfEienNoChi
|
||||
import gamer.noir.curseenc.client.value.GlobalVariable
|
||||
import gamer.noir.curseenc.data.AttachmentsServer
|
||||
import gamer.noir.curseenc.data.AttachmentsServer.Powers
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents
|
||||
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper
|
||||
import net.minecraft.client.KeyMapping
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import org.lwjgl.glfw.GLFW
|
||||
|
||||
|
||||
object Keys {
|
||||
val nocturnalVision: KeyMapping = KeyBindingHelper.registerKeyBinding(
|
||||
KeyMapping(
|
||||
"key.${CurseOfEienNoChi.MOD_ID}.nocturnal_vision", // The translation key for the key mapping.
|
||||
InputConstants.Type.KEYSYM, // // The type of the keybinding; KEYSYM for keyboard, MOUSE for mouse.
|
||||
GLFW.GLFW_KEY_N, // The GLFW keycode of the key.
|
||||
"key.${CurseOfEienNoChi.MOD_ID}.keys_category" // The category of the mapping.
|
||||
)
|
||||
)
|
||||
fun initialize() {
|
||||
ClientTickEvents.END_CLIENT_TICK.register({ client ->
|
||||
// Régler le fait que il reste activé et qu'il n'y a pas de vérification pour le désactiver quand on a plus le pouvoir
|
||||
while (nocturnalVision.consumeClick()) {
|
||||
val player = client.player
|
||||
if (player != null) {
|
||||
val power_list =player.getAttached(AttachmentsServer.Powers)
|
||||
if (power_list?.contains(ResourceLocation.fromNamespaceAndPath(CurseOfEienNoChi.MOD_ID ,"nocturnal_vision") ) == true) {
|
||||
if (GlobalVariable.nocturnal_Vision) {
|
||||
GlobalVariable.nocturnal_Vision = false
|
||||
client.player!!.sendSystemMessage(Component.literal("Nocturnal Vision disabled"))
|
||||
} else {
|
||||
GlobalVariable.nocturnal_Vision = true
|
||||
client.player!!.sendSystemMessage(Component.literal("Nocturnal Vision enabled"))
|
||||
}
|
||||
}
|
||||
else{
|
||||
if (GlobalVariable.nocturnal_Vision) {
|
||||
GlobalVariable.nocturnal_Vision = false
|
||||
client.player!!.sendSystemMessage(Component.literal("Nocturnal Vision no longer exists"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package gamer.noir.curseenc.client.value
|
||||
|
||||
object GlobalVariable {
|
||||
@JvmField
|
||||
var nocturnal_Vision = false
|
||||
}
|
||||
@@ -17,7 +17,6 @@ object CurseOfEienNoChi : ModInitializer {
|
||||
ModItems.initialize()
|
||||
Effect.initialize()
|
||||
ModCommands.initialize()
|
||||
|
||||
// This code runs as soon as Minecraft is in a mod-load-ready state.
|
||||
// However, some things (like resources) may still be uninitialized.
|
||||
// Proceed with mild caution.
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
package gamer.noir.curseenc.client
|
||||
|
||||
class AttachmentsClient {
|
||||
var Nighte_vision = true
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
package gamer.noir.curseenc.client
|
||||
|
||||
import net.fabricmc.api.ClientModInitializer
|
||||
|
||||
object FabricClient: ClientModInitializer {
|
||||
override fun onInitializeClient() {
|
||||
//nop
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package gamer.noir.curseenc.command
|
||||
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.item.Tier
|
||||
import net.minecraft.world.item.crafting.Ingredient
|
||||
|
||||
enum class Materials: Tier {
|
||||
DaggerSacrificialMaterial {
|
||||
override fun getUses(): Int {
|
||||
return 300
|
||||
}
|
||||
override fun getAttackDamageBonus(): Float {
|
||||
return 1.5f
|
||||
}
|
||||
override fun getRepairIngredient(): Ingredient {
|
||||
return Ingredient.of(Items.IRON_INGOT)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -90,7 +90,7 @@ object ModCommands {
|
||||
|
||||
|
||||
val argument_power = Commands.argument("Power", StringArgumentType.string()).suggests { context, builder ->
|
||||
builder.suggest("night_vision")
|
||||
builder.suggest("nocturnal_vision")
|
||||
.suggest("hyper_speed")
|
||||
.suggest("bat_mod")
|
||||
.suggest("...")
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package gamer.noir.curseenc.command
|
||||
|
||||
import net.minecraft.world.item.Item
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.item.Items.registerItem
|
||||
|
||||
class SacrificialDagger: Item {
|
||||
val dageur:Item = registerItem()
|
||||
}
|
||||
@@ -2,19 +2,19 @@ package gamer.noir.curseenc.item
|
||||
|
||||
import gamer.noir.curseenc.CurseOfEienNoChi
|
||||
import gamer.noir.curseenc.effect.Effect
|
||||
import gamer.noir.curseenc.effect.GarlicStatus
|
||||
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroupEntries
|
||||
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents
|
||||
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents.ModifyEntries
|
||||
import net.minecraft.core.Registry
|
||||
import net.minecraft.core.registries.BuiltInRegistries
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.world.effect.MobEffect
|
||||
import net.minecraft.world.effect.MobEffectInstance
|
||||
import net.minecraft.world.effect.MobEffects
|
||||
import net.minecraft.world.food.FoodProperties
|
||||
import net.minecraft.world.item.CreativeModeTabs
|
||||
import net.minecraft.world.item.Item
|
||||
import net.minecraft.world.item.SwordItem
|
||||
|
||||
|
||||
|
||||
|
||||
object ModItems {
|
||||
@@ -28,22 +28,27 @@ object ModItems {
|
||||
// Return the registered item!
|
||||
return registeredItem
|
||||
}
|
||||
|
||||
val GARLIC_FOOD: FoodProperties = FoodProperties.Builder()
|
||||
.alwaysEdible()
|
||||
.effect(MobEffectInstance(Effect.GARLIC_STATUS, 6 * 20, 0), 1.0f)
|
||||
.build()
|
||||
|
||||
|
||||
val GARLIC: Item = register(
|
||||
Item(Item.Properties().food(GARLIC_FOOD)),
|
||||
"garlic"
|
||||
)
|
||||
val SACRIFICIAL_DAGGER: Item = register(
|
||||
SwordItem(Test.INSTANCE,
|
||||
Item.Properties()),
|
||||
"sacrificial_dagger"
|
||||
)
|
||||
|
||||
fun initialize() {
|
||||
ItemGroupEvents.modifyEntriesEvent(CreativeModeTabs.INGREDIENTS)
|
||||
.register(ModifyEntries { entries: FabricItemGroupEntries ->
|
||||
entries.accept(GARLIC)
|
||||
|
||||
entries.accept(SACRIFICIAL_DAGGER)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
{
|
||||
"item.curseenc.garlic": "Garlic",
|
||||
"item.curseenc.sacrificial_dagger": "Sacrificial D agger",
|
||||
|
||||
"effect.curseenc.garlic_status": "Garlic Status",
|
||||
|
||||
"effect.curseenc.garlic_status": "Garlic Status"
|
||||
"key.curseenc.keys_category": "Curse Of Eien No Chi",
|
||||
"key.curseenc.nocturnal_vision": "Nocturnal Vision"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "curseenc:item/sacrificial_dagger"
|
||||
},
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [45, 90, 0],
|
||||
"translation": [ 0, 2.5, 0.5 ],
|
||||
"scale": [ 0.68, 0.68, 0.68 ]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [35, 90, 0],
|
||||
"translation": [ 0, 4, 1.75 ],
|
||||
"scale": [ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [35, -90, 0],
|
||||
"translation": [ 0, 4, 1.75 ],
|
||||
"scale": [ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [45, -90, 0],
|
||||
"translation": [ 0, 2.5, 0.5 ],
|
||||
"scale": [ 0.68, 0.68, 0.68 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 270 B After Width: | Height: | Size: 270 B |
Binary file not shown.
|
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 266 B |
Binary file not shown.
|
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 432 B |
Reference in New Issue
Block a user